summaryrefslogtreecommitdiff
path: root/vcl/inc
AgeCommit message (Collapse)AuthorFilesLines
2019-10-10initial implementation of Skia drawing on screen in Windowsprivate/llunak/skiaLuboš Luňák3-0/+56
Change-Id: I1562bd2cfd1862947042bef3343aefd851a65002
2019-10-10make X11/Skia render to screen using Skia codeLuboš Luňák2-2/+10
Change-Id: I3056afe2ba0a15e0798d209ab9bd833c773948be
2019-10-04implement skia x11 cairo text drawingLuboš Luňák1-0/+2
Change-Id: Id7d29980d2ea82b98e478e24b7e3189c31fa7257
2019-10-04move opengl and skia cairotextrender.cxx to their dirsLuboš Luňák3-0/+103
Change-Id: I67a87db644dc6fd7d69d615f7b4c388c3a1d97f6
2019-10-02make the X11/Skia backend finally capable of drawing on screenLuboš Luňák2-5/+21
Change-Id: I5c847c1036c671137ee27053691189093b1dafae
2019-10-02correct SkPaint usage when paintingLuboš Luňák1-2/+0
Handle SALCOLOR_NONE properly. Also avoid reusing a global SkPaint, creating a new one is as cheap as making a copy, and this way it's less error-prone. Change-Id: I12659cdc58b02f5105029b2b89d1b0c147c7a471
2019-10-01implement skia copyBits()Luboš Luňák2-5/+3
Change-Id: I6706de1daaac60ce493b60af129e7a8e92c73bed
2019-09-24Skia alpha handling improvementsLuboš Luňák3-5/+21
CppunitTest_vcl_bitmap_render_test now passes. Change-Id: I88863c63de84f28b5dfeeaf73d3879bc7cbba1b2
2019-09-24Skia supports 32bit bitmapsLuboš Luňák1-0/+2
And I'd say OpenGL does as well, but enabling this for OpenGL makes some tests fail, so let's keep this only for Skia. Change-Id: Ibbbb460cd053f4a6caa4e3a8a9c6ec52e19dcd38
2019-09-23better support for <8 bpp in SkiaSalBitmapLuboš Luňák2-2/+12
Change-Id: Ife79abfb9c36925405fd0b7da40f5274c0339117
2019-09-23move opengl's code for converting 1,2,4bpp to 24bppLuboš Luňák1-0/+3
To be reused by the Skia code. Change-Id: If3befdbd86d98a2d931c7a366c47be57a0ae6c59
2019-09-23add .cxx file for SalBitmapLuboš Luňák1-23/+1
And move the non-trivial virtual UpdateChecksum() there. Change-Id: I6776a51373e375e12f1ec9588a9c49410ae5124a
2019-09-23WIP add forgotten skia/gdiimpl.hxx changesLuboš Luňák1-2/+38
Change-Id: I9bd809fe1e1896a119cd4c3c72e1fd41fa4bed41
2019-09-23more work on SkiaSalGraphicsImpl, mainly drawBitmapLuboš Luňák1-0/+1
Change-Id: I153f71abe4612e2561e41ee923eb28e46cc31a98
2019-09-23Skia dump() should be constLuboš Luňák1-1/+1
Change-Id: I01302255daf37222ad13f9151b1a80aacb784a3c
2019-09-23initial work on Skia SalGraphicsLuboš Luňák1-1/+7
Change-Id: I3a86052ac1243e1dcdf63c7d003a7cd7c678faa8
2019-09-23(merge?) move skiagdiimpl.hxx to skia/Luboš Luňák2-1/+1
Change-Id: Ide61571d9298e657119b42a16cc9b62777c20e53
2019-09-23move openglgdiimpl.hxx to opengl/Luboš Luňák3-8/+8
That's where all the other opengl headers are. Change-Id: I1f8bbfb7018a6c28c87e4dfa2acbf4efde62894b
2019-09-20basic functional implementation of Skia SalBmpLuboš Luňák1-0/+6
Change-Id: I8e81c44554663a99cd4b262e37f4841ba0687cf1
2019-09-20(merge) improve salbmp.hxx styleLuboš Luňák1-16/+19
Change-Id: Ib75a6a63e55c559b34033f2afb59f18d15e17700
2019-08-16WIP skia now actually buildsLuboš Luňák1-1/+1
Change-Id: I4f1253f1ad4496b1578f9d6838662c1fbba377db
2019-08-15WIP empty Skia vcl implementationLuboš Luňák4-126/+9
Change-Id: I3849c7895a3a8747f5874a91c023a38a26d18179
2019-08-15add missing #includeLuboš Luňák1-0/+3
Change-Id: Ib0576a5d90d4e1d7dd97104d4be3a253a80c9392
2019-07-30WIP skia integrationLuboš Luňák5-0/+459
Change-Id: I3c810d8eaf242527e6274cb59c7caaa7da30bb23
2019-07-27vcl: make ImpAnimView variables more clearChris Sherlock1-9/+9
Change-Id: I58904862974c416cddbd996af7d38ce639f1eb78 Reviewed-on: https://gerrit.libreoffice.org/76398 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2019-07-25Fix typosAndrea Gelmini2-2/+2
Change-Id: I1efccb8b926e4aa10e9ccee7e8e36919e38c05fc Reviewed-on: https://gerrit.libreoffice.org/76339 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2019-07-24move aboutdialog header inside vclCaolán McNamara1-0/+62
Change-Id: I1906992759afec0176b723917662fa0644a03c1c Reviewed-on: https://gerrit.libreoffice.org/76221 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-23close some more holes in structuresNoel Grandin3-10/+10
and improve the pahole script so I can just run it once over the whole codebase Change-Id: I7e1775974a3a61f8c0e40646158f01163ace60cc Reviewed-on: https://gerrit.libreoffice.org/76122 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-21tdf#125922 rename kde5 to kf5 + plasma5Jan-Marek Glogowski3-5/+5
Just as the gtk3 plugin isn't named GNOME, rename kde5 to kf5, as it is based on the KDE frameworks 5 libraries. This also includes: * a convenience alias to load the kf5 VCL plugin in case someone requests the kde5 plugin. * keep convenience kde5 configure switch, but warn about it * rename detected desktop from kde5 to plasma5 Change-Id: I6764a05b81a5edbf284484c234fee2649aacf735 Reviewed-on: https://gerrit.libreoffice.org/75313 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-07-19Engine to add Extension inside extension tab in NotebookBarSumit Chauhan1-2/+5
The patch provides backend for adding the extension.Schema for the adding extension in notebookbar can be seen here https://gerrit.libreoffice.org/#/c/75134/ Change-Id: I10f0e83d1aaec5330c80b3b53cf59a21b93be015 Reviewed-on: https://gerrit.libreoffice.org/75650 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2019-07-19loplugin:constantparamNoel Grandin1-1/+1
and tweak the plugin to handle a crash seen with clang-9 Change-Id: Ie1ccf80c16a20dbca58e5bd081af13f75cf5ac8f Reviewed-on: https://gerrit.libreoffice.org/75850 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-17loplugin:unusedmethodsNoel Grandin1-2/+0
Change-Id: Ie2285f64919d1c83b0a8df4ceb827f731e5cd609 Reviewed-on: https://gerrit.libreoffice.org/75739 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-15cid#1448286 Uninitialised scalar fieldCaolán McNamara1-0/+4
Change-Id: I064a996c52a95922d72ac8577c98dbb6354daa72 Reviewed-on: https://gerrit.libreoffice.org/75653 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-14Qt5 also has native file selectionJan-Marek Glogowski2-5/+4
Change-Id: Ia47ab46f27e07b396aa324dd01af9d152b65de98 Reviewed-on: https://gerrit.libreoffice.org/75573 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-07-12Qt5 drop special QPushButton handlingJan-Marek Glogowski1-3/+0
Basically reverts commit 3f0dbdd61df ("Draw button focus so that it doesn't obscure the actual button") and declares qt5 doesn't support an extra native focus for a button. LO's own "ant" focus is prevented by Qt5Data::Qt5Data(): pSVData->maNWFData.mbNoFocusRects = true; pSVData->maNWFData.mbNoFocusRectsForFlatButtons = true; Change-Id: Ifdce615cac92f69b008780cf986cdfd0915ccd14 Reviewed-on: https://gerrit.libreoffice.org/75415 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-07-11Qt5 / KDE5 drop unused configure.ac bug testsJan-Marek Glogowski2-145/+0
These were moved from the kde4 backend but never used. The tested bugs don't exists in Qt5 AFAIK, so just remove them. Change-Id: Ib30c3aee8caf0addd6cf17938f7915a65733e328 Reviewed-on: https://gerrit.libreoffice.org/75428 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2019-07-08Do not support GL blacklisting for Windows versions older than 7Gabor Kelemen1-3/+0
Since we no longer install on such systems anyway Change-Id: Ia3b5c202e1276857c97017bb5a7eb9f087d5626e Reviewed-on: https://gerrit.libreoffice.org/74961 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-07-06simplify and flatten OutDevStateStackNoel Grandin1-31/+0
Change-Id: Ic2ee5c2e122244e11770ab5fb73f65800828439a Reviewed-on: https://gerrit.libreoffice.org/75128 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-06Constify GlyphItemJan-Marek Glogowski1-26/+51
This hides all the data, which shouldn't change after init. Real const makes a lot of problems for copying, so this is the 2nd option to just add getters for private data. While at it use typed_flags for the GlyphItemFlags. Change-Id: Ic1eeabe2398f6c30080fdd516285b72c620b11be Reviewed-on: https://gerrit.libreoffice.org/75147 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-07-05WIN separate LO shared and embedded fontsJan-Marek Glogowski1-2/+3
This way we can get rid of the embedded fonts without the reqirement to re-process all of LO's shared fonts. Change-Id: I25661a611d43ae05052e5cb9cc21e74ccd06b172 Reviewed-on: https://gerrit.libreoffice.org/75101 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-07-05WIN don't register LO's shared fonts twiceJan-Marek Glogowski1-1/+0
This separates the system registration (AddFontResourceEx) of LO's shared fonts from the later PhysicalFontCollection population using EnumFontFamiliesEx. Calling AddTempDevFont from GetDevFontList creates a new WinFontFaces, but the later EnumFontFamiliesEx also creates WinFontFaces for all registered fonts, resulting in duplicate WinFontFace entries in the PhysicalFontCollection. Also currently the provided WinFontFace from AddTempDevFont is much less accurate, compated to the EnumFontFamiliesEx one. Change-Id: I2cd8af77197429508d0a7112ff98706d7f449659 Reviewed-on: https://gerrit.libreoffice.org/75067 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-07-05flatten and simplify FontMetricNoel Grandin1-70/+0
Change-Id: I9cce47c132345e40d3500ba69178e871d68bf764 Reviewed-on: https://gerrit.libreoffice.org/75130 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-02tdf#42949 Fix IWYU warnings in vcl/source/[a-e]*Gabor Kelemen1-2/+2
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I386e913f9002eed164c26137a0e184993d010b86 Reviewed-on: https://gerrit.libreoffice.org/74090 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-06-25improve loplugin:simplifyconstructNoel Grandin1-4/+3
Change-Id: If863d28c6db470faa0d22273020888d4219e069e Reviewed-on: https://gerrit.libreoffice.org/74559 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-24Qt5 don't assert broken height or widthJan-Marek Glogowski1-1/+1
At least maths element docking window has a floating height of zero. So the original gtk comment about broken values is still true. And the initial SalFrameGeometry is ok, so no need to initialize it. And set default size and position on show, if not explicitly set. Change-Id: Ibe4969a164b50b666745ce010f5100af4b3ff2f6 Reviewed-on: https://gerrit.libreoffice.org/74614 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-06-22Qt5 directly show tooltips + respect the help areaJan-Marek Glogowski2-6/+0
I'm not sure why this redirection was implemented, which also ommited the provided help area. I tried hard to use vc::Window code in the beginning, but that also mirrors the cursor position for the window. Using Qt here is simply straight forward, so just do that, Change-Id: Ia8c4efc1e43b915c4b071ee26d4da37d7580817c Reviewed-on: https://gerrit.libreoffice.org/74548 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-06-22tdf#123779 Qt5 correctly fill Qt5Frame::maGeometryJan-Marek Glogowski2-2/+4
The tooltip in the bug is actually not one, but the VCL implementation of Gtk's popover widget triggered by SalFrame::ShowPopover. This has no Qt equivalent, so we currently rely on the crude VCL version. But for this maGeometry must contain the correct information, AKA the absolute, unmirrored, paintable system geometry of the frame. Then the window can be positioned correctly. The patch gets rid of most of the code initially copied from gtk, when this VCL backend was in a very early state. Change-Id: Id44e4dc2aac41f1f01d51c4d8107892e644ef243 Reviewed-on: https://gerrit.libreoffice.org/74546 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-06-21tdf#126020 Qt5 delete orphan Qt5ObjectWindowsJan-Marek Glogowski1-2/+1
The Qt5ObjectWindow is "adopted" by Qt5Frame's QWidget, which is needed for the correct display. But since the Qt5Object is itself a child of the Qt5Frame, it'll be deleted before the Qt5Frame, which keeps the Qt5ObjectWindows alive. But the Qt5ObjectWindows child relies on the Qt5Object parent, so reap it, when the real parent is destructed. And just in case the Qt5Frame will delete the QWidget with the child while the Qt5Object is still alive, update the pointer to the child on its destruction. Change-Id: I563ddc2294b7b1651f56abdde75319c7455dd9b7 Reviewed-on: https://gerrit.libreoffice.org/74482 Tested-by: Jenkins Reviewed-by: Aleksei Nikiforov <darktemplar@basealt.ru>
2019-06-20Demote from std::unique_lock to std::scoped_lock where applicableStephan Bergmann1-3/+3
Change-Id: I53a019f05978bab62ad0da3d0eb08f37f8ec1e18 Reviewed-on: https://gerrit.libreoffice.org/74414 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-20Remove leftover from bitmap fonts support on WindowsKhaled Hosny1-1/+1
The condition "nFontType & RASTER_FONTTYPE" can never be true since we reject such fonts, so nHeight is always zero and we can simplify the code a bit accordingly. Change-Id: Ib3a19777909e16367c8168e86e474c1a5ee64a5b Reviewed-on: https://gerrit.libreoffice.org/74400 Tested-by: Jenkins Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>