summaryrefslogtreecommitdiff
path: root/vcl/win
AgeCommit message (Collapse)Author
2022-02-14use more cppu::BaseMutexNoel Grandin
Change-Id: Iddd7438161ead93b27cf8e8058ca5b1eae3d8001 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127075 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-13[cp] Collabora Office brandingAndras Timar
Change-Id: I694d9a6c508853d2d980f76cc259ce1e39149da4
2021-12-20Windows format name is UniformResourceLocatorW for Unicode stringsMike Kaganski
See also commit 5fb9f4ffa9284c7248e2e82210506babaad4044d tdf#145964: Windows format name is FileNameW for Unicode strings TODO: replace one remaining format from CFSTR_* family that we use (see https://www.codeproject.com/Reference/1091137/Windows-Clipboard-Formats): FileGroupDescriptor -> FileGroupDescriptorW. That one needs more complex handling. Change-Id: I4d4ad83099854768cf36c7b3d89059d79c8e77f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126213 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 52e1d0ca6ad38b4b4fdc77b0951ad26f0ac18ec5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126239 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-12-09tdf#145322, tdf#144378 fix printing for vertical writingMark Hung
Printing still uses ExTextOutRenderer to render text because Skia haven't yet support printing and DWriteTextRenderer can't bind the printer DC. ExTextOutRenderer uses win32 API ExtTextOutW. In order to renderer upright CJK text in vertical writing with that API, the HFONT created with CreateFontIndirectW needs a font name prefixed with '@'. OTOH, use '@' prefixed font with Skia break the vertical writing unit test. - WinSalGraphics::ImplDoSetFont: use '@' prefixed font name if the requested font is vertical and is for printing. - ExTextOutRenderer: use SetTextAlign and text metric tmDescent to adjust vertical glyphs. It's not consistent with Skia or DWriteTextRenderer, and is still incorrect in many cases. The patch is adapted from reverting commit 5686c1aca40beb9514d40c86b4a3780a8a1334ba Author: Mark Hung <marklh9@gmail.com> Date: Sun May 2 14:45:45 2021 +0800 vcl: use DWriteTextRenderer for vertical writing. Change-Id: Ib2d3df8b68cad4bebe0672c9da0a16b62aed99e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125978 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com> (cherry picked from commit 6720e9569d7ab6c20616ec6b97e5d4a56948908b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126443 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-12-03tdf#145964: Windows format name is FileNameW for Unicode stringsMike Kaganski
Otherwise SIMPLE_FILE clipboard format arrives encoded in ACP, and fails for any characters not representable in ACP. Change-Id: Ice8cfd98955e3ef49682aa21b41a313786b291f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126131 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 5fb9f4ffa9284c7248e2e82210506babaad4044d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126133 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-11-26-Werror,-Wreorder-ctorStephan Bergmann
Change-Id: Ie0a1036f57bc1449dda324b99fd83170969958a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125856 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit c1d0b2ec10ee10127409a6e085b26fdc86d426ad) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125838
2021-11-23tdf#62812 WIN use a compatible DC for font funcsJan-Marek Glogowski
All these function work on a temporary font. It's not clear, if the CreateCompatibleDC is actually needed and if the ScopedFontDC could actually just use the SalGraphics DC and restore its HFONT, but this at least now works as expected. A later patch can just drop the CreateCompatibleDC and DeleteDC calls. Change-Id: I6e86d660e69a58fa2eab89ece80c61e2635fc792 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125652 Tested-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-11-22Use less DegreeN::get()Mike Kaganski
Change-Id: I97b8d6282c72307cc29a913af221d283523f2fae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125653 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-13Use o3tl::convertMike Kaganski
Change-Id: I78db3001d602ec1a0847785b3c127b9d345f5af7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125173 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-10Add SAL_INFO of what paper sizes the printer (driver) advertisesTor Lillqvist
Change-Id: I9598a829c22cc4d02244fff6616584aa6dbac68e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124916 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-11-01Prepare for removal of non-const operator[] from Sequence in vclMike Kaganski
Change-Id: I65f411affcf0340c054d09426483d57c530edb0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124411 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-29loplugin:indentation (clang-cl)Stephan Bergmann
Change-Id: If23252e7640a9cfc9dd9feab4416ae832feddaf7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124403 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-17WIN release SalPrinter's SalGraphics borrowed HDCJan-Marek Glogowski
Regression from commit d27187b158d7e3f92180b1f2ab79b048dc5318a5 ("vcl:use unique_ptr<SalWinGraphics> in WinSalPrinter"). Would need something like Rust's Borrowing semantics to prevent. Ideas on IRC to make this bug more unlikely were some extra HDC + SalGraphics struct to pass around or something like unique_ptr reference passing and moving the value into a local copy. For now just add some additional comments. Change-Id: I472ee9acb4a4c02177c27ecd1c1277dfc812cadf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123440 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2021-10-12vcl:use unique_ptr<SalWinGraphics> in WinSalPrinterMark Hung
to replace plain SalWinGraphics pointer, and get rid of delete. Change-Id: If06df98a8ebfdf5797bddfefa37647522b8e711b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123365 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-08vcl: test PhysicalFontCollection and move to vcl::font namespaceChris Sherlock
- tested PhysicalFontCollection, noted odd behaviour with search names and normalization - moved PhysicalFontCollection.hxx to vcl/inc/font - moved PhysicalFontCollection into vcl::font namespace Note that I needed to regenerate the pch file otherwise errors were generated. Change-Id: Ifa0c7b871c40687bd15002565d2f7a3e408218f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122036 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-08vcl: split out outdev.h into seperate headersChris Sherlock
outdev.h is a hodge-podge of functions - font substitution and an internal state struct for OutputDevice. I have split these into: - font/fontsubstitution: FontSubstitution, GlyphFallbackFontSubstitution.hxx and PreMatchFontSubstitution.hxx (all three define pure virtual base classes for later reuse) - font/DirectFontSubstitution.hxx: incorporates FontSubstEntry and DirectFontSubstitution - ImplOutDevData.hxx contains it's own class Each fo the classes has been moved to the vcl::font namespace. As outdev.h is now no longer, this has meant that I have had to regenerate vcl/inc/pch/precompiled_vcl.hxx Change-Id: Iaa92fa21271faff46f2a8a0f6488e01434c142db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121997 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-05drop 'using namespace std' in vcl (Windows part)Julien Nabet
Change-Id: I8516e48f5e4a7266aef35ba2e31ebd107bf8169b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123112 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-10-05vcl: test PhysicalFontFace and move to vcl::font namespaceChris Sherlock
- moved PhysicalFontFace.hxx to vcl/inc/font - added PhysicalFontFace to vcl::font namespace - had to regenerate precompiled_vcl.hxx - tested PhysicalFontFace, with some extensive tests for IsBetterMatch() Change-Id: I860022ac244f8a827f6f9cb7ed9018c5d9c328cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121970 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-28gives names to all the Idles and TasksNoel Grandin
enforce it by making the constructor parameter non-default. Change-Id: I321543e4dcf15ea0a43ad8cce91d2f8dc22df6ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122766 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-28tdf#144754 WIN de-assert ReleaseFonts / setFontJan-Marek Glogowski
DeInitGraphics might already have reset the default HDC font, while the WinSalGraphics still has a font fallback stack. Not sure why this didn't trigger the existing assert before. Quite probably there was an existing lifecycle bug. Regression from commit 42f9d4335bfa4b7299224801fd7ccdd97ae92fbf ("WIN always (de-)init WinSalGraphics") Change-Id: Ie5826e632310a0d69e8f9617cf6f3629bc31f152 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122726 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-27vcl: move FontSelectPattern to own file and into vcl::font namespaceChris Sherlock
Change-Id: I2f01a8e67c52ece9b434777203aa9fbc9ac8be02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122613 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2021-09-27WIN lazy init WinSalInfoPrinter graphicsJan-Marek Glogowski
... and while at it make stuff private and add _ to the newly private member variables. The new assert revealed a bug in the SalGraphics refcounting, because the virtual ReleaseGraphics is called from the destructor, which was probably also the reason for the HACK and comment in Printer::ImplReleaseFonts. Change-Id: I7af0bda19be6810dd8c0ea5b74604381e2047407 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122371 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-25vcl: Add sal/config.h in preparation for patchChris Sherlock
Done in preparation of split of outdev.h into seperate headers Change-Id: I9183f9e10a3fd47557239b8cc9290ce8e86e614a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122255 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-25WIN call RealizePalette from setPaletteJan-Marek Glogowski
I have no idea, how to handle a RealizePalette error or when it can occur. The previous code has ignored it all together, or handled it as successful. This now doesn't act on GDI_ERROR. FWIW GDI_ERROR is defined a ~0 in wine, as it's an UINT. Change-Id: Ib0aaabcaa8c2d7d7ca93678b6b82db864beb8ce3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122370 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-25WIN handle graphics palette with deinitJan-Marek Glogowski
Manually setting the default palette of the graphics DC seems to be a bad idea. And I think this fixes a real bug in ImplHandlePalette, because that would set the graphics DC palette but didn't set the default palette using setDefPal. Change-Id: Ic3b176645c68fa33a020791d5b64b04c3cbaacee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122158 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-25WIN WinSalPrinter::isValid implies a valid HDCJan-Marek Glogowski
Change-Id: I7a8bb9f6666c75165ac1dcd49f14ae983b6eefe8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122372 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-25WIN always (de-)init WinSalGraphicsJan-Marek Glogowski
Originally I thought the whole (de-)initialization was some kind of lazy SalGraphics init stuff. But reading the existing code proved me wrong and every InitGraphics came a few lines after a setHDC call and DeInitGraphics before deletion or setHDC(nullptr). $ git grep -n "delete.*pGraph\|setHDC\|InitGraphics" vcl/win/ So just make (De-)Init part of setHDC and drop all the other calls to (De-)InitGraphics, adding a setHDC(nullptr) to the destructor. I've also added some questionable asserts, like assert(pPrinter->mpGraphics->getHDC() == pPrinter->mhDC); As I read the code, you can have a printer object initialized with a DC but without graphics, which will be initialized on demand. But AFAIK it's invalid to have a printer DC != graphics DC. Then there was the hDC check in WinSalPrinter::EndPage, which is IMHO not needed. AFAIK there is no way the graphics DC might be "magically" invalidated, so restoring the old DC values should always work. Change-Id: I1b961cfa733263ce773575a728bcce5c7d3e97ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122157 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-21vcl: remove OutputDevice's GetDevFontSizeCount() and GetDevFontSize()Chris Sherlock
The OutputDevice::GetDevFontSize() function is only used for non-scalable (bitmap) fonts. We have stopped supporting bitmap fonts since LO 5.3, see tdf#103514: Support for bitmap-only fonts on Windows has been removed (Khaled Hosny) I found the following when removing PhysicalFontFace::SetBitmapSize(): 1. as mnHeight and mnWidth and not set by anyone, I realized I could remove them, which meant removing GetHeight() and GetWidth() 2. PhysicalFontFamily::GetFontHeights() populates heights from the collection of font faces into a sorted vector of font heights taken from PhysicalFontFace. As this no longer exists this function serves no purpose, it has been removed. 3. PhysicalFontFamily::GetDeviceFontSizeList() calls upon PhysicalFontFace::GetFontHeights(). This function takes this sorted list of font heights, and then populates and returns a new list of sizes (or rather, heights). As the heights aren't available any more, this function is also unneeded, so it has been removed. 4. OutputDevice::GetDevFontSizeCount() calls upon PhysicalFontFamily::GetDeviceFontSizeList(). This function has the side effect of initializing the list of fonts. 5. When I checked what calls on GetDevFontSizeCount(), there is only one caller - FontList::GetSizeAry() in svtools. The function returns a standard font size list if the family name is empty, or there are no font sizes (via OutputDevice::GetDevFontSizeCount()). As this will *always* be empty (see chain above) then this function just needs to always return a standard font size list. Thus OutputDevice::GetDevFontSizeCount() and GetFontSizeList() are no longer called upon by anything, so they can be removed. 6. svtool's FontList::GetSizeAry() no longer uses the FontMetric parameter, so this has been removed from the function signature, and cleanup done of the function that calls upon it in svtools, framework, editeng, and desktop. A number of variables that were no longer used due to this change were also removed. 7. This change removed the need for the mpSizeAry unique_ptr in FontList. ImplFontListFontMetric::GetDevice() and mpDevice could also be removed as it was no longer used anywhere. 8. After simplifying GetSizeAry(), it turns out it was the same as GetStdSizeAry(), so removed FontList::GetSizeAry() and used FontList::GetStdSizeAry() in its place. 9. Changing to use GetStdSizeAry() revealed that FontSizeBox::Fill() no longer used the pFontMetric paramter, so this was removed, and call sites updated. 10. Due to change to Fill(): a. SvxFontSizeBox_Base::UpdateFont() no longer uses the const css::awt::FontDescriptor& rCurrentFont parameter, so removed this. This also removed the member variable m_aCurrentFont b. SvxCharNamePage::FillSizeBox_Impl() had a number of newly unused variables removed. c. SwStdFontTabPage::Reset() and SwStdFontTabPage::LoseFocusHdl() had a number of newly unused variables removed. Change-Id: If840e240155c36ed351c63e3136b5b44bb058697 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121932 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-21vcl: add sal/config.h in preparation for patchChris Sherlock
The convention is that we need to add sal/config.h to the start of files. This patch is created in preparation of a patch I have queued to test and move PhysicalFontFace to vcl::font namespace. Change-Id: I15dd24d7f01e077d407ac192a0413d796517eb72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122228 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-20clean up ambiguous confusing rectangle APIs like IsInside()Luboš Luňák
Reading 'rectA.IsInside( rectB )' kind of suggests that the code checks whether 'rectA is inside rectB', but it's actually the other way around. Rename IsInside() -> Contains(), IsOver() -> Overlaps(), which should make it clear which way the logic goes. Change-Id: I9347450fe7dc34c96df6d636a4e3e660de1801ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122271 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins
2021-09-19vcl: test PhysicalFontFamily and move to vcl::font namespaceChris Sherlock
- Adds a series of unit tests for PhysicalFontFamily - Moves PhysicalFontFamily into vcl::font - Move PhysicalFontFamily.hxx into vcl/inc/font This is part of a series of patches where I also move font files into the relevant font directories, and into the vcl::font namespace. Change-Id: I9e8d7ceb5ec3494bf3ab6560645e52e88223ee69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121903 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-18vcl: rename ImplDeviceFontList to PhysicalFontFaceCollection and testChris Sherlock
- renamed ImplDeviceFontList to PhysicalFontFaceCollection and moved to own header file - wrote unit test for PhysicalFontFaceCollection Note that this is part of a series of patches where I also move font files into the relevant font directories, and into the vcl::font namespace. Change-Id: I43669137bcd9a9b2a9417b2369a5cb1b93b93733 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121663 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2021-09-18vcl: add sal/config.h in preparation for patchChris Sherlock
The convention is that we need to add sal/config.h to the start of files. <chris_wot> mikekaganski do you want me to add sal/config.h to cxx files <chris_wot> as well as headers? <mikekaganski> chris_wot: rather ask sberg :) <@sberg> chris_wot, always, always as first include, by convention <chris_wot> thanks, I'll make sure I do this on any files I touch - if that's OK I have a patch queued to rename ImplDeviceFontList to PhysicalFontFaceCollection, which I am adding a test to. Submitting this patch so I can hopefully one day land this patch. Change-Id: I9d74f850745760774a9f8050023f584cf52dc070 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122167 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-17vcl: update vim modelines in preparation for new changeChris Sherlock
I have a patch queued to rename ImplDeviceFontList to PhysicalFontFaceCollection, which I am adding a test to. Submitting patch to update the modelines in the files that I will change in that patch. Change-Id: I3b0b022cbfa7b05dbfbb5c2d03f6d68128c0598f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122232 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-17Drop conditional WM_GETOBJECT define from vcl/win/window/salframe.cxxMichael Weghorn
WM_GETOBJECT is already defined in WinUser.h. Change-Id: I7594560698dd2a17412f5075f8b689decbd4ca49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122202 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-09-15add some logging for intermittent windows jenkins crashNoel Grandin
Change-Id: I8ad589dd8d0a64f75179d3330c80c9c43a21ff32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122155 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-09reduce time in ResetEvent (tdf#144052)Noel Grandin
Change-Id: I3e9c906a026e7455fb775d110eca32f8533614e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-04tdf#144289 invert / disable default OpenGL supportJan-Marek Glogowski
... and as a result drop setting a default in SalSvpInstance. This is also more consistent: now you must explicitly implement CreateOpenGLContext() and set "m_bSupportsOpenGL = true". Change-Id: I591580bf134907213b8308e0843c278d2f470ed3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121632 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-09-04fix comment left behindNoel Grandin
in commit e25ba7dc57229d1cb9794abd1ca23c0d87ebecb3 use a dummy clipboard when running unit tests Change-Id: If5f57d1777dddbd70771299c8e161b33da10711d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121600 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-01use a dummy clipboard when running unit testsNoel Grandin
so the multiple unit tests don't stomp on each other. This fixes a couple of things in my earlier attempt (*) actually set the env variable on Windows (*) don't use a global variable to test the env var, because that variable might be initialised BEFORE the env var is actually set Change-Id: Id43a1dd2fbd324691e0b6578c9026b8a523012e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121436 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20make BitmapPalette a COW typeNoel Grandin
so we can avoid copying it during rendering Change-Id: Id83d2bb2682f46188ee6ccc90c92d338a1e05b98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120759 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20VCL allow plugins to declare OpenGL supportJan-Marek Glogowski
... and get rid of the whole GetBackendCapabilities, which was just overkill. Maybe this should even be some bitmap + enum + set/get function, but I'm too lazy... In the end add a bool for the OpenGL support of the VCL plugin (or maybe sticking it into ImplSVData, which is already some catchall for common VCL data). Change-Id: I9f0ececac482d8e2a94ef6024628e9631b49e773 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120760 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-08-13no need to lookup window if cursor has not moved (tdf#105575)Noel Grandin
use a single-item cache to avoid calling WindowFromPos Change-Id: I0d42c9572d28363949e38f3e052973727a44fb4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120419 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-07no need to use UNO_QUERY hereNoel Grandin
Change-Id: I1bfe8238d7c08f27d2b21f9fe79712aba045c812 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120152 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-30tdf#70633 unset Alt if detected as AltGr in both KeyInput branchesCaolán McNamara
we are unsetting Alt if the modifier is AltGr in one SalEvent::KeyInput case but not in another. If I replicate the unset of Alt if AlrGr in the other place then both UTF-16 parts of the codepoint get accepted and the described input case works Change-Id: Ifa8a5afbb1853ef3d5f388fd5e7bd3bbc048e260 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118170 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-06-17tdf#115281 sc Windows: fix shortcut text Ctrl+` in View menuLászló Németh
In View->Show Formula, shortcut text was only "Ctrl" instead of the complete "Ctrl+`". Follow-up to commit 3f9fcf0e7f154e49bbffeaea925edb6055add494 "tdf#103388 Show the backtick used in shortcut in Calc View menu". Change-Id: Icef8904bac0b663d9702e62fcdc0ab1f0f4bd1ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117332 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2021-06-15Revert "tdf#142832: a blind fix - calculate rectangle size properly"Mike Kaganski
This reverts commit 57d122258437c0a14b303a8d961aa5e8f6f67f57. Reason for revert: As mentioned in https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowrect, > In conformance with conventions for the RECT structure, the bottom- > right coordinates of the returned rectangle are exclusive. In other > words, the pixel at (right, bottom) lies immediately outside the > rectangle. So it was incorrect change. Change-Id: I2b29871a5d9b944ce2f9119edb2e87c53d9ae298 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117212 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-14tdf#142832: a blind fix - calculate rectangle size properlyMike Kaganski
The size was calculated wrong - it needed a "+1". But a rectangle constructor taking L, T, R, and B is actually simpler. Change-Id: I4152f9b43f0ae8f1829038645fcf83bae156c618 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117129 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-10loplugin:unnecessaryreturn SalFrame::SetPluginParentNoel Grandin
Change-Id: If927a834f5b5d722fc36cce40e161597af6234ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116972 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-29vcl: Implement static vclplug usageJan-Marek Glogowski
.. and convert Android to it. Will also be used by WASM. It's also kind of a followup on commit f5af2104fc490b90510e36bbf1d2adec8017c594. Change-Id: I3a1b5bc2eae2692e706da10c6352534433c61e57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116385 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>