summaryrefslogtreecommitdiff
path: root/vcl/inc
AgeCommit message (Collapse)Author
2021-09-03pull duplicate field out of GlyphItemNoel Grandin
we already store it in SalLayoutGlyphsImpl Change-Id: I772c08966572e42789bcede1a148b2b7710f29d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121602 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-03pack GlyphItem structNoel Grandin
56 bytes -> 48 bytes Change-Id: I30d9763162b701e3d07a153deae3f5e03c290393 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121583 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-03rename NeedFallback to AddFallbackRunNoel Grandin
Change-Id: I5d91e7b28075026198444036fbfc220296deac77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-03rename NeedFallback to HasFallbackRunNoel Grandin
Change-Id: Iec45f84b330fc4e4a62b352cb007747a19a27bed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121578 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-03backendtest: Rectangle on wide surfaces Drawing testhomeboy445
This tests draws a rectangle using all possible drawing methods for drawing a rectangle on a wide surface(1028x1028 and 4096x4096) and check it the usual way. Change-Id: I6fcf9c9b4b150cbe959b8151f327bcdce1b1139a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119464 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-03simplify ApplyDXArray method paramsNoel Grandin
pass only the required data to it Change-Id: I849780371b71d3620dc36681453f5dbe1527b7bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121577 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-02unused definesNoel Grandin
Change-Id: I494e64c69decb9fb3d5b13ffc2f18d99f6b7749f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121442 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-31vcl: move RemoveTransparenciesFromMetaFile() to outdev/transparent.cxxChris Sherlock
Don't know why an OutputDevice function was used in print2.cxx, but definitely needs to be in the outdev source directory, and transparent.cxx is the most appropriate place to add this. To be honest, that function only operates on metafiles, so perhaps we should make this part of GDIMetafile, so added a TODO. Also, a number of local header files (all to do with PDFs) needed to become module local headers, so I have moved these to the vcl/inc/pdf directory. Change-Id: I1feb8e5e8aedc7399740a035beacd2dad3de317f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121321 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-31reduce code duplicationLuboš Luňák
Change-Id: I31ee84be7ebee7f1644d7fd43bbc951abd2842d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121328 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-30vcl: move TextLayoutCache into vcl::text namespaceChris Sherlock
Placed TextLayoutCache function into own source file and moved it into the new vcl::text namespace. With this patch we will have these vcl::* namespaces: namespace vcl::bitmap namespace vcl::CommandInfoProvider namespace vcl::detail namespace vcl::drawmode namespace vcl::fileregistration namespace vcl::filter namespace vcl::font namespace vcl::graphic namespace vcl::lok namespace vcl::pdf namespace vcl::table namespace vcl::test namespace vcl::text namespace vcl::unohelper namespace vcl::unotools Change-Id: Ia38c2d73715676a924cdbb0de6308a72a40ec3b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121206 Reviewed-by: Hossein <hossein@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-28vcl: move TextLayoutCache to own module headerChris Sherlock
Add a unit test for TextLayoutClass - it basically tests that script runs work as intended. Change-Id: Ie65acf06f13c89c182d93b20fc9a28866db2330c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115470 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-27vcl: SvmConverter is only used in vcl filtersChris Sherlock
Change-Id: If198b143d520937193b63985b4c21da0e29308bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120834 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-27Take the PDF graphic rendering DPI into account when exportingTomaž Vajngerl
Change-Id: I1d3465fc7357e6991161d5a96bcd70c53c55f244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121087 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-27backendtest: Test Drawing Bitmap other than 24bpphomeboy445
This test draws bitmap formats other than 24bpp - namely 32bpp and 8bpp greyscale. Change-Id: I1b21214429be08fc7cf1eb086c2ad8946780f481 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119371 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-26backendtest: Intersecting Rectangles Drawing testhomeboy445
This test intends to test the even-odd filling rule by testing if the intersecting rectangles have been filled accordingly to the rule or not. Change-Id: I0fb7f115a25476cc38e8bec5cd02737aea3c0316 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119098 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-26backendtest: Text Drawing testhomeboy445
This test revolves around drawing text to a Virtual device and testing if it's rendered at the expected position. Change-Id: Iccfe382103632822befe84d5933d64eacefffa24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118976 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-26vcl: partial revert of drawmodeChris Sherlock
Partial revert of commit 0901297902c29c041ae944973b369e8247716893: vcl: create drawmode functions The GetBitmap() function will not work, as it doesn't add metafile actions. I have added a unit test to prevent this from occuring in future. Change-Id: I8c895e813f378f85ee47f85c3f867e20925bae2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121039 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-25use our own Skia surface when using GPU screen drawingLuboš Luňák
Previously the code called window context's getBackbufferSurface() once, and the repeatedly used it for drawing and then did swapBuffers(). This worked until version chrome/m91, now Skia requires that a screen drawing pass is calling getBackbufferSurface(), drawing to it and calling swapBuffers(). Since we do not always draw full window content and instead keep previous content, use a separate offscreen surface for that and for actual screen drawing just blit that to the screen surface. Change-Id: I36a5b3bb23a085936f4473a0e00d8e04c6b40dab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120966 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24implement explicit screen flushing also for Skia/MacLuboš Luňák
Change-Id: I29b9f54d24aece32949ac3ba916f1d6588cfd85f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120910 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24initial Metal support for Mac/SkiaLuboš Luňák
This also required changing SkiaSalGraphicsImpl to have sk_app::WindowContext as an internal detail inaccessible to the base class, since the Mac implementations cannot use it as is. Change-Id: I2424f0b887c79ee91c3bd0f1477b0745f9540247 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120909 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24build Skia with Metal supportLuboš Luňák
Change-Id: I7a9abde4101164af8c47433acfa35f4f9d3b3d04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120907 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-24vcl: create drawmode functionsChris Sherlock
Change-Id: I3cb0325dc16db84ad58de28aa9110e9c7a0b9697 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115372 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-23Make compilation for iOS get a bit furtherTor Lillqvist
Note that I did not try to refresh my memory of what anything of this actually *means*, I just did a couple of quick edits to get past compilation errors in vcl. The build now proceeds until "No rule to make target '/Volumes/TML13/lo/master-ios-debug/instdir_for_build/LibreOfficeDev.app/Contents/Frameworks/libgcc3_uno', needed by '/Volumes/TML13/lo/master-ios-debug/workdir_for_build/Executable/saxparser.run'." Change-Id: I42e2d60bf691f99631b2700e45921824144df2d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120892 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-08-23add CreateCGImage() variant for Mac/SkiaLuboš Luňák
Needed at least for 'recent documents' icons in the Mac menubar. Change-Id: I5a22cf64ff5c5aba2c70ca2556fd0b66c425bafd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120811 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-23implement text rendering on Mac using SkiaLuboš Luňák
There may be still small problems (CJK needs checking), but this is already usable. Change-Id: Ic9381c22ca55d9e6320152ffebeae740fd90f796 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120810 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-23implement mac native widget drawing also for SkiaLuboš Luňák
Change-Id: Ie91e48cb315d8e11508f064a6dcd9fafebb39abd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120809 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-23implement blitting to screen for skia on macLuboš Luňák
Change-Id: I01fdb57815dc3dff6d2c5757b55445f16825ed20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120807 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-23make SalGeometryProvider available for Aqua VCL backendsLuboš Luňák
This is needed for the Skia backend to know the geometry. The Mac Skia code now passes most VCL unittests. Change-Id: I6e35764d95ce821d8e11ed9979e5be75bcf6ff49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120806 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-23first WIP version of mac skia SalGraphics backendLuboš Luňák
It doesn't yet blit to screen, but the basics should be there. Change-Id: I0f77b66756f578d84d0cee16cda00e7a2fea714f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120805 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-23jsdialog: weld BoxSzymon Kłos
Change-Id: Ideb7b7ce8d7bf2e8494f053b13d662e19060b256 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120792 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-08-23Move SalInstanceBox decl to headerSzymon Kłos
Change-Id: I945fdbb17caf417990d3531175328099f1a6c93f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120791 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-08-22don't store vcl::Font with unique_ptrNoel Grandin
it is already a COW object, so just use std::optional Change-Id: I5ced54dbf3dc222316d9bcf3581b36e0f6e6e270 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120818 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-20tdf#143957 Qt5 always create an OpenGLContextJan-Marek Glogowski
Nothing checks the result and a lot of code just uses it. Change-Id: I1a672e98d42673fd684538ead831622f6a14e9f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120761 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
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-18loplugin:constparamsNoel Grandin
Change-Id: Ic7410f836e584df45101e78e345c8b3c8d355e09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120680 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-18tdf#143114 Avoid StartDrag on TreeListBox when CaptureOnButtonArmin Le Grand (Allotropia)
The original method SvTreeListBox::StartDrag always triggers a MouseButtonUp event and tries to initiate a Drag of a Line of a TreeListBox (on MouseMove, btw). This is not wanted if the last MouseButtonDown started a ButtonActive mode and activated CaptureMouse, prepared to trigger Action on that Button on MouseButtonUp. It leads to unwanted/strange behaviour of Buttons/CheckBoxes when used in TreeListBoxes. The behaviour is also dependent on the UI implementation used under Linux (gen/gtk3_kde5/gtk3/qt5/kf5) which are all (unfortunately) behaving differently, but a first suggestion/ step to enhance the situation. Found now for gen/qt5/kf5 that when on the LineEntry, but not on the CheckBox, on MouseButtonUp the other line gets switched. Corrected that. Also moved call to base class method MouseButtonDown in SvTreeListBox to the end of function due to that call may lead to current incarnation getting disposed. That was the reason for the crash described in tdf#143749 Note: for gtk3_kde5/gtk3 there remains the problem that the CheckBoxes get switched on MouseButtonDown, butt these are generic widgets and this needs to be solved differently. Change-Id: I9b73d9a7230469664dd6041f81b399e7d933852b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120593 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-08-18loplugin:passstuffbyrefNoel Grandin
Change-Id: I4f01eb3842ef198f02af274f54afb2760c820a4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120655 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-17jsdialog: dump image for toolitemsSzymon Kłos
Change-Id: If47eb57cc18c6f04e5b2e3a14a6bcea657e03df8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118472 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120543 Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2021-08-17jsdialog: simplify popup codeSzymon Kłos
Change-Id: I3a84b1f7c8521b861e99384872127bb4d224c18b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118409 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120542 Tested-by: Jenkins
2021-08-16Drop tools::Rectangle::getX/getY, which are just duplicates of Left/TopMike Kaganski
The change allowed to simplify many places where previously this API was used, to avoid inefficient calculations (e.g., moving rectangle keeping its size, and then immediately changing the size). Change-Id: Ica2dc594d91cae83e2c2740c1f4fb23f44998916 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120461 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-16backendtest: Asymmetrical Filled Drop Like Shape testhomeboy445
Change-Id: Iacf121483aefa71d6f24e14782fcaf22c0d5d56e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118859 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-16Revert "tdf#143114 Avoid StartDrag on TreeListBox when CaptureOnButton"Julien Nabet
This reverts commit ca7dab5d96e73b7b4b045e2460e0b2ee150757db. It created tdf#143749 + the dup tdf#143865 Change-Id: Ibd68c45213491b0df7dc36f0418de307412499c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120531 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-08-12backendtest: Closed Bezier loop test using various drawing methodshomeboy445
Change-Id: Ib2ddc8475e2476ce377f3541caa0d48e7c57241a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118783 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-11tdf#143148: Use pragma once instead of include guardsZeynep Yavuz
Change-Id: I483d494a11b951fd415a314fddd4823db11dcb44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120295 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-11backendtest:Irregular HalfEllipse test via various drawing methodshomeboy445
Change-Id: If1a6f224f6ff4118617128630077a81da4c469a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118656 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2021-08-11no need to allocate AllSettings separately in ImplSVAppDataNoel Grandin
Change-Id: I16b21d2bec8de9e5f4e8402c838c99d73637fe99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120290 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-10gtk4: remove training wheelsCaolán McNamara
Change-Id: Ib52a4cc56fafc23ced1ce4f27d2c69977471d1d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118491 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-10flatten ImplImageTree a littleNoel Grandin
Change-Id: Ibf67c85f4af80e5420b017a1a1f89e3eac8a3118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120219 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-10flatten Accelerator a littleNoel Grandin
Change-Id: I188a9ce69a89958f776f696f1da2f96b82a7f6da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120217 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-10flatten ImpGraphic a littleNoel Grandin
Change-Id: If7d7462571cbee1c54965678fab790959c6e3f33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120218 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>