Commit Graph
1975 Commits
Author SHA1 Message Date
Khaled Hosny ef3c39851d vcl: Rename Font::Set/GetAverageFontWidth to Set/GetFontWidth
It is a misnomer now, so return to the original name.

Also drop the redundant private Font::GetAverageFontSize().

Change-Id: I67495fa675091b459a4e90ac09665489cc61fdd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207991
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-07-14 00:16:59 +02:00
Michael Weghorn 77bb3e0698 canvas: Drop unused context param for SpriteCanvas ctor
Change-Id: I83d4a102c69ad677654228fb15bccbd7a5891e01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207896
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-09 21:37:40 +02:00
Christopher Sherlock c928d5bc07 vcl: Rename Y-axis origin methods to Get/SetDeviceOriginY
Completes the deprecation of legacy coordinate subsystem naming by
renaming GetOutOffYPixel() and SetOutOffYPixel() to
GetDeviceOriginY() and SetDeviceOriginY() across OutputDevice,
Window, and CoordinateMapper.

This unifies axis naming conventions following previous X-axis
refactoring passes, clarifying that these fields represent the
physical origin offsets of the device rendering canvas.

This patch also moves view transformation logic inline from outdev/map
to CoordinateMapper, and wraps sprawling multi-line logic formulas
across mapping routines to clean up formatting boundaries.

Key changes:
* include/vcl/outdev.hxx / window.hxx: Updated public declarations
  to replace GetOutOffYPixel with GetDeviceOriginY.
* vcl/inc/CoordinateMapper.hxx: Migrated view transformation cache State
  members and mapping calculation methods into the mapper object.
* Global adjustments: Patched all related coordinate offset reads
  and tracking writes throughout desktop, editeng, sc, svx, and vcl.

Change-Id: I28fec54a7f3312cc41ada2de38b26351c0a65527
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203646
Tested-by: Jenkins
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-07-07 14:22:05 +02:00
Christopher Sherlock 90951d958c vcl: rename X-axis origin methods to Get/SetDeviceOriginX
Rename GetOutOffXPixel() and SetOutOffXPixel() to GetDeviceOriginX()
and SetDeviceOriginX() across OutputDevice, Window, and CoordinateMapper.

The legacy "OutOff" naming convention obscured the difference between
system-level window positioning offsets and internal content scrolling
(SetPixelOffset). The new nomenclature explicitly communicates that
these metrics strictly govern the device coordinate space origin.

This patch focuses strictly on the X-axis coordinate reads and cleans
up duplicated formatting signatures inside the CoordinateMapper header.

Impacted modules:
* include/vcl: Update public declarations in outdev.hxx and window.hxx.
* vcl/inc: Clean up CoordinateMapper.hxx whitespace and scaling hooks.
* Global: Patch dependent pixel coordinate reads across desktop, editeng,
  sc, sfx2, svx, and vcl.

Change-Id: I546e1d255887e3b280ff15caca2e27ef10de52d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206509
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
2026-07-07 14:14:50 +02:00
Xisco Fauli a03cef8e94 canvas: replace boost::adaptors::reverse with std::views::reverse
Change-Id: I1f0275d2b4dc47223cf8a925c918c3062d82b45b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206651
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-16 01:21:17 +02:00
Andrea Gelmini 6a4a4a8f44 Fix "is build"->"is built"
Change-Id: Ic85f6bd9a152eeaf5cef15570899d491e864d8d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198921
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-02-09 12:06:38 +01:00
Gabor Kelemen 94d987edc2 tdf#146619 Use more forward declarations in include/toolkit
Change-Id: I46b4f8c398662b2826f7e4bf90f43750e3569667
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198240
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-07 00:41:15 +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
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
Gabor Kelemen 3fc666e120 Fix some non self contained headers in modules [a-r]*
Change-Id: I844cfcfa2bc31fae0256e0c7b757b6223ac8ac35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196633
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-01-18 00:34:04 +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
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
Chiggy Wiggy f87ed54e46 tdf#43157 canvas & chart2 : Replace OSL_ASSERT with SAL_WARN_IF
Replace obsolete OSL_ASSERT usages with SAL_WARN_IF inside the
canvas module. This ensures debug warnings are logged without
aborting execution.

Change-Id: Idad9b3a7c250e45903b40cc2a82c43f8fead2bc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195142
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
2025-12-23 10:44:20 +01:00
Mike Kaganski 7b04ef05cd Drop some uses Sequence::getConstArray
Similar to commit b280efcb9b
(Drop some uses Sequence::getConstArray, 2025-12-07).

Change-Id: Ieac325a660fe64e8172c5ed139380caa3d26a73c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195200
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-12-08 10:00:21 +01:00
Caolán McNamara d8b30aea69 cid#1675018 Big parameter passed by value
and

cid#1675020 Big parameter passed by value

Change-Id: I4773dd07c84764c2239d8e54eed3e96691b6c54c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194305
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-21 21:36:50 +01:00
Caolán McNamara 53107fa4e9 cid#1675019 Variable copied when it could be moved
Change-Id: I6709a11d4dbc508289675f9e3f1ed81ff6e21223
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194304
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-21 11:57:07 +01:00
Mike Kaganski a4035d7667 Use emplace_back() instead of push_back(Action()) + back()
Change-Id: I1ee0d7d292326dcf4e937c4e5e585b5fd56b69e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194231
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-11-20 09:40:05 +01:00
Nastasie Raul-Ionut 42f7bf3d21 tdf#165233 Use lambdas instead of std::bind
Replaced 6 instances of std::bind with lambdas in ogl_canvashelper.cxx

Change-Id: I1d8ee501fd747f5db36a64cc47ba3ad42cd88be4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192454
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2025-11-20 00:45:19 +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
Noel Grandin 4863619489 no need to construct a Bitmap via an AlphaMask here
we can just create a 32-bit bitmap

Change-Id: Iaadbd714a6fe536db6f3e6f1aab3cb710e95dc2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193005
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-10-27 09:03:59 +01: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
Sergey Anisimov 520d75f9d2 tdf#158237 - Use C++20 contains() instead of find() and end()
Change-Id: I2f8497f20acd72653530d60fec738dcbd4b1af10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192318
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2025-10-15 00:44:52 +02:00
Noel Grandin 581c52dad2 BitmapAlphaClampFilter is dead since
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: Ie156403a9e7e8dc7cd1299b16a96db52b76e9607
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190763
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-10 21:19:03 +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 fc124142eb BitmapEx->Bitmap in various comments
leftovers from earlier conversions

Change-Id: Ia6df2a70eb1eed25dbdcc45654a6466177f0ddfe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190610
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-05 11:18:39 +02:00
Caolán McNamara 87a553be37 cid#1665198 'Constant' variable guards dead code
dead code now since:

commit e7b460f919
Date:   Sat Aug 30 15:23:11 2025 +0200

    BitmapEx->Bitmap in canvas

    now that Bitmap supports transparency

Change-Id: Ibc296ea82953e571390eea01628adfa71a4f6ab9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190517
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-09-02 16:15:37 +02:00
Noel Grandin a3525d907e remove some leftover BitmapEx in comments
Change-Id: Iaf700486042d2419e024d0d86a842bc3b6da624d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190458
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-01 10:47:29 +02:00
Noel Grandin d8a4eb3d39 BitmapEx->Bitmap in canvas/directx
now that Bitmap supports transparency

Change-Id: I935bb09443c9df8cfb3ed91222ed6b59744b2e70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190460
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-01 10:33:32 +02:00
Noel Grandin e7b460f919 BitmapEx->Bitmap in canvas
now that Bitmap supports transparency

Change-Id: I83630fdc6d2600ae0f853d5a00b3a65fd22e1572
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190412
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-30 21:21:46 +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 e28b04775a BitmapEx->Bitmap in Graphic
now that Bitmap can handle transparency.

This just removes the Graphic(BitmapEx) constructor and pushes
the conversion from BitmapEx->Bitmap out to the call sites.

Change-Id: I5d8b9838365458524185d3cfffe4a8f05d40d0ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190324
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-28 15:08:06 +02:00
Noel Grandin 201fadd949 tdf#168018 PPTX: graphics shows with weird effects in presentation mode
regression from
    commit eb4394e346
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Mon Aug 18 13:31:30 2025 +0200
    tdf#167893 and tdf#167876 weird effects in slideshow

added a bunch of comments so the next person doesn't assume that cairo is sane, like I initially did.

Change-Id: I37558c423e740421952b7c7a7e318dec17262191
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189981
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-21 11:23:57 +02:00
Mike Kaganski 37e71212c7 vclcanvas::tools -> vclcanvastools
At least some IDEs are confused by our multitude of `tools` namespaces,
and show errors like `namespace "tools" is ambiguous`.
This removes one such namespace. The idea is to drop all but the one
in /tools (that has tools::Long and tools::Rectangle).

Change-Id: I75fc4835ec76dca698be1983dbc0a935b3f765eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189949
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-08-20 15:23:18 +02:00
Mike Kaganski d7cd073911 dxcanvas::tools -> dxcanvastools
At least some IDEs are confused by our multitude of `tools` namespaces,
and show errors like `namespace "tools" is ambiguous`.
This removes one such namespace. The idea is to drop all but the one
in /tools (that has tools::Long and tools::Rectangle).

Change-Id: I33f59907216f1272dc8925ed7511a263966c6997
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189947
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-08-20 15:23:13 +02:00
Mike Kaganski f9c16559a8 canvas::tools -> canvastools
At least some IDEs are confused by our multitude of `tools` namespaces,
and show errors like `namespace "tools" is ambiguous`.
This removes one such namespace. The idea is to drop all but the one
in /tools (that has tools::Long and tools::Rectangle).

Change-Id: I6077f50ad0fcc49abfadc75d9948ab63df829ff9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189948
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-08-20 15:23:07 +02:00
Noel Grandin eb4394e346 tdf#167893 and tdf#167876 weird effects in slideshow
this was a little confusing, because the bibisect pointed at one commit,
but it was actually an earlier commit which had the bug.
It just happened that the later commit made more active use of the code
from the earlier commit.

The bug was mostly in CanvasCairoExtractBitmapData, which was, I think,
largely unused before
    commit 088a7c7c45
    Author: Noel Grandin <noelgrandin@gmail.com>
    Date:   Tue Sep 24 16:18:11 2024 +0200
    remove alpha device from OutputDevice

At which point some of the optimised paths in slideshow stopped
triggering as often (which is a different issue which will need
resolving)

Also, CanvasCairoExtractBitmapData was largely wrong,
returning unpremultipled data when cairo
wants premultiplied data, and returning 4-byte RGBA when the calling
code was going to tell cairo that the format was 3-byte RGBA.

So anyhow, things now work better, and the CanvasCairoExtractBitmapData
method is considerably smaller and simpler.

Change-Id: I7d668ae08f4caf8dd0d5561a2d94e23e767216d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189867
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-18 19:08:54 +02:00
Mike Kaganski b68633e21c Use OutputDevice::ScopedPush in various
Change-Id: I1eb4340c603bae6a62fa676534ffb21fe2316649
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189806
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-08-17 09:44:41 +02:00
Noel Grandin 59dc7c8f11 BitmapEx->Bitmap in CanvasExtractBitmapData
now that Bitmap can handle transparency

Change-Id: I70f7e0e8eaad5f8e82d5188954b5d0065b3e107e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189654
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-15 10:41:51 +02:00
Noel Grandin 4977c89e3e BitmapEx->Bitmap in CreateFromCairoSurface
now that Bitmap supports transparency

Change-Id: I8c890db186c1e37ea535ff515633d083fec8d8c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-15 07:22:01 +02:00
Noel Grandin 6b61142487 new methods on Bitmap to avoid going via BitmapEx
have new methods for extracting a color bitmap
and an alpha mask from Bitmap. Avoids going via
BitmapEx.

Change-Id: I8c613008cfb8ecc0a57d1d983b6961798db52632
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189470
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-13 11:49:33 +02:00
Noel Grandin 01a31f689f no need to use unique_ptr for Bitmap
it is already a COW type

Change-Id: I779fb5758bcb7fb2ee1c8d303e67a47381fe9035
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189284
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-10 11:42:04 +02:00
Noel Grandin 09298d001e BitmapEx->Bitmap in bitmapExFromXBitmap
now that Bitmap can handle transparency

Change-Id: Id87889a0e5ca0a3398f9baceee3474369eb0f7aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188539
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-07 13:09:57 +02:00
Noel Grandin 00f16b7c79 BitmapEx->Bitmap in canvas
now that Bitmap can handle transparency

Change-Id: I8e8e48cd5e81b1506871aebf1f70a754c4772c49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188944
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-05 15:50:51 +02:00
Noel Grandin ab83cea313 BitmapEx->Bitmap in CanvasTransformBitmap
now that Bitmap can handle transparency

Change-Id: I09c2f4a5a22c6e8162c325bd7f364dfcd808e3e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188943
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-05 15:50:42 +02:00
Noel Grandin e435c0749b drop OutputDevice::GetBitmapEx in favour of returning Bitmap
as part of the project of removing BitmapEx in favour of Bitmap, now that we can store RGBA data in Bitmap.

This mostly just moves the Bitmap->BitmapEx from inside OutputDevice to the various call sites,
from where I can make further improvements.

Change-Id: Id5366c1eb5ebca98fee7c974737552f4a09a5c2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188341
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-07-25 22:34:31 +02:00
Noel Grandin 41ce88c0dc tdf#166932 no need to use GlobalAlloc in BitmapEx
which consumes a GDI handle for each bitmap, and can consequently
sometimes use up a lot of handles.
Just use the regular malloc/free.

Change-Id: I19782ac16ff195644b4feb62848c1a95acf08021
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186342
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-06-11 11:09:53 +02:00
Gabor Kelemen a48bb5c25b Remove obsolete fw declarations from canvas/ codemaker/ configmgr/
found with bin/find-unneeded-includes --fwdecl

Change-Id: Ife87bf89617d97cee9dd1f25d6e912665e4c33a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183879
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-04-11 10:53:14 +02:00
Noel Grandin 5357da349b Revert "remove canvas/cairo and canvas/gdi and canvas/directx backends"
So the vclcanvas backend is in worse shape than I thought. It will
take too long to get it into shape to be sure of making the next
release, so revert this for now, and I will have to find another
approach.

This reverts the following commits

commit fbefe07e4c
Author: Michael Weghorn <m.weghorn@posteo.de>
Date:   Thu Feb 20 09:42:14 2025 +0100

    qt: Remove now unused vcl/inc/qt6/QtSvpSurface.hxx

commit 595354ab7e
Author: Julien Nabet <serval2412@yahoo.fr>
Date:   Wed Feb 19 21:13:49 2025 +0100

    Remove also canvas/cairo in gtk4, qt6 and gtk3_kde5

commit d539f6e99e
Author: Noel Grandin <noelgrandin@gmail.com>
Date:   Wed Feb 19 18:15:30 2025 +0200

    fix "local variable is unused" warning

commit 704f61b1bd
Author: Noel Grandin <noelgrandin@collabora.co.uk>
Date:   Wed Jan 29 15:35:21 2025 +0200

    remove canvas/cairo and canvas/gdi and canvas/directx backends

Change-Id: I0492dabf7da8c42a15720c868f161919e8dc7ae4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181984
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-21 10:40:31 +01:00
Noel Grandin 704f61b1bd remove canvas/cairo and canvas/gdi and canvas/directx backends
These were originally created to better support alpha/transparency
in slideshows, but vcl can do that these days.

Mostly, removing these makes the path to better backends (e.g. GDI+)
in vcl considerably easier.

If regressions are detected, it would be better to improve vcl
to perform better, or render better, since that will both fix
the regression and improve other output from LibreOffice.

Also remove various bits of vcl backend that were only being
used by the canvas stuff.

Change-Id: Ic5276d57e696f3dcbeaed2cc149b8fc09c5816f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181843
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-19 17:04:28 +01:00