office-gobmx/drawinglayer/source
Armin Le Grand (allotropia) a57c9e1aca CairoSDPR: Support direct RGBA for convertToBitmapEx
Added general interfaces to be able to render directly
to an RGBA target SDPR:

- processor2d::createPixelProcessor2DFromScratch creates
  a target-SDPR with given pixel size and RGB or RGBA,
  owning and using a cairo surface internally
- processor2d::extractBitmapExFromBaseProcessor2D extracts
  rendered content to BitmapEx, including alpha

All this is currently only implemented for Ciaro, thus
the internal impls are encapsulated by USE_HEADLESS_CODE,
but already created gererally available. The return values
have to be checked to see if an evtl. shortcut is possible.

For convertToBitmapEx this means that it can do conversions
much faster than up to now for cairo when CairoSDPR is
available, else it has to to the older slower way that
also works and is the default: Create RGB content, create
Mask, RemoveBlendedStartColor (see convertToBitmapEx
implementation). This works and has the same quality,
but needs two renderings and one bitmap operation, thus
is clearly slower.

Note that these interfaces can and will be supported for
other SDPR implementations in the future, thus will make
this converter automatically faster on systems where we
will have a SDPR in the future, too.

Also note that this is the gereral converter from
a sequence of Primitives to Bitmap data, already used in
many places, inculding UNO API, thus is expected to have
some impact on conversion efficiency - if Cairo is used,
so e.g. also headless.

Change-Id: Ia638a549a04b19622892d91651317ec6727b6cd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174266
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins
2024-10-01 11:14:14 +02:00
..
animation
attribute tdf#161724: Revert "tdf#153008 svx: impl crop for stretched bitmap fill" 2024-09-05 16:17:57 +02:00
drawinglayeruno
dumper
geometry
primitive2d tdf#160084 Simplify comparison for basegfx::fTools 2024-09-16 06:59:43 +02:00
primitive3d Fix wrong / misleading uses of fTools::(more|less|equal) with literal 0 2024-08-02 11:31:00 +02:00
processor2d CairoSDPR: Support direct RGBA for convertToBitmapEx 2024-10-01 11:14:14 +02:00
processor3d cid#1557618 COPY_INSTEAD_OF_MOVE 2024-08-16 09:30:37 +02:00
texture cid#1554812 COPY_INSTEAD_OF_MOVE 2024-07-29 14:50:38 +02:00
tools CairoSDPR: Support direct RGBA for convertToBitmapEx 2024-10-01 11:14:14 +02:00