summaryrefslogtreecommitdiff
path: root/vcl/source/outdev
AgeCommit message (Collapse)Author
2024-06-20Resolves tdf#153223 - Suppress variable line height when skia is offHeiko Tietze
Change-Id: I9194c25bf2fc104574bd27e6b8683b63111e6ad8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169192 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-06-10tdf#152024 Diacritics cut off at top and bottom of paragraphJonathan Clark
This change fixes issues causing Writer to clip paragraphs at the ascent of the top line, and descent of the last line, of a paragraph. This issue caused certain diacritics to render incompletely, or not at all. Change-Id: I99a3a25335f8b1d798fc8a55ff42d5c78749fca4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168557 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-05-22tdf#124116 Correct Writer text shaping across formatting changesJonathan Clark
Previously, Writer performed shaping for each span of text separately. In certain situations, this caused incorrect glyph use, or incorrect glyph positioning. This change updates Writer so it will also consider neighboring text while performing shaping. This change resolves the outstanding duplicates filed against tdf#61444. As a side effect, this change also fixes tdf#134226. In addition to the shaping fix, this change implements rendering for individually-styled glyphs, which is required to fix tdf#71956. However, this change does not implement diacritic selection, which is also required for that issue. Change-Id: Iab4774ffaab5ad6113778c54d02cb260a70c1010 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167699 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins
2024-05-18tdf#161154: pass "scaling is done externally" information down the stackMike Kaganski
VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D does the scaling, taking into account the font scaling. Before commit 8557ea84c9336ba8061246f1f46ddb6e02f413a1, D2DWriteTextOutRenderer was doing own scaling in addition, but it seems that it somehow didn't affect the result much. The said commit removed the scalng from D2DWriteTextOutRenderer. As tdf#160901 demonstrated, the scaling is necessary in different code paths - and it turns out, that we need to know, if the caller does its own scaling or not, to make a decision, if the scaling should be fone in D2DWriteTextOutRenderer. This hack passes this from VclProcessor2D to D2DWriteTextOutRenderer through OutputDevice. Thanks to Miklos for the isea. I still don't understand, why all this seemingly doesn't affect other renderers. Change-Id: I001036f4574898b8e7606652525638df43c35240 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167786 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-05-17tdf#61444 Correct Writer text layout across formatting changesJonathan Clark
Previously, Writer performed text layout for each span of text separately. This caused incorrect kerning when the text style changed mid-word, for example by highlighting or changing the color of a single letter. This change updates Writer so it will also consider neighboring text while performing text layout. Change-Id: I511096c009343f39cc1b9ba745909c5b8cbad86f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167016 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-05-10loplugin:ostr in vclNoel Grandin
Change-Id: I5b6ee5bda0c5ff69d297f7f8e87d4c3f3d21791c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167470 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-05-03WaE: C6011 Dereferencing NULL pointer warningsCaolán McNamara
Change-Id: I9b2b86c26e08221c57735c6eda88727aa8a46b5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167021 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-20Return double from OutputDevice::GetTextArrayMike Kaganski
And introduce GetTextWidth / GetTextHeight variants returning double. It allows to avoid premature rounding. At least in one case - testTdf145111_anchor_in_Fontwork - it allowed to make the test DPI-independent (at least in my testing on Windows, using 125, 150, and 175% UI scaling). Change-Id: I973d2c729ec6bb7114b4f99b9027f1ead7c1d061 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166237 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-19tdf#160622: Let SalLayout::GetBoundRect return basegfx::B2DRectangleMike Kaganski
This avoids premature rounding in TextLayouterDevice::getTextBoundRect. The box in D2DWriteTextOutRenderer::performRender needs to be expanded to allow room for the line width (which now will be guaranteed on all sides; previously, the rounding could happen to give no room on some side, even prior to commit 8962141a12c966b2d891829925e6203bf8d51852). Fixes some lines partially cut off in smaller text (or zoomed out). Change-Id: I07335136021f894cf045363b4d736bfab06c64d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166236 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-17Drop FRound, and use generalized basegfx::froundMike Kaganski
Change-Id: I7447e649dc3ef4e51242f69c7486a3e84e103d2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166159 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-15Generalize basegfx::fround for templated return typeMike Kaganski
And use it when assigning to tools::Long Change-Id: I0814d7bac9cdd48191ba69c64e3b12a4973b3417 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166071 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-14Use more o3tl::convertMike Kaganski
Change-Id: I8a3c5d0e1a29219ab27bde75809ca9d8dce7e093 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166059 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-13Don't use lround when assigning to a doubleMike Kaganski
Change-Id: Ifdfd351cf1f2848b754ec7a4c6f6cb9a56f478d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165939 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-01tdf#160430: Fix glyph bounds calculation, and use basegfx::B2DRectangleMike Kaganski
... instead of tools::Rectangle. Several problems were there: 1. First, a horizontal bounding rectangle was calculated, with due rounding; and then the result was rotated, and after that, rounded again. That made the resulting rotated rectangle coordinates very imprecise. 2. Also, ceil/floor was applied without normalization; and in case of rotated font, that meant, that sometimes the range could be not expanded to cover partially covered pixels, but instead collapsed. 3. The rotation to angles other than 90 degree multiples was done incorrectly, resulting in cut off parts of characters. 4. For 90 degrees, the imprecise result of sin/cos converted 0.0 into values like 3e-16, which then could be ceil'ed up to 1. Using B2DRectangle and its transform allows to simplify and fix the calculations easily, and avoids premature rounding. Render of rotated text of small size is more stable with this change. Change-Id: Idffd74b9937feb2418ab76a8d325fdaf4ff841b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165553 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-07Simplify some rtl::math::approxEqual callsNoel Grandin
Comparing with zero is simple - the implementation special-zases zero. Change-Id: Ia2fe8a1100941f72023a74955ebfbb4f5f25b90d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164540 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-01Fix nIndex / nLen passed to mpAlphaVDev->DrawCtrlTextMike Kaganski
The corrected values along with original text make no sense Change-Id: Id84728e7d23d8780c4e7b7a76091470a82206efd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164184 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-03-01tdf#159976: make sure to always strip mnemonics in DrawCtrlTextMike Kaganski
Note how GetCtrlTextWidth does that unconditionally. Also unify the code paths for disabled vs. enabled controls; this makes DrawText also use pGlyphs for disabled controls, similar to what was implemented for enabled controls in commit d70bf1c4caf37f38166b5f1facc08264cd203f92 (vcl: less text layout calls in Menu, 2018-09-05). Change-Id: I8fb6686012fb218dd4ae5536ad1cfeb69471e741 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164180 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26tdf#159251: Revert "vcl: Allow pushing/popping OutputDevice’s RTLEnabledKhaled Hosny
...state" This reverts commit 611694b707eb43e4c0f20b781f6869016a3ba099. Change-Id: I044e6a1fb08f482c6b494e87f9c23e2303b97fd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163951 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2024-01-08cid#1545370 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545364 COPY_INSTEAD_OF_MOVE cid#1545363 COPY_INSTEAD_OF_MOVE cid#1545344 COPY_INSTEAD_OF_MOVE cid#1545299 COPY_INSTEAD_OF_MOVE cid#1545287 COPY_INSTEAD_OF_MOVE cid#1545267 COPY_INSTEAD_OF_MOVE cid#1545256 COPY_INSTEAD_OF_MOVE cid#1545226 COPY_INSTEAD_OF_MOVE cid#1545500 COPY_INSTEAD_OF_MOVE cid#1545538 COPY_INSTEAD_OF_MOVE cid#1545618 COPY_INSTEAD_OF_MOVE cid#1545681 COPY_INSTEAD_OF_MOVE cid#1545750 COPY_INSTEAD_OF_MOVE cid#1545778 COPY_INSTEAD_OF_MOVE cid#1545785 COPY_INSTEAD_OF_MOVE cid#1545799 COPY_INSTEAD_OF_MOVE cid#1545847 COPY_INSTEAD_OF_MOVE cid#1545958 COPY_INSTEAD_OF_MOVE cid#1545963 COPY_INSTEAD_OF_MOVE cid#1545990 COPY_INSTEAD_OF_MOVE cid#1546013 COPY_INSTEAD_OF_MOVE cid#1546029 COPY_INSTEAD_OF_MOVE cid#1546079 COPY_INSTEAD_OF_MOVE cid#1546104 COPY_INSTEAD_OF_MOVE cid#1546127 COPY_INSTEAD_OF_MOVE cid#1546133 COPY_INSTEAD_OF_MOVE cid#1546155 COPY_INSTEAD_OF_MOVE cid#1546190 COPY_INSTEAD_OF_MOVE cid#1546216 COPY_INSTEAD_OF_MOVE cid#1546273 COPY_INSTEAD_OF_MOVE cid#1546315 COPY_INSTEAD_OF_MOVE cid#1546326 COPY_INSTEAD_OF_MOVE cid#1546387 COPY_INSTEAD_OF_MOVE accept some reasonable suggestions Change-Id: I7b004086d490c7618d8fe7a21a53cfa8ac1f8408 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161748 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-30move IsFuzzing to comphelperCaolán McNamara
and try something a bit more generic Change-Id: I1d8256576cd02f0a589df350ba7b53059dd586a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161250 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-11cid#1545577 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545679 COPY_INSTEAD_OF_MOVE cid#1545691 COPY_INSTEAD_OF_MOVE cid#1545697 COPY_INSTEAD_OF_MOVE cid#1545711 COPY_INSTEAD_OF_MOVE cid#1545730 COPY_INSTEAD_OF_MOVE Change-Id: Ic0777a8ba532b00b021ffed81243505fbb7250f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160568 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-08tdf#43157 vcl: remove DBG_ASSERT() from DrawDeviceAlphaBitmapSlowPath()Chris Sherlock
Change-Id: I6c120eb2bb8999276103f50bf3679366b6ee86ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157189 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-12-07cid#1558798 Unchecked return valueCaolán McNamara
Change-Id: Iddb702f40ced018c104a8a42847bc396ba258ff8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160420 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-07simplify and modernise ScopedBitmapAccessNoel Grandin
(*) Make all of it use a "Scoped" paradigm (*) pass by value, no need to allocate on heap (*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods. (*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places. Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-06make AlphaMask separate from BitmapNoel Grandin
Having it subclass Bitmap encourages confusion in passing it around, and I need the extra type-safety for my work on merged-alpha Change-Id: I35819f9b8ee609cbdaf865563c78531e397b529b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160235 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-05vcl: add unit tests for a mixture of CJK and latin charactersChris Sherlock
To influence the fallback fonts chosen, I have introduced a new OutputDevice function ForceFallbackFont() which injects ("forces") a font as the first one in the font fallback chain. Change-Id: I05856cbe829fde0eb140bb48a37795a84d780900 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159221 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-11-19Extended loplugin:ostr: vclStephan Bergmann
Change-Id: I2a9d5383d1831d8bf61e5280d66556d71fccae52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159666 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-11-07simplify OutputDevice::ClipAndDrawGradientMetafileNoel Grandin
using a poly clip is better than using XOR, so make this the default. Change-Id: I48bb6b5d617b8b6dc82760277d72a50a2123ae0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158957 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-27vcl: flatten OutputDevice::BlendBitmap()Chris Sherlock
Change-Id: Idb0c21dd37af81fae0fd4152f0556edb20e63b80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157190 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-10-27vcl: flatten OutputDevice::GetBitmapEx()Chris Sherlock
Change-Id: I85e7767cd2665febd289cc1fd023d30ab80cfe5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157191 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-10-23vcl: migrate text layout functions out of OutputDeviceChris Sherlock
OutputDevice is not where text layout should be done. There are a number of text layout functions that are used across the text layout classes, so I have moved them into TextLayoutHelper and made the text layout classes rely on this. I have made TextLayoutHelper implement the ITextLayout interface because this is still useful to new classes that need to implement new text layout functionality. Change-Id: Ic137a938576e7a6a64db0e5780bbbdd8342ef421 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157362 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-10-11Drop o3tl::span, can use C++20 std::span directly nowStephan Bergmann
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-05Drop MinMax in favor of std::clampMike Kaganski
Change-Id: I021f524b232ddbe091981444d859d35dd9cd05ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157582 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-03ofz: Timeout, reduce limitCaolán McNamara
Change-Id: Id14418dc382c0d11554817fc37990e3f3cba3a05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157514 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-27vcl: remove rTargetDevice from OutputDevice::ImplGetEllipsisString()Chris Sherlock
Change-Id: I886510af06bbfb77e24ea004cc3abfd6ff3a8832 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157194 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-09-24Fix typoAndrea Gelmini
Change-Id: I88c3e9f36c38bd31cd78871d5e86c607ebb39211 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157209 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-09-24tdf#156539 Draw the gradient with polypolygonal clip when using SkiaPatrick Luby
For some unkown reason, the previous "draw gradient with XOR, draw polygon with N0, and draw gradient again with XOR" does not work with Skia/Raster (at least on macOS). Fortunately, Skia supports polypolygonal clipping so just clip and draw the gradient. Change-Id: Id069160312a270096f5ec9c670615eb95ec6200b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157199 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-31SAL_WARN->SAL_INFO in ImplGlyphFallbackLayoutNoel Grandin
reduce log noise Change-Id: I479f936284922ad1062cab0e9ae78795aed84e91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156339 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-29simplify error handling path in OutputDevice::BlendBitmapNoel Grandin
Change-Id: I1c8f8ba7d24e5d85057790249901adc69f295af7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156246 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-29remove dead codeNoel Grandin
in OutputDevice::BlendBitmap. This case will always be handled by the block inside if( GetBitCount() <= 8 ) just above. Has been this since initial import in commit 5120979b55c888d5090e91792616c57287929d85 Author: Kurt Zenker <kz@openoffice.org> Date: Mon Nov 6 13:49:09 2006 +0000 INTEGRATION: CWS vcl67 (1.31.16); FILE MERGED 2006/10/20 14:38:03 thb 1.31.16.3: #i70653# Handling the both-alphas-zero case properly now 2006/09/22 11:51:51 thb 1.31.16.2: #i10000# Fixed a warning 2006/09/22 11:42:05 thb 1.31.16.1: #i47518# Properly blending alpha bitmap into alpha vdev now. Change-Id: I1779b17d85685f4b3ecdbda4920b4417ad29452b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156245 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-27tdf#150610 fix broken rendering of text meta actionsPatrick Luby
Even when drawing to a VirtualDevice where antialiasing is disabled, text will still be drawn with some antialiased pixels on HiDPI displays. So, expand the size of the VirtualDevice slightly to capture any of the pixles drawn past the edges of the destination bounds. Change-Id: Ibcba8234708d8784c12f984289ec0a8fcad6694e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156098 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-24vcl: Allow pushing/popping OutputDevice’s RTLEnabled stateKhaled Hosny
Change-Id: Icafdc307c5c9df768f00c3ac0d128936607bf3e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155794 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-08-19Eliminate special alpha mask inversions when Skia is disabledPatrick Luby
Commit ad1f69d28d31725a22e7e1cbb4d950aa9ad3bea7 fixed an alpha blending bug in AlphaMask::BlendWith(const AlphaMask&) so almost all of the special alpha mask inversions when drawing transparent meta actions are no longer needed and so, when Skia is disabled, the same inversions as Skia are now used. The one special alpha mask inversion that is still needed when Skia is disabled is when exporting to PDF documents like the following with transparent gradients: https://bugs.documentfoundation.org/attachment.cgi?id=188084 Change-Id: I3212a38916be3d238bb9c868b161031616baf0a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155859 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-03SAL_WARN->SAL_INFONoel Grandin
This warning fires all the time, but does not seem to indicate any real problem. It dates back to commit acea502ce05285043c2ebc12de6218d7ea59fa7e Author: Vladimir Glazounov <vg@openoffice.org> Date: Tue Aug 19 08:58:56 2008 +0000 INTEGRATION: CWS dba31a (1.240.62); FILE MERGED 2008/07/30 12:08:05 fs 1.240.62.3: RESYNC: (1.241-1.242); FILE MERGED 2008/07/16 06:15:45 fs 1.240.62.2: RESYNC: (1.240-1.241); FILE MERGED 2008/06/09 10:20:50 oj 1.240.62.1: #i88506# insert new flag to offer word boundary breaks Change-Id: I65b62e1c7851ef3e3443f02ccd9f5f609f645341 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155280 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02tdf#156514 Check spelling red underlines are goneNoel Grandin
Regression from commit af34f4ea62d8aabbab5d4028034aa2482c16fe8a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Jul 6 10:52:07 2023 +0200 avoid skia assert and slow-path Change-Id: Ib81c7d341a88e72fb0a48a39703485261ac6679c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155217 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-31all drawPolyPolygon variants return true nowCaolán McNamara
since: commit 4998de76ed1da4039e30718941d50d6f1dfe4f82 Date: Sun Jul 30 07:40:48 2023 +0000 tdf#156230: Drop freshly unused GenPspGfxBackend Change-Id: I7fc2a068f807777ed392c5d58772d130bf7f51c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155076 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-07-31supportsOperation OutDevSupportType::B2DDraw is always true nowCaolán McNamara
since: commit 4998de76ed1da4039e30718941d50d6f1dfe4f82 Date: Sun Jul 30 07:40:48 2023 +0000 tdf#156230: Drop freshly unused GenPspGfxBackend Change-Id: I1adc30a60aec0c5aab9289e9c0505d1dbad10631 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155074 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-07-27deduplicate some code in ImplCalcMapResolutionNoel Grandin
Change-Id: I792394079c0efbea0ea62f580fbad3bd2a66f93a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154945 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-25Convert internal vcl bitmap formats transparency->alpha (II)Noel Grandin
(Second attempt at landing this) Image formats and graphics APIs use alpha, not transparency, so change our internal formats and data structures to work directly with alpha, so we don't need to modify data before we push it to graphics APIs. Add a couple of new Color constants to make the intention of the vcl code clearer. Notes (*) On macOS, tweaking the logic in CreateWithSalBitmapAndMask to more accurately reflect the requirements of the CGImageCreateWithMask function seems to fix some tests. (*) The vcl code does not properly support gradients with transparency. So the previous code was wrong, and this change is going to result in slightly different wrongness. Change-Id: I9e21c2e98d88ecfdc5f75db13bd1ffff7c38db98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114168 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-23tdf#156377: Improve cursor traversal in UI widgetsKhaled Hosny
Re-implement GetCaretPositions() on top of GetCharWidths() so it can benefit from our code that handles cursor insertion in middle of ligatures. Change-Id: I2b76b3b0125f2454f78cb6779d88617dc29386fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154660 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>