Commit Graph
984 Commits
Author SHA1 Message Date
Khaled Hosny 8672c952eb tdf#171624: Carry font variations through drawinglayer text primitives
Change-Id: I6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203248
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-04-06 17:13:36 +02:00
Jaume Pujantell 59f7c0491a tdf#150076 embed background pdf
When exporting to PDF a document with a background image on the page.
The image would always be exported as a bitmap at a fix resolution, even
if the original data had vector form (like a pdf or svg).

This ensures that the original vector data is also exported as it is
done with regularly inserted images.

Change-Id: I7f363614ba375e01a4b076c961ce91dae8c2351b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202994
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2026-03-31 17:33:57 +02:00
Noel Grandin e77b23fa1c Fraction->double in MapMode
Change-Id: I865fe1c2b0377eebda6f9f19e163928cbe7c9056
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202631
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-26 13:23:37 +01:00
Samuel Mehrbrodt ef27cc1b4a tdf#168135 Disable antialiasing between text background rectangles
to prevent a visible seam between different text portions.

Change-Id: Ia48866dde05f050f3a6cb9642b647714e4adeab5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201052
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201546
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
Tested-by: Jenkins
2026-03-13 08:46:30 +01:00
Samuel Mehrbrodt 334953fa65 tdf#168135 Trim trailing whitespace before calculating highlight rect
Otherwise we get some weird beige boxes when there is trailing whitespace

Change-Id: I62660dcd808b191782704675e52e0f8cd2b0b53c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201050
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201544
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2026-03-13 08:46:07 +01:00
Samuel Mehrbrodt 341a1e34a6 tdf#168135 Fix text highlight for superscript/subscript
Text highlight for superscript/subscript now has the same size
as 'normal' text

Change-Id: If2bce2abd1cc1188f542a7de8c7b55d27c2cecc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201010
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201543
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
Tested-by: Jenkins
2026-03-13 08:45:54 +01:00
Khaled Hosny 5825e9cfdb tdf#153368: Support optical size for variable fonts, part 8
Channel optical sizing option through drawing layer, otherwise it
doesn’t work in Draw/Impress.

Change-Id: I96cd3177dcf816b5c1e065663d4a8c90f187704f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200765
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-03-02 21:46:13 +01:00
Gabor Kelemen eb087d25b3 tdf#146619 Use more forward declarations in include/drawinglayer
Change-Id: I5911dfb1cfc2bfd291758334b69123cfbce559a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199387
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-22 12:08:33 +01:00
Noel Grandin 3eb70aae77 tdf#168696 speed up hit testing a little on polygons
Change-Id: I45235d61c459179eeb94c2441013cf0588e0f2a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198406
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-31 08:50:22 +01:00
Mike Kaganski a6e0ba8386 Use some more IID_PPV_ARGS_Helper to avoid reinterpret_cast
It was already used in commits like e2bfc34d14
(Reimplement OleComponentNative_Impl to use IGlobalInterfaceTable, 2024-03-11).

Change-Id: I8fd60d8eab3ce2d16bfd6766b7fcdcb8b0b182ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198041
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-01-24 16:24:54 +01:00
Mike Kaganski 36f7e34baa Simplify some usages of COMReference
Use less IUnknown::QueryInterface, and more COMReference::QueryInterface.
No need to use COMReference default ctor in member initializers.

Change-Id: I28cd07d16dc294d598580f353a4ec7efe82bc480
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198040
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2026-01-24 16:09:19 +01:00
Gabor Kelemen 49cb3077fb tdf#146619 Use more forward declarations in include/vcl/outdev.hxx
these were skipped in previous runs, since they contain some code behind #if

After inspecting these, it seems like the removals should not cause trouble.

This also shaves off some 140M input

Change-Id: Ie1f57174dd6fec3ba5b0b91eb0688acdc1a8143d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197494
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-23 21:27:08 +01:00
shark adf4a8a509 tdf#158067 converted OStringLiterals to custom OString literals
Change-Id: Ia665466b45049485567eb73b0176ea767ae356fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197416
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2026-01-16 14:37:52 +01:00
Gabor Kelemen 47fe1cce1b tdf#146619 Use more forward declarations in include/vcl/[h-p]*
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[n-p]*

Change-Id: If6436f3ef8300693c3869c2521e2fa2aa8a4edc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196397
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-14 10:19:31 +01:00
Tor Lillqvist 2119f7fa5a Build fix for Windows in an --enable-headless build, i.e. CODA-W
No need to look up a cairo function dynamically as we know that in
Windows we are using a cairo we build ourselves so we can be sure that
it is has what we want.

