378de871584d1a2772917bd53ad1e41c7f92be4f kent Wed Feb 13 11:35:04 2013 -0800 Adding transparency setting to wigCart. diff --git src/hg/hgTracks/wigTrack.c src/hg/hgTracks/wigTrack.c index af1ed53..f11dabb 100644 --- src/hg/hgTracks/wigTrack.c +++ src/hg/hgTracks/wigTrack.c @@ -1116,31 +1116,32 @@ } hashElFreeList(&elList); /* There may not be a span of 1, use whatever is lowest */ if (minimalSpan > usingDataSpan) usingDataSpan = minimalSpan; return usingDataSpan; } void wigDrawPredraw(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg, int xOff, int yOff, int width, MgFont *font, Color color, enum trackVisibility vis, struct preDrawContainer *preDrawList, int preDrawZero, int preDrawSize, double *retGraphUpperLimit, double *retGraphLowerLimit) -/* Draw once we've figured out predraw... */ +/* Draw once we've figured out predraw (numerical values to graph) we draw it here. + * This code is shared by wig, bigWig, and bedGraph drawers. */ { enum wiggleYLineMarkEnum yLineOnOff; double yLineMark; /* determined from data */ double overallUpperLimit = wigEncodeStartingUpperLimit; double overallLowerLimit = wigEncodeStartingLowerLimit; double overallRange=0; /* determined from data */ double graphUpperLimit=0; /* scaling choice will set these */ double graphLowerLimit=0; /* scaling choice will set these */ double graphRange=0; /* scaling choice will set these */ double epsilon; /* range of data in one pixel */ Color *colorArray = NULL; /* Array of pixels to be drawn. */ struct wigCartOptions *wigCart = (struct wigCartOptions *) tg->extraUiData; @@ -1611,31 +1612,34 @@ wigCart->maxHeight = maxHeight; wigCart->defaultHeight = defaultHeight; wigCart->minHeight = minHeight; wigFetchMinMaxYWithCart(cart,tdb,tdb->track, &wigCart->minY, &wigCart->maxY, NULL, NULL, wordCount, words); wigCart->colorTrack = trackDbSetting(tdb, "wigColorBy"); char *containerType = trackDbSetting(tdb, "container"); if (containerType != NULL && sameString(containerType, "multiWig")) wigCart->isMultiWig = TRUE; char *aggregate = wigFetchAggregateValWithCart(cart, tdb); if (aggregate != NULL) + { wigCart->overlay = wigIsOverlayTypeAggregate(aggregate); + wigCart->transparent = sameString(WIG_AGGREGATE_TRANSPARENT, aggregate); + } return wigCart; } /* Make track group for wig multiple alignment. * WARNING ! - track->visibility is merely the default value * from the trackDb entry at this time. It will be set after this * by hgTracks from its cart UI setting. When called in * TotalHeight it will then be the requested visibility. */ void wigMethods(struct track *track, struct trackDb *tdb, int wordCount, char *words[]) { struct wigCartOptions *wigCart = wigCartOptionsNew(cart, tdb, wordCount, words); track->minRange = wigCart->minY; track->maxRange = wigCart->maxY;