summaryrefslogtreecommitdiff
path: root/drawinglayer/Library_drawinglayer.mk
diff options
context:
space:
mode:
authorArmin Le Grand (Collabora) <Armin.Le.Grand@me.com>2024-08-23 20:59:55 +0200
committerArmin Le Grand <Armin.Le.Grand@me.com>2024-08-24 15:10:45 +0200
commit79ab5c3775f8d0685585810583b84c0f4d49a1bf (patch)
treeae9c3bc0f6ddf40ab8c0d1405aaec75bc295371c /drawinglayer/Library_drawinglayer.mk
parenta8125cd58309dfec84ea9d3de749fadb0f0505f8 (diff)
CairoSDPR: Let VclPixelProcessor2D use RedLining decompose
VclPixelProcessor2D used PRIMITIVE2D_ID_WRONGSPELLPRIMITIVE2D to render WrongSpellPrimitive2D using processWrongSpellPrimitive2D and there renderWrongSpellPrimitive2D. That again used DrawWaveLine at OutputDevice. This again does some very special things, e.g. it uses the set Font at the OutputDevice which hopefully is the one the redlining refers to (info from that has to be added to the WrongSpellPrimitive2D if needed, in this case the LogicalFontInstance's GetWavelineUnderlineSize result). It seems to rely on the Text being redlined being 'painted' directly before this. It also renders the WaveLine to a BitmapEx and does pixel- based operations on it (probably to 'clip' the WaveLine instead of adding needed partial curve geometry), and adds that BitmapData to a cache. It also mentions it 'make sure the waveline does not exceed the descent to avoid paint problems', probably because when not handling it as Primitive from a PrimitiveProcessor the invalidation Range will not fit (it still uses the getB2DRange of the WrongSpellPrimitive2D to do that part indirectly), so these regions will probably not always have fit. Nothing of this is needed, after I made the WrongSpellPrimitive2D to use view-independent (aka pixel- oriented scaling, fixed size) to behave like the current paint the VclPixelProcessor2D can just use the decompose and render the view-dependent and buffered visualization of the WaveLine. NOTE: It is not possible to completely get rid of OutputDevice::DrawWaveLine since it is used in some cases in Writer directly, also in ImpEditEngine::Paint when the EditEngine is painting directly (very rare now). NOTE: Also impCreateTextPortionPrimitive did swap start/end in preparationm to create a WrongSpellPrimitive2D (look for tdf#151968), this will no longer be needed. Change-Id: I31aec8ea9c2e3c574ad471082612a10d95810f3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172331 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Diffstat (limited to 'drawinglayer/Library_drawinglayer.mk')
-rw-r--r--drawinglayer/Library_drawinglayer.mk1
1 files changed, 0 insertions, 1 deletions
diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk
index e8e3dde7c952..6409e379df6b 100644
--- a/drawinglayer/Library_drawinglayer.mk
+++ b/drawinglayer/Library_drawinglayer.mk
@@ -194,7 +194,6 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\
drawinglayer/source/processor2d/processor2dtools \
drawinglayer/source/processor2d/contourextractor2d \
drawinglayer/source/processor2d/getdigitlanguage \
- drawinglayer/source/processor2d/helperwrongspellrenderer \
drawinglayer/source/processor2d/hittestprocessor2d \
drawinglayer/source/processor2d/linegeometryextractor2d \
drawinglayer/source/processor2d/objectinfoextractor2d \