diff options
| author | Po Lu | 2022-04-09 08:41:00 +0800 |
|---|---|---|
| committer | Po Lu | 2022-04-09 08:41:00 +0800 |
| commit | bb7623b9bee14bf428accc5b8cc88fa34fd9c9a2 (patch) | |
| tree | 3b0bc1a2e122065ee8f4191de436fb3baa2dc434 /src | |
| parent | 0b16e4e1f1b9e6de16aa613b1b363d76b1023766 (diff) | |
| download | emacs-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.c | 14 |
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 | ||
| 4247 | void | 4250 | void |
| @@ -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 | ||
| 4276 | static const cairo_user_data_key_t xlib_surface_key, saved_drawable_key; | 4282 | static const cairo_user_data_key_t xlib_surface_key, saved_drawable_key; |