diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-10-09 17:42:55 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-10-09 17:43:06 +0200 |
| commit | 1a5d6572e9a699699fba3e9eb5ebbcb18f04994c (patch) | |
| tree | 3276a99aa75608ee3611bda65daf773c829003d2 /src | |
| parent | 4d17cf310dc953703bf3a60763b681eb217bc3e9 (diff) | |
Fix issue #510: image transparency is not properly processed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index ebe7c515a..48c6120c6 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -778,7 +778,8 @@ void Fl_Cairo_Graphics_Driver::draw_cached_pattern_(Fl_Image *img, cairo_pattern cairo_matrix_init_scale(&matrix, double(img->data_w())/Ws, double(img->data_h())/Hs); cairo_matrix_translate(&matrix, -Xs + offset, -Ys + offset); cairo_pattern_set_matrix(pat, &matrix); - cairo_mask(cairo_, pat); + if (img->d() >= 1) cairo_paint(cairo_); + else cairo_mask(cairo_, pat); cairo_restore(cairo_); surface_needs_commit(); } |
