diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-03-25 19:11:00 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-03-25 19:11:00 (GMT) |
commit | 35d8bbfc101df1dd49bd3945d075fffb9fba7663 (patch) | |
tree | 415b7ea138b8118f6b9c184d037cf322e2538088 /tksao/frame | |
parent | 947a9c9e07cad7a318b7b8bfd667d2f786056830 (diff) | |
download | blt-35d8bbfc101df1dd49bd3945d075fffb9fba7663.zip blt-35d8bbfc101df1dd49bd3945d075fffb9fba7663.tar.gz blt-35d8bbfc101df1dd49bd3945d075fffb9fba7663.tar.bz2 |
fix order of rendering if marker filled
Diffstat (limited to 'tksao/frame')
-rw-r--r-- | tksao/frame/base.C | 63 |
1 files changed, 38 insertions, 25 deletions
diff --git a/tksao/frame/base.C b/tksao/frame/base.C index d981b9c..1478631 100644 --- a/tksao/frame/base.C +++ b/tksao/frame/base.C @@ -1069,9 +1069,7 @@ int Base::postscriptProc(int prepass) switch (psColorSpace) { case BW: case GRAY: - if (grid) - grid->ps(GRAY); - + // needs to before markers if marker is filled currentContext->contourPS(GRAY); if (showMarkers) { @@ -1080,15 +1078,17 @@ int Base::postscriptProc(int prepass) } // psMarkers(&analysisMarkers, GRAY); + // needs to be after markers if marker is filled + if (grid) + grid->ps(GRAY); + psCrosshair(GRAY); psGraphics(GRAY); break; case RGB: case CMYK: - if (grid) - grid->ps(RGB); - + // needs to before markers if marker is filled currentContext->contourPS(RGB); if (showMarkers) { @@ -1097,6 +1097,10 @@ int Base::postscriptProc(int prepass) } // psMarkers(&analysisMarkers, RGB); + // needs to be after markers if marker is filled + if (grid) + grid->ps(RGB); + psCrosshair(RGB); psGraphics(RGB); @@ -1105,9 +1109,7 @@ int Base::postscriptProc(int prepass) break; case 2: case 3: - if (grid) - grid->ps(psColorSpace); - + // needs to before markers if marker is filled currentContext->contourPS(psColorSpace); if (showMarkers) { @@ -1116,6 +1118,10 @@ int Base::postscriptProc(int prepass) } // psMarkers(&analysisMarkers, psColorSpace); + // needs to be after markers if marker is filled + if (grid) + grid->ps(psColorSpace); + psCrosshair(psColorSpace); psGraphics(psColorSpace); @@ -1707,6 +1713,11 @@ void Base::updateMagnifier(const Vector& vv) bb.bound(ll); bb.bound(ur); + // render contours + // needs to before markers if marker is filled + currentContext->contourX11(magnifierPixmap, Coord::MAGNIFIER, + magnifierWidth, magnifierHeight); + if (showMarkers) { x11MagnifierMarkers(&userMarkers, bb); x11MagnifierMarkers(&catalogMarkers, bb); @@ -1717,10 +1728,6 @@ void Base::updateMagnifier(const Vector& vv) if (useCrosshair) x11Crosshair(magnifierPixmap, Coord::MAGNIFIER, magnifierWidth, magnifierHeight); - - // render contours - currentContext->contourX11(magnifierPixmap, Coord::MAGNIFIER, - magnifierWidth, magnifierHeight); } // render cursor @@ -1947,11 +1954,8 @@ void Base::updatePM(const BBox& bbox) XCopyArea(display, basePixmap, pixmap, widgetGC, x0, y0, sx, sy, x0, y0); } - // grid - if (grid) - grid->x11(); - // contours + // needs to before markers if marker is filled currentContext->contourX11(pixmap, Coord::WIDGET, options->width, options->height); @@ -1962,6 +1966,11 @@ void Base::updatePM(const BBox& bbox) } // x11Markers(&analysisMarkers, bbox); + // grid + // needs to be after markers if marker is filled + if (grid) + grid->x11(); + // crosshair x11Crosshair(pixmap, Coord::WIDGET, options->width, options->height); @@ -2129,11 +2138,8 @@ void Base::macosxPrintCmd() // image macosx(); - // grid - if (grid) - grid->macosx(); - // contours + // needs to before markers if marker is filled currentContext->contourMacOSX(); // markers @@ -2143,6 +2149,11 @@ void Base::macosxPrintCmd() } // macosxMarkers(&analysisMarkers); + // grid + // needs to be after markers if marker is filled + if (grid) + grid->macosx(); + macosxCrosshair(); macosxGraphics(); @@ -2249,11 +2260,8 @@ void Base::win32PrintCmd() // image win32(); - // grid - if (grid) - grid->win32(); - // contours + // needs to before markers if marker is filled currentContext->contourWin32(); // markers @@ -2263,6 +2271,11 @@ void Base::win32PrintCmd() } // win32Markers(&analysisMarkers); + // grid + // needs to be after markers if marker is filled + if (grid) + grid->win32(); + win32Crosshair(); win32Graphics(); |