There is a TEXT() macro in winnt.h, and we use that (indirectly)
elsewhere, so we can't just undefine it in postwin.h. Thus we can't
initialise a variable calld TEXT using parentheses.

Check USE_HEADLESS_CODE before checking _WIN32 to get the former code
in the CODA-W case and the latter otherwise for Windows.

Change-Id: I8987e3b33d51ea232f8262413d17a50910d8e7b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197007
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@iki.fi>
2026-01-11 22:55:17 +01:00
Gabor Kelemen b63115f3fa tdf#146619 Use more forward declarations in include/vcl/[d-g]*
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[d-g]*

This shaves off about 150M input

Change-Id: I2b15257451d4b392dca3e5d07f4a443ee653b04c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196395
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-11 21:38:37 +01:00
Tomaž Vajngerl 959decdcda basegfx: BColorStops shouldn't derive from std::vector
Change-Id: I9f246c0d9a5ddc7f8cf428bf7fc8c8957e8584b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158710
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
2025-12-08 13:40:28 +01:00
Daniel 9b4cb94128 tdf#114441 Replace sal_uInt64 with tools::Long
aSquare and aCandidateSquare are filled with the output from
GetOutputWidthPixel() and GetOutputHeightPixel(), which both return a
value of type tools::Long. Replaced the use of sal_uLong for aSquare and
aCandidateSquare with tools::Long to match. This is a follow-up patch
that fixes the incorrect use of sal_uInt64 from a previous patch.

Change-Id: I402c9ed6a949f64217b0833b513bf92b1593d62c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195038
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-12-05 05:45:03 +01:00
Daniel b5ce576453 tdf#114441 Replace sal_uLong with sal_uInt64
GetOutputWidthPixel() and GetOutputHeightPixel() both return a value of
type tools::Long, representing an offset width and height in pixels.
Since aSquare and aCandidateSquare multiply these values, it seems
reasonable to use sal_uInt64 here just in case of larger displays.

Change-Id: Idacf8e7c43e884b72699ee1d521d1e0dbf4715a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194942
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
2025-12-03 10:52:53 +01:00
Caolán McNamara 8e764204b4 tdf#158036 Incorrect positioning of rotated SVG text when padding is applied
this path is no longer the default for gtk3 where the SDPR renderer is
the default so there:

export DISABLE_SYSTEM_DEPENDENT_PRIMITIVE_RENDERER=1

is needed, though it is still the default for the gen backend, so that
can be used too

Change-Id: If64b7805ee4987ceab5af99decdf755280270e02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194079
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-11-18 12:16:40 +01:00
Noel Grandin 074bdd6962 tdf#168721 Fade in animation on grouped shapes not shown
There is definitely a better fix for this, we should not need two
different bitmaps and masking and stuff, but this will fix the problem for now.

Mostly revert the following commits:

commit 7278030b92
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date:   Mon Sep 15 16:26:25 2025 +0200
remove unused DrawModeFlags

commit 581c52dad2
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date:   Wed Sep 10 15:08:04 2025 +0200
BitmapAlphaClampFilter is dead since

commit e7b460f919
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date:   Sat Aug 30 15:23:11 2025 +0200
BitmapEx->Bitmap in canvas

Change-Id: Ic5747ce6143a8320f977111c7635bf736a9996d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193873
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-11-13 06:57:13 +01:00
Christopher Sherlock e3ea978616 vcl: remove OutputDevice::DrawBitmapEx()
This also streamlines DrawBitmapWallpaper()

Change-Id: I694667147319ba9d235348068ed8fc811447fae5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190898
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-11-11 07:16:00 +01:00
Armin Le Grand (allotropia) d2accdad4b reduce memory usage when rendering cairo-backed Bitmaps
Change-Id: I1353e8fb044203b377c2a1f17767f690a9796367
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184301
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-10-25 09:30:35 +02:00
Noel Grandin 2fab731ec2 crashtesting fdo62899-1.svg
after
    commit 5707b5dce7
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Tue Oct 14 15:53:59 2025 +0200
    tdf#101083 speed up SVG rendering with pattern fill (2)

Apparently mpTargetOutputDevice is nullptr when run on the crashtesting machine, but I dont see that on my machine.

Change-Id: Ic281e2245524f330002f10d5271c3075fdfc1ab1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192908
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-23 18:47:00 +02:00
Christopher Sherlock 500442846f vcl: move PDFWriter into vcl::pdf namespace
Change-Id: If2ceabafc72ed1d719876778de3d48511203e045
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192287
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-10-23 06:53:27 +02:00
Noel Grandin 40e5bc6e68 lets have just one getB2DRange function/method
Change-Id: I5081abca177c6fb8bd21d971d93dc115d57de294
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192589
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-10-19 12:13:53 +02:00
Noel Grandin f5b8ec6b3f tdf#168730 impBufferDevice and caller should have the same mask rect
VclPixelProcessor2D::processPatternFillPrimitive2D and
impBufferDevice were independently calculating the mask rect in
different ways. So move the calculation to the callers.

This only fixed a tiny part of the problems in this bugreport,
it just helps with off-by-one at zoom levels.

Change-Id: I933f5271e31ba79794951a6b1f469fc28094d0a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192572
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-10-18 10:52:29 +02:00
Noel Grandin baee03e387 optimise processPatternFillPrimitive2D a little
we can skip the intermediate impBufferDevice if we are doing a flood fill

Change-Id: Ia37251d362ad6421ae0beb7ae1cf1f25d293b851
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192431
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-10-15 18:47:51 +02:00
Noel Grandin 5707b5dce7 tdf#101083 speed up SVG rendering with pattern fill (2)
This is the same thing I did in

    commit 3cbe3a0259
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Mon Jun 14 15:05:59 2021 +0200
    tdf#101083 speed up SVG rendering with pattern fill

but cut and paste from the VclPixelProcessor2D to the CairoPixelProcessor2D code.

Which makes this SVG render in reasonable time when using the cairo backend.

We can probably do even better by cutting out the usage of VCL here, but this
is good enough for now.

Change-Id: I959539741eef627b25702c91cad3e5f8ee2b3176
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192394
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-10-15 10:38:31 +02:00
Christopher Sherlock c4c93d1a3e vcl: pdfwriter_impl1.cxx and pdfwriter_impl2.cxx from gdi/ to pdf/ directory
Update clang plugin.

Change-Id: I0d862e8c08ef829d4f452108fec6176532af3ecb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190712
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2025-09-29 09:36:45 +02:00
Khaled Hosny 1bdf1e2d52 tdf#168371: Disable ligatures in Impress/Draw with character spacing
This is follow up to commit:

commit b9f0caad5d
Author: Khaled Hosny <khaled@aliftype.com>
Date:   Tue Aug 23 04:13:28 2022 +0200

    tdf#66819: Disable ligatures with character spacing

Even though editengine was applying letter spacing, when drawing with
drawinglayer, letter spacing was not propagated which caused VCL to not
disable the ligature features.

Change-Id: Ia8bf2231478720262484a757e16fe5afec3cd28e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191512
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
2025-09-25 18:52:49 +02:00
Noel Grandin e565a0d634 tdf#168392 Disappearing image fill at lower zoom
regression from
  commit cd93f83bbc
  Author: Armin Le Grand (collabora) <Armin.LeGrand@collabora.com>
  Date:   Thu Aug 7 21:02:41 2025 +0200
  tdf#167831 avoid painting bitmap data with zero dimensions

we cannot skip these fills if the fill bitmap is too small,
we need to fill with something or the resulting picture
is very wrong

Change-Id: I194b59414db8f675df2415c3ee4fb9a0305611b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190981
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-19 16:56:24 +02:00
Gabor Kelemen cf1403343d tdf#146619 Run IWYU on drawinglayer/
Change-Id: I0cdefb89bedfbe4d733edb89c9ed2e7a9b37c947
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190907
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-09-17 19:23:05 +02:00
Noel Grandin b3c7eaf9d3 removed unused DrawModeFlags
DrawModeFlags::BlackGradient is dead since
  commit e7b460f919
  Author: Noel Grandin <noel.grandin@collabora.co.uk>
  Date:   Sat Aug 30 15:23:11 2025 +0200
  BitmapEx->Bitmap in canvas

DrawModeFlags::WhiteText is dead since
  commit 81994cb2b8
  Author: Noel Grandin <noelgrandin@gmail.com>
  Date:   Fri Apr 16 20:33:10 2021 +0200
  Convert internal vcl bitmap formats transparency->alpha (II)

Change-Id: I3405962f1293f0f2ea9619e009bf048fc2c35c95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190999
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-16 08:05:28 +02:00
Noel Grandin 7278030b92 remove unused DrawModeFlags
DrawModeFlags::BlackBitmap is dead since
  commit e7b460f919
  Author: Noel Grandin <noel.grandin@collabora.co.uk>
  Date:   Sat Aug 30 15:23:11 2025 +0200
  BitmapEx->Bitmap in canvas

DrawModeFlags::WhiteBitmap is dead since
  commit 81994cb2b8
  Author: Noel Grandin <noelgrandin@gmail.com>
  Date:   Fri Apr 16 20:33:10 2021 +0200
  Convert internal vcl bitmap formats transparency->alpha (II)

Change-Id: I933d5416300850e624c3b438d00d986c787e0a05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190977
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-15 21:48:14 +02:00
Noel Grandin f109008fea tdf#149592 Importing SVG with too small scaling causes bad performance
decomposing pattern-fill primitives is very bad for performance

Change-Id: Id754e55350b6a75e4f585db890397e6bb7380867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190707
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-09 15:40:32 +02:00
Noel Grandin 6d0e5ddede remove BitmapEx
all use-sites have been converted to Bitmap

Change-Id: I1a8842217a266eef100bd387ab013b004e532256
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190618
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-09-05 19:45:45 +02:00
Noel Grandin a59ef851c3 BitmapEx->Bitmap in impBufferDevice
now that Bitmap supports transparency

Change-Id: I265d356e13c6cd8c1a34835e53b2386548cffb98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190596
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-04 20:20:13 +02:00
Noel Grandin aba63efcdb converting the SalGraphics backend from BitmapEx->Bitmap (3)
pass a single SalBitmap in drawTransformedBitmap

Change-Id: Iacb67804e47867f4ab85b394b14f052807925b75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190498
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-04 17:06:46 +02:00
Noel Grandin 7f35303c31 remove setters from MetaAction classes
to make it obvious these are constructed once and then (mostly) not changed

Change-Id: Iebba987736755bdb0974c9adf9cd333ac004c574
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190584
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-04 17:06:26 +02:00
Noel Grandin 2c179e7225 BitmapEx->Bitmap in some of the OutputDevice::Draw methods
now that most of the client code is using Bitmap

Change-Id: I9370f388afba5d3ad1628d42309fa70ab44f7812
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190499
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-03 12:36:43 +02:00
Noel Grandin 7c0163e0cb BitmapEx->Bitmap in some comments
leftover from earlier conversion

Change-Id: I8d2f5a79709ef0975c444697f67e762a4cc9b28d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190484
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-01 22:26:49 +02:00
Noel Grandin faf25383bb BitmapEx->Bitmap in directx pixel processor
now that Bitmap supports transparency

Change-Id: I51e9bd182b38905e3e8626ec5a2c8ee3d37fdd05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190479
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-09-01 18:22:41 +02:00
Noel Grandin c0afb3514f add new Bitmap constructors
to move the logic of constructing a new Bitmap from an existing Bitmap and an AlphaMask,
into vcl, where it can later be optimised

Change-Id: I2af1c6d1a35d968abdd07546448f7e211772e70b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190366
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-29 17:53:22 +02:00
Noel Grandin ee98538e8e crashtesting ooo57177-1.doc
regression from
    commit c2fedef548
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Wed Aug 6 20:35:05 2025 +0200
    BitmapEx->Bitmap in Graphic

the problem here, is that we are now allocating a single 32-bit bitmap instead
of a 24-bit bitmap and an 8-bit bitmap.

The crashtesting file has an image of size 17000 x 17000, which hits the

     size > SAL_MAX_INT32/2

check in ImplCreateDIB the svp backend.

Change-Id: Ic76eb03adeedcfbb7d60e78405641035e3eb7087
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190323
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-28 15:11:42 +02:00
Noel Grandin 4c85558251 BitmapEx->Bitmap in drawinglayer
now that Bitmap supports transparency

Change-Id: I1894a0187d6f661ad10aa631c55fc3ea66ff1d3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190224
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-26 17:33:59 +02:00
Caolán McNamara 3fba303985 cid#1665114 Variable copied when it could be moved
and

cid#1665115 Variable copied when it could be moved

Change-Id: I7ebc4baeae449f969e58fbd167149d010e0f043a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190025
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-08-21 21:51:10 +02:00
Noel Grandin 66b0aab258 use Graphic::GetBitmap instead of Graphic::GetBitmapEx
in places where we want a Bitmap

Change-Id: I70acdfde07df5bda84aa21143b2a0aca98023fe5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189675
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-21 20:54:31 +02:00
Caolán McNamara dc584b4dd8 always pass fCandidateLength in at the boundary
Change-Id: Idcddf4e576bb74f241c532fbf66b8772f3cd1c6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189932
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-08-20 09:25:44 +02:00
Noel Grandin 2ed3f9e32c BitmapEx->Bitmap in VclProcessor2D
now that Bitmap can handle transparency.
This points out a bug in Bitmap::Modify

Change-Id: I4774727d235493fdaad054cf36f2d2a36b1db32d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189936
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-20 08:59:15 +02:00