595a77309470e686fcc507601793ce6ddc5f47da larrym Fri Sep 16 15:40:49 2011 -0700 show assembly and position by default diff --git src/hg/hgTracks/renderMain.c src/hg/hgTracks/renderMain.c index bdb3486..37ea581 100644 --- src/hg/hgTracks/renderMain.c +++ src/hg/hgTracks/renderMain.c @@ -107,43 +107,53 @@ { if(argc == 1) { // CGI call // htmlPushEarlyHandlers(); XXXX do I need to do this? hPrintDisable(); oldVars = hashNew(10); struct cart *cart = cartForSession(hUserCookie(), excludeVars, oldVars); // setup approriate CGI variables which tell hgTracks code what to do. cartSetBoolean(cart, "hgt.trackImgOnly", TRUE); if(cartVarExists(cart, "jsonp")) { + // experimental code to support remote rendering via a jsonp callback + // e.g.: /cgi-bin/hgRenderTracks?track=bamMMS9MbutiPygmy&track=...&jsonp=remoteTrackCallback&postion=...&pix=800 cartSetString(cart, "hgt.contentType", "jsonp"); cartSetString(cart, "hgt.trackNameFilter", cartString(cart, "track")); + cartSetString(cart, cartString(cart, "track"), cartUsualString(cart, "vis", "pack")); } else { + // remote rendering of hgTracks PNG image based on contents of a session; caller may pass in a subset of + // hgTracks parameters: e.g. db, hgsid, pix, position and tracks with explicit visibilities (e.g. knownGene=pack). + cartSetString(cart, "hgt.contentType", "png"); cartSetBoolean(cart, "hgt.imageV1", TRUE); + if(!cartVarExists(cart, "hgt.baseShowAsm")) + cartSetBoolean(cart, "hgt.baseShowAsm", TRUE); + if(!cartVarExists(cart, "hgt.baseShowPos")) + cartSetBoolean(cart, "hgt.baseShowPos", TRUE); } doMiddle(cart); } else { - // XXXX remove this code ... well, maybe not - this still might be useful for a stand-alone renderer. + // XXXX remove this code ... well, maybe not - this still might be useful for a stand-alone remote renderer. // command line call /* Set up some timing since we're trying to optimize things very often. */ long enteredMainTime = clock1000(); verboseTimeInit(); /* Push very early error handling - this is just * for the benefit of the cgiVarExists, which * somehow can't be moved effectively into doMiddle. */ // htmlPushEarlyHandlers(); /* Set up cgi vars from command line. */ // cgiSpoof(&argc, argv); optionInit(&argc, argv, options);