cairo/src/win32
Vasily Galkin 884275c3ab win32: Introduce new flag to mark surfaces that support solid brush drawing
This is part of a patch series to speed up CAIRO_OPERATOR_SOURCE when
used to copy data to an argb32 cairo surface corresponding to a win32 dc
from a "backbuffer" - DibSection-based cairo surface created with
cairo_surface_create_similar().

This initial patch presents only private header changes without changing
any implementation logic.

The big problem with argb32 surfaces and GDI is that GDI is unable to
correctly set the alpha channel when using operations other than BitBlt
and AlphaBlend.

To solve this, a CAIRO_WIN32_SURFACE_CAN_RGB_BRUSH flag is introduced in
this commit to be mark surfaces that correctly handle such brushes
- essentially all surface types except argb32.
The _cairo_win32_flags_for_dc() call receives a new argument that is
used to calculate the flag.
2018-05-31 17:24:50 -07:00
..
cairo-win32-debug.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-win32-device.c win32: Introduce new flag to mark surfaces that support solid brush drawing 2018-05-31 17:24:50 -07:00
cairo-win32-display-surface.c win32: Introduce new flag to mark surfaces that support solid brush drawing 2018-05-31 17:24:50 -07:00
cairo-win32-font.c Use _cairo_malloc instead of malloc 2018-05-07 16:35:51 -07:00
cairo-win32-gdi-compositor.c Surround initialisations with atomic critical section 2017-10-15 18:51:04 +10:30
cairo-win32-printing-surface.c win32: Introduce new flag to mark surfaces that support solid brush drawing 2018-05-31 17:24:50 -07:00
cairo-win32-private.h win32: Introduce new flag to mark surfaces that support solid brush drawing 2018-05-31 17:24:50 -07:00
cairo-win32-surface.c Add CAIRO_STATUS_WIN32_GDI_ERROR for GDI errors 2016-03-26 22:18:05 +10:30
cairo-win32-system.c win32: Rebase on the new compositor infrastructure 2012-02-15 14:37:11 +00:00