aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-04-09 08:41:00 +0800
committerPo Lu2022-04-09 08:41:00 +0800
commitbb7623b9bee14bf428accc5b8cc88fa34fd9c9a2 (patch)
tree3b0bc1a2e122065ee8f4191de436fb3baa2dc434 /src
parent0b16e4e1f1b9e6de16aa613b1b363d76b1023766 (diff)
downloademacs-bb7623b9bee14bf428accc5b8cc88fa34fd9c9a2.tar.gz
emacs-bb7623b9bee14bf428accc5b8cc88fa34fd9c9a2.zip
Fix subpixel AA with alpha-background on Cairo on X
* xterm.c (x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background): Set operator back to OVER if alpha-background isn't to be respected.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/xterm.c b/src/xterm.c
index dc06df246c4..da671731863 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4240,8 +4240,11 @@ x_set_cr_source_with_gc_foreground (struct frame *f, GC gc,
4240 cairo_set_operator (FRAME_CR_CONTEXT (f), CAIRO_OPERATOR_SOURCE); 4240 cairo_set_operator (FRAME_CR_CONTEXT (f), CAIRO_OPERATOR_SOURCE);
4241 } 4241 }
4242 else 4242 else
4243 cairo_set_source_rgb (FRAME_CR_CONTEXT (f), color.red / 65535.0, 4243 {
4244 color.green / 65535.0, color.blue / 65535.0); 4244 cairo_set_source_rgb (FRAME_CR_CONTEXT (f), color.red / 65535.0,
4245 color.green / 65535.0, color.blue / 65535.0);
4246 cairo_set_operator (FRAME_CR_CONTEXT (f), CAIRO_OPERATOR_OVER);
4247 }
4245} 4248}
4246 4249
4247void 4250void
@@ -4269,8 +4272,11 @@ x_set_cr_source_with_gc_background (struct frame *f, GC gc,
4269 cairo_set_operator (FRAME_CR_CONTEXT (f), CAIRO_OPERATOR_SOURCE); 4272 cairo_set_operator (FRAME_CR_CONTEXT (f), CAIRO_OPERATOR_SOURCE);
4270 } 4273 }
4271 else 4274 else
4272 cairo_set_source_rgb (FRAME_CR_CONTEXT (f), color.red / 65535.0, 4275 {
4273 color.green / 65535.0, color.blue / 65535.0); 4276 cairo_set_source_rgb (FRAME_CR_CONTEXT (f), color.red / 65535.0,
4277 color.green / 65535.0, color.blue / 65535.0);
4278 cairo_set_operator (FRAME_CR_CONTEXT (f), CAIRO_OPERATOR_OVER);
4279 }
4274} 4280}
4275 4281
4276static const cairo_user_data_key_t xlib_surface_key, saved_drawable_key; 4282static const cairo_user_data_key_t xlib_surface_key, saved_drawable_key;