summaryrefslogtreecommitdiff
path: root/include/vcl/rendercontext
AgeCommit message (Collapse)Author
2024-03-07tdf#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> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164019
2024-03-07tdf#159251: Blind fixKhaled Hosny
Hopefully fixes regression introduced in: commit 611694b707eb43e4c0f20b781f6869016a3ba099 Author: Khaled Hosny <khaled@libreoffice.org> Date: Thu Aug 17 17:39:29 2023 +0300 vcl: Allow pushing/popping OutputDevice’s RTLEnabled state Change-Id: I9236bd6951d83a512390934127031204d94d14bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163877 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164017
2023-10-12cool#7318 Calc rendering acceleration (part2)Noel Grandin
we are spending a lot of time in SalLayoutGlyphsCache::GetLayoutGlyphs, and most of that is inserting into the GlyphsCache, which has a very very large key. Shrink that key a little bit Change-Id: I6f27c147652521502dba4517afd9a2ae2a6daebb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157754 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-07-06DrawTextFlags::HideMnemonic is unusedNoel Grandin
ever since commit 3fbae5dc7e7b200776bbc8a7c2a43e1e04f15a2b Author: Caolán McNamara <caolanm@redhat.com> Date: Thu Aug 5 14:57:59 2021 +0100 gtk is the only case auto-accel is true, and the menubar is native gtk there Change-Id: I209a410a231952dcbbb587ed6034fcfec77eaead Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154059 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-13tdf#150622 use high contrast selection fg/bg colors for text selectionCaolán McNamara
with SettingsForSelection SettingsText -> HighlightTextColor SettingsFill -> HighlightColor SettingsLine -> HighlightColor Change-Id: Iaac5834ce0f8b3f1b89376711b564773cfd0bfe3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141287 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-23tdf#66819: Disable ligatures with character spacingKhaled Hosny
When character spacing is not zero, optional ligatures should be disabled (e.g. this what CSS requires and what browsers implement: https://drafts.csswg.org/css-text/#letter-spacing-property). This disables both “liga” and “clig” OpenType features because they are optional features and are enabled by default, it does not disable “rlig” because it is for orthographically-required ligatures, nor “dlig” or “hlig” because they are disabled by default. The character spacing values (confusingly called kerning in the source code) are moved from SvxFont to vcl::Font so it can’t be accessed in OutputDevice and pass the relevant flag to SalLayout. Change-Id: Ieacc875df3896ad7a63ae8d116f4c6ff7265b9a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138711 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-08-14tdf#104921: Cleanup Kashida insertion logicKhaled Hosny
Communicate Kashida insertion positions in an explicit way. Rest of LibreOffice communicate adjustments to character widths (e.g. for justification or spacing) using so-called DX array. DX array is an array of absolute character positions (e.g. DX[n] is the position after character n from the start of the lines, and its widths is DX[n] - DX[n-1]). This DX array is modified also when Kashidas are inserted after a given character for Arabic justification, by expanding its width. VCL would use this to know where to insert the Kashidas and how many ones. But because DX array is used for both widths adjustments and kashida insertion, this turns out to be a source of bugs since VCL has tosecond guess the DX array to find which is pure width adjustment and which also involves Kashida insertion, and the heuristics it uses are fragile. This change adds a second array of booleans that records where Kashida is inserted and communicates it all the way from where Kashida insertion is decoded in Writer and down to VCL layout. This change passes the Kashida array only when it seems necessary (e.g. during drawing but not when measuring text since the DX array is enough in this case). Hopefully no places where Kashida insertion needs to be passed down were missed. A couple of glyph and layout flags that were used for old heuristics and no longer needed and are removed. This also fixes: tdf#87731 tdf#106309 tdf#108604 tdf#112849 tdf#114257 tdf#127176 tdf#145647 tdf#146199 Change-Id: I4ed0850ef2fdc3e9143341afac649e7e7d463c39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138068 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-12-24Recheck include/[s-x]* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: Iaebddd648c52c175da17d2a55a1e8de82c213f4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127330 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-09-30vcl: initialize variables in ImplMapRes declarationChris Sherlock
Change-Id: I379a555c8e148ba0294198fb5e12582f73a51554 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122771 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-28vcl: rename OutDevState to StackChris Sherlock
I have moved the header file to include/vcl/rendercontext as this will eventually be part of the RenderContext split from OutputDevice. State and associated enums have also been moved to the vcl namespace. I have also moved ComplexTextLayoutFlags into the vcl::text namespace. Change-Id: I0abbf560e75b45a272854b267e948c240cd69091 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121524 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-07vcl: move OutputDevice rasterop functions to outdev.cxxChris Sherlock
Split off RasterOp enum into own header, and also add unit tests for SetRasterOp() and GetRasterOp(). Change-Id: I1c97e87ef2d0684cb15b6ac544597eace5adb48a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121018 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-30tdf#74702 vcl: introduce GetSystemTextColor()Chris Sherlock
Also rename DrawFlags to SystemDrawColorFlags, added a unit test. Change-Id: I3cb74b278e43561d1055b3b55b9730cdbdea51aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113559 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-15vcl: outdevmap.hxx -> rendercontext/ImplMapRes.hxxChris Sherlock
Change-Id: I96e191999e43e1a4203d548eeacd386ed883cd8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115368 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-05-10vcl: move outdev.hxx flags into own headersChris Sherlock
Change-Id: I550a0b374736b25d972d356ddbe62942590cfa1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114992 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2021-05-10vcl: move DrawImageFlags to own headerChris Sherlock
Change-Id: I461c7db931a2011f1b7618159a8863db46c03601 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114991 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2021-05-10vcl: move DrawTextFlags to own headerChris Sherlock
Change-Id: I02b40dbb901c07f8049249dbb42dae75a476dd9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114989 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-05-03vcl: move SalLayoutFlags to own headerChris Sherlock
Change-Id: Ia1cefb6e0759404cb63cf1ccf6190931047bac79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114973 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>