summaryrefslogtreecommitdiff
path: root/src/glibext/gbuffersegment.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2013-06-09 23:01:31 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2013-06-09 23:01:31 (GMT)
commitaed45245289e3e16d421aa6154dcb803e86addaa (patch)
tree4c55410d7b46cb108c7ef9c69cac88644ef97f48 /src/glibext/gbuffersegment.c
parented59530ca0cc8e4cf03ea8328122bb3d279840a9 (diff)
Fixed a bug when drawing carets at high addresses.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@352 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/glibext/gbuffersegment.c')
-rw-r--r--src/glibext/gbuffersegment.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/glibext/gbuffersegment.c b/src/glibext/gbuffersegment.c
index 031075c..31f1840 100644
--- a/src/glibext/gbuffersegment.c
+++ b/src/glibext/gbuffersegment.c
@@ -593,9 +593,9 @@ void g_buffer_segment_set_style(GBufferSegment *segment, SegRenderingStyle style
case SRS_HIGHLIGHT_SAME:
- segment->cache_bg.red = 0;
- segment->cache_bg.green = 0;
- segment->cache_bg.blue = 65535;
+ segment->cache_bg.red = 32768;
+ segment->cache_bg.green = 32768;
+ segment->cache_bg.blue = 32768;
segment->cache_alt_fg.red = 65535 - segment->cache_fg.red;
segment->cache_alt_fg.green = 65535 - segment->cache_fg.green;
@@ -643,7 +643,9 @@ void g_buffer_segment_draw(GBufferSegment *segment, cairo_t *cairo, GFontCache *
segment->cache_bg.blue / 65535.0);
cairo_rectangle(cairo, *x, y, segment->logical.width, segment->logical.height);
+ cairo_set_operator(cairo, CAIRO_OPERATOR_DIFFERENCE);
cairo_fill(cairo);
+ cairo_set_operator(cairo, CAIRO_OPERATOR_OVER);
}