summaryrefslogtreecommitdiff
path: root/vcl/quartz
AgeCommit message (Collapse)Author
2022-01-04Drop also commented-out obfuscated SAL_DEBUG callsTor Lillqvist
Change-Id: I7bc8ee2e5e989e41fcc0b6f96c5b2b8f151cdd3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127937 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-12-10Revert "Re-Enable DrawTransformBitmapExDirect for render backends"Armin Le Grand
This reverts commit 7e5af164b7d293dd410710bed411e1ca64bbecf7. Reason for revert: Not the best/effective way to clear out the stuff remaining to be done, would need additional stuff Change-Id: Ia6ab90384da29a5e34eff0ab8881bad2ab49c58c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126601 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-12-07Re-Enable DrawTransformBitmapExDirect for render backendsArmin Le Grand (Allotropia)
Unfortunately the add/usage of HasFastDrawTransformedBitmap did disable the system-dependent implementations/fast-path for DrawTransformBitmapExDirect and it's implemenations, except for Skia. This means that the current backends for Windows/Mac/Cairo/headless/Qt5 have to do expensive pixel operations when a Bitmap is 'really' transformed (rotate/shear) since some time. The nine implementations using ::hasFastDrawTransformedBitmap (grep for it) all return false, except the Skia one. Since HasFastDrawTransformedBitmap() uses that and itself is used in the very central mehod OutputDevice::DrawTransformedBitmapEx(...) to decide if that fast-path shall/can be used at all, it was *no longer used* - except for Skia - what makes Skia definitely performing better with transformed Bitmaps, or the other way around - the others worse. HasFastDrawTransformedBitmap() is used in only two places, the second is in the canvas helper to decide if to try to use that fast-path for presentation rendering. A method at OutputDevice to see if that fast-path is implemented is therefore currently needed, but for the canvas helper only. Since this will/should be converted to primitive usage (hopefully) anyways, nine impementations calling these virtual functions often and the danger to produce a mismatch/ error beween implementations of hasFastDrawTransformedBitmap and drawTransformedBitmap (as happened here, but can also happen when someone adds or removes an implementation) I looked for a way to solve that differenly and more safe. Since SalGraphics::DrawTransformedBitmap anyways returns a bool to signal it's success I take this as base to implement a buffered test directly at SalGraphics, also directly set a local flag to detect that functionality if DrawTransformedBitmap is used anyways before the test is/would be needed. Combined wih that small test to check only if this was not yet used and thus tested by DrawTransformedBitmap anyways I can offer a reliable non-virtual method at OutputDevice called ImplementsFastDrawTransformedBitmap() that will be used at the single necessary location - in the canvas helper. Since that small test direcly uses one of the nine implementations of hasFastDrawTransformedBitmap it is fundamenally more reliable and probably the copy bitmap/writeBack never really used (I tested that it works) due to an earlier use of DrawTransformedBitmap did the check potentially already. I also took a look at the cairo version (since I had this one running here) and ensured that the buffering of the system-dependent form of the Bitmap as cairo surface still works. Regarding the newly introduced fAlpha parameter I want to add some remarks: - It should be called fOpacity to make clear that it describes opacity, defining that if 1.0 == fAlpha means *no* transparency. That word is used in other graphic systems and makes more clear what function it has. It is the opposite of transparency, but works the same. - Currently all implementations of ::drawTransformedBitmap - except Skia where it was implemented - do not use it, but return false. It will in most cases not be too complicated to add/implement it, e.g. for cairo anyways a transparency surface will/is created, fAlpha can just be merged in, and the criteria for buffering that may be extended to remember for which value (if at all) of fAlpha that was prepared. I strongly recommend implementing these for our main graphic backends. - The primitive renderer uses another more general way to add an extra alpha channel to paint when needed - it draws the content (any content) that needs to be transparent to a buffer and then that buffer using the intended transparency. This is discussable since may be more expensive, but more general and keeps the interface less complex. We can see here that adding that complexity to the existing interface at OutputDevice makes the implementations more complex what might be the reason his was only implemented for one of nine backends. When adding something like this and extending the complexity I would prefer that at the same time it gets also *implemented* in all or most or at least most used cases. I want to make clear that from my POV in those cases choosing possible runtime speed over complexity is not always preferable. Change-Id: I5bab59f59fca878a7b11a20094e49e8b50196063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126480 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-11-19Drop F_PI1800/F_PI18000, and unify deg2rad/rad2deg conversionsMike Kaganski
Change-Id: Ib89b00c3dc8cd440e8a88906eea133becd1cef64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125509 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2021-10-10tdf#144757 - fixed fonts not shown in font listChris Sherlock
When in font options, the Fonts in "Font Setting for HTML, Basic and SQL Sources" were not showing any fixed (non-proportional) fonts in the list when "Non-proportional fonts only" was ticked. The reason this was occuring was because we were not populating the fixed font attribute when getting the CT font descriptor. Change-Id: I06127ac48bd0f3bc9b70217b36bbf584a1b0fdc2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123316 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
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-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-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-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-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-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-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-19loplugin:sequenceloop (macOS)Stephan Bergmann
Change-Id: I5d004dfcce2ce1aad520f9e541432a60627161a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120739 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-22tdf#142061 Add window scaling to XOR emulation on macOSThorsten Wagner
Window scaling for retina displays on macOS has been added to fix tdf#138122 in commit 1a167625314bf36b735176ed488e6ba9b5e9b675 Missing window scaling for XOR emulation is added by this change. Code modified for macOS is moved from quartz/salgidcommon.cxx to osx/salmacos.cxx while original code is copied to ios/salios.cxx to prevent modifications for iOS. Change-Id: Ia8c52f9045379cc37d5aff1279650db0dddee8c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115816 Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-05-04loplugin:redundantstaticStephan Bergmann
Change-Id: I933a51e9107d8f7dff5eeb03f9aba14dff534574 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115046 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-01Related: cid#1478001 CreateVirtualDevice never passed a null pGraphics argCaolán McNamara
Change-Id: I0701b15a28ab3583586c0c8018c511e100b41a93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114948 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-30vcl: iOS/macOS - move graphic render func. into AquaGraphicsBackendTomaž Vajngerl
This change moves graphic rendering function under AquaSalGraphics into a new AquaGraphicsBackend, which inherits from SalGraphicsImpl. This is part of the refactoring to make it mandatory that a SalGraphics always has a SalGraphicsImpl associated, which will make it possible to simplify the SalGraphics interface and enable the posibility to implement alernative graphic backends (Skia). Common variables and attributes are moved to AquaSharedAttributes and are shared between SalGraphics and SalGraphicsImpl. Change-Id: Ie48da87002ec8e4011ba92fdc9170f3a86761517 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114701 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-04-29remove support for BITMASK in vcl backendsNoel Grandin
Rather use a proper alpha channel if we need transparency. This is another small step towards merged alpha in our vcl layer. I suspect the intent in a lot of this code was to save memory. Which have been a thing way back then, but these days our backends mostly end up doing a copy-and-convert to a real alpha channel anyway, so the existing code is actually now a pessimisation. Change-Id: I4a2bcbb2f76b841f05bc00580f364492829c69de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114808 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-27vcl: store XorEmulation in a unique_ptr not raw pointerTomaž Vajngerl
Change-Id: I123c4048d333cdc761582763d6ccb9c254e32bbb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114700 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-04-06vcl: quartz - use ScanlineTransformer instead of local converterTomaž Vajngerl
ScanlineTransformer was created because there are multiple impl. of the same tool (ImplPixelFormat), but it never replaced those duplications. This change removes one of the duplications - the one in Quartz backend. Change-Id: I637433ae59e7577022b86e582eb4a8a64f3055f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113610 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-04-06vcl: use PixelFormat enum in SalBitmap interface and backendsTomaž Vajngerl
This changes all backends to use PixelFormat as the input to the SalBitmap::Create method (and all the backends). This is the first part as we need to make sure to also limit the use of GetBitCount method and also use of it in SalGraphics. Change-Id: I8d2b6adfcb8fe3dd78010538411f338c9a1c3996 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113603 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-03-31remove internal 4bit scanline formatsNoel
since we have already removed the 4-bit internal bitmap formats. Change-Id: Ie481aaa8e25642a47e30beb6f37e2d3beda304e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113412 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-23tdf#141063 Always use region rectangles for clipping on macOSThorsten Wagner
The use of polygons currently causes misalignment by one pixel. Use of polygons is dropped on macOS by this change similar it has been done for SKIA to fix tdf#133208. Change-Id: I31faf7cf9b33908a52cb60d1b631308b4fe45e56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112823 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-02-24add additional 0-1 alpha argument to DrawTransformedBitmap()Luboš Luňák
This allows the VCL backends the apply the extra alpha transformation as it sees fit, rather than it being done manually elsewhere (and even if the backend doesn't implement it, at least do it in one place in the function). With the document from tdf#136223, going from slide 2 to slide 3, this easily saves 10-30% of CPU cycles. As an additional bonus, using AlphaMask::BlendWith() rather than AlphaMask::Replace() makes edges of shapes noticeably more smooth. Change-Id: I036dc9b887d6def0c7cdad3982becabdc7cd5206 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111247 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-02-24simply use drawTransformedBitmap()Luboš Luňák
At least with Skia this is faster than GraphicObject trying to handle it manually, even in raster mode. Change-Id: If77d108751f5621878d4ea87a996c2ea0253d111 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111246 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-02-23tdf#138122 Detect window scaling for multi display configurations on macOSThorsten Wagner
(1) Activate window scaling when at least one retina display is connected (2) Remove environment variable VCL_MACOS_FORCE_WINDOW_SCALING (3) Disable related unit tests unless bitmap scaling has been implemented Change-Id: I218119a21e319e22bf17c609608724fce180f000 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111267 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-01-28Revert "tdf#138122 Detect window scaling for multi display configurations on ↵Stephan Bergmann
macOS" This reverts commit f318b856ed055f1952276355f811153f6b29c93e. It appears this reliably causes CppunitTest_vcl_backend_test to fail on macOS on at least tb69, see e.g. <https://ci.libreoffice.org/job/gerrit_mac/82587/ consoleFull#-500134232d893063f-7f3d-4b7e-b56f-4e0f225817cd> and <https://ci.libreoffice.org/job/gerrit_mac/82592/ consoleFull#-500134232d893063f-7f3d-4b7e-b56f-4e0f225817cd>, [_RUN_____] BackendTest::testDrawBlendExtended /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:688:BackendTest::testDrawBlendExtended equality assertion failed - Expected: c[000080ff] - Actual : c[ffffffff] BackendTest::testDrawBlendExtended finished in: 1ms [_RUN_____] BackendTest::testDrawAlphaBitmapMirrored /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:749:BackendTest::testDrawAlphaBitmapMirrored equality assertion failed - Expected: c[ff0000ff] - Actual : c[000000ff] BackendTest::testDrawAlphaBitmapMirrored finished in: 1ms [_RUN_____] BackendTest::testTdf124848 /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:808:BackendTest::testTdf124848 equality assertion failed - Expected: c[000000ff] - Actual : c[ffffffff] And it also causes my local macOS 11.1 ARM64 build to consistently fail that way, both the original patch set 1 (with the older parent) and the submitted patch set 2 (with a newer parent). Change-Id: I2c36fada271e8bc300b6caa19370d8e8bb1e7599 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110055 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins
2021-01-27tdf#138122 Detect window scaling for multi display configurations on macOSThorsten Wagner
(1) Activate window scaling when at least one retina display is connected (2) Remove environment variable VCL_MACOS_FORCE_WINDOW_SCALING Change-Id: If6926ace7238f2be4ae91290872dbb3dbf658221 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110002 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-21loplugin:doubleconvert (macOS)Stephan Bergmann
Change-Id: I3225ec0916b793a322acb44010563052451f782e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109758 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-01-18Clean up includes a bit for iOS and macOSTor Lillqvist
Change-Id: I1dc6256968503ee3865f90e3693acce911a1d65c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109485 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-17tdf#138122: Fix vcl for iOS after 1a167625314bf36b735176ed488e6ba9b5e9b675Tor Lillqvist
Make vcl compile again for iOS and make the Collabora Office iOS app work again when built against a master build of core. For now, keep the old versions of the functions touched by 1a167625314bf36b735176ed488e6ba9b5e9b675 in vcl/ios/salios.cxx, and move the modified versions to the new file vcl/osx/salmacos.cxx. Keep the functions as they were except that ifdefs for MACOSX or IOS are expanded. Keep the formatting as it was to make comparisons easier. Thus add the new files to the clang-format exclusion list. While at it, also move vcl/quartz/salgdiutils.cxx to vcl/osx as it is compiled only for macOS anyway. Change-Id: I990ef678f2263031d4a5af8cc547fffe185d17c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109480 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-17tdf#138122 Add window scaling for retina displays on macOSThorsten Wagner
(1) Remove hack to make application look as if being linked against SDK 10.13 (2) Use quad storage size on virtual devices for displaying on retina displays thereafter (3) Apply workaround to downsample bitmaps from scaled layers (to be implemented) (4) Disable dark mode (to be implemented) (5) Provide new environment variables: VCL_MACOS_FORCE_WINDOW_SCALING: window scaling on non retina displays VCL_MACOS_FORCE_DARK_MODE: enable dark mode (macOS 10.14, iOS 13 and newer) VCL_MACOS_USE_SYSTEM_APPEARANCE: use light mode or dark mode (macOS 10.14, iOS 13 and newer) as configured by system preferences Change-Id: I99877cd62a98cb91bcbf27af62b043c31c5f5fc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109072 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-01-04Don't use m prefix for a local variableTor Lillqvist
Change-Id: I73e106923d463215078a465f9ff933ea3c89255f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108665 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-12-31Bin unused AquaSalGraphics::GetContext()Tor Lillqvist
Change-Id: I53cfc0451dd67b7508d85050fbf262aafc361550 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108513 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-12-30tdf#138122: Add comment wondering what the code doesTor Lillqvist
Change-Id: I0caea1297404e7970571085cc787ff23e614e500
2020-12-29vcl: move local bitmap headers to inc/bitmap directoryChris Sherlock
Change-Id: I72cc28d4df8031e322daa50d79666cabcb6421a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108040 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-12-22loplugin:loopvartoosmallStephan Bergmann
Change-Id: Ia9ae40b6286801c7cbdab6856d57e0ddd37aba87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108161 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-21Add two debug output helper functionsTor Lillqvist
Change-Id: I38a234e6f4a3fc5e0f17cfd9a0068d2081b6c654 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108099 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108100 Tested-by: Tor Lillqvist <tml@collabora.com>
2020-12-03There is nothing called "Quartz layer"Tor Lillqvist
We mean CGLayer, so say so. Change-Id: Iaa24471ce790114dc5cf2bbf353f9aa4a1d59893
2020-11-15loplugin:toolslong in Library_vclplug_osxStephan Bergmann
Change-Id: I63892376154893a97e6b205b93c1682f66fd3064 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105756 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15-Werror,-Wdeprecated-anon-enum-enum-conversionStephan Bergmann
...even though CGBitmapContextCreate is documented to take a mixture of CGImageAlphaInfo and CGBitmapInfo flags; so convert all to the uint32_t CGBitmapContextCreate bitmapInfo parameter type Change-Id: Ic6630c68760fe29b6abf6053e80a852a31349839 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105755 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-15DPI values are generally represented as sal_Int32 in VCLStephan Bergmann
cf. e.g. pure virtual SalGraphics::GetResolution (vcl/inc/salgdi.hxx) Change-Id: I77d54ad0a7b80cf8839b253c14ce468ac4e16c84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105748 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-14remove SalPointNoel Grandin
<caolan> that "SalPoint" doesn't really seem to to have a purpose except to highlight that "Point" is assumed to use LONG under windows and can be passed unchanged to those windows drawing apis <caolan> so I guess remove SalPoint entirely, use Point instead, and convert to "POINT" under windows ? Change-Id: Ic15a7f4516e2075a228fa65cac4e8494d5b3abaa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105634 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-11-12loplugin:cstylecast (macOS)Stephan Bergmann
Change-Id: Ic2833f2e6dfea4a9e3dd1094151f86e07be83040 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105623 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-11-12loplugin:nullptr (macOS)Stephan Bergmann
Change-Id: I94b624f5340709e2cc456be12c7b21eab508dddb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105609 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-10-29Speed improments191919
Improve drawing performance on 10-bit displays by avoiding multiple color space conversions. Make all drawing context bitmaps have the colour space and byte order of the host window. Fix serious CoreGraphics-related memory leak (existed no later than version 7.0) when changing the window size. Change-Id: Ia7b7e88d47b728bd1d10dedc1ca222215de41e73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104858 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-21new tools::Degree10 strong typedefNoel Grandin
partly to flush some use of "long" out the codebase, but also to make it obvious which units are being used for angle values. Change-Id: I1dc22494ca42c4677a63f685d5903f2b89886dc2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104548 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-18-Werror,-Wunused-parameterStephan Bergmann
...since 2cd47f53b4c7bd300c210eaa466e13adc832c9b5 "tdf#137468: Add debug output function for CGColorSpaceRef" Change-Id: If392589071ddbc787e54863bafd65734aafe8c67 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104480 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>