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>
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>
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
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>
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>
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
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>
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
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>
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>
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
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>
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
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>
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>
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>