From 35d8bbfc101df1dd49bd3945d075fffb9fba7663 Mon Sep 17 00:00:00 2001 From: William Joye Date: Sat, 25 Mar 2017 15:11:00 -0400 Subject: fix order of rendering if marker filled --- tksao/frame/base.C | 63 ++++++++++++++++++++++++++++++++---------------------- 1 file 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(); -- cgit v0.12