diff options
Diffstat (limited to 'src/glibext')
-rw-r--r-- | src/glibext/gbuffersegment.c | 8 | ||||
-rw-r--r-- | src/glibext/gcodebuffer.c | 1 |
2 files changed, 6 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); } diff --git a/src/glibext/gcodebuffer.c b/src/glibext/gcodebuffer.c index 914a3d5..70064e3 100644 --- a/src/glibext/gcodebuffer.c +++ b/src/glibext/gcodebuffer.c @@ -1381,6 +1381,7 @@ void g_buffer_view_draw(const GBufferView *view, const GdkEventExpose *event, Gd cairo = gdk_cairo_create(event->window); gdk_cairo_region(cairo, event->region); + cairo_clip(cairo); real_x = fake_x + view->left_text; real_y = fake_y + event->area.y; |