summaryrefslogtreecommitdiffstats
path: root/tksao/frame
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-03-25 19:11:00 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-03-25 19:11:00 (GMT)
commit35d8bbfc101df1dd49bd3945d075fffb9fba7663 (patch)
tree415b7ea138b8118f6b9c184d037cf322e2538088 /tksao/frame
parent947a9c9e07cad7a318b7b8bfd667d2f786056830 (diff)
downloadblt-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.C63
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();