summaryrefslogtreecommitdiff
path: root/vcl/Library_vcl.mk
AgeCommit message (Collapse)Author
2020-02-07add Skia crash zone checkingLuboš Luňák
Just like with OpenGL, mark zones where Skia code may call into graphics drivers in order to be able to detect cases where the driver has caused a crash or a lockup. Change-Id: I0fdbcc2260e3ab7821a595e9960145ae1fc1adfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88011 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-07merge OpenGLZone and OpenCLZone into one generic codeLuboš Luňák
To be used also by Skia code to detect problems with Vulkan drivers. The watchdog does not handle OpenCL because neither did the original code, but also because OpenCLZone::hardDisable() called from it would deadlock on SolarMutex for some reason. Change-Id: I483d8cb0b11a4e1e65c564f4e4c29ab68843ff71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88008 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-01-16use surface atlas for Skia text drawing on WindowsLuboš Luňák
Just like with the OpenGL case the idea is that rather than caching many tiny surfaces for each glyph it should be more efficient to have large surfaces with the glyphs packed inside. Change-Id: I4bc6ece40d4bc85d373340bd03f959fde3a45abf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86777 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-12-31pdf: extract Matrix3 to it's own filesTomaž Vajngerl
Change-Id: Ic855b01d8b812e4604b266427c4f646cd1625b86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86036 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-29pdf: move struct ResourceDict to it's own fileTomaž Vajngerl
Change-Id: I60ee0e17c7945e053b9ada69d7abda57714dd388 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85958 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-12-28pdf: extract XMP metadata writing and use XmlWriterTomaž Vajngerl
Instead of writing XMP metadata with a string buffer, change to use XmlWriter instead. Extract XMP metadata writing into its own class vcl::pdf::XmpMetadata. This also needs a change to the XmlWriter to not write a classic XML header: '<?xml version="1.0" ... ?>' Change-Id: I95ea0e7ba58e7c43a0c707bf9c676994210ff104 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85908 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-11-29skia: fix --disable-gui buildLuboš Luňák
Change-Id: Ibfcc936e6292148f0e2ef2a810915d17a9bc7be1
2019-11-27fix Skia offscreen GPU-backed drawingLuboš Luňák
The previous approach of using multiple GrContext instances apparently does not work, it's not possible to do drawing operations that involve objects using two different GrContext's. So patch Skia to use just one GrContext for our needs. See vcl/skia/README for details. Change-Id: I2bd3d3c618bf7f8ff45b2f37cbd086d2289940aa
2019-11-27make SkiaSalGraphicsImpl use GPU-backed SkSurface also for offscreenLuboš Luňák
Skia's sk_app::WindowContext can create GPU-backed SkSurface only for windows, but we also use virtual devices that are not windows. Fortunately, SkSurface can be created GPU-backed from GrContext* and sk_gpu_test::GrContextFactory seems to provide it easily. It is not completely clear to me what the rules are on mixing SkSurface's with different GrContext* (see the comment in SkiaSalGraphicsImpl::copyBits()), but it seems to work fine. Change-Id: I8110b67c41ab092e0c4b6a0973d6bed8a408c4c1
2019-11-27build properly with or without Skia enabledLuboš Luňák
Change-Id: I5106f13682963b81753f79c3203d4ef7387664fe
2019-11-27add .cxx file for SalBitmapLuboš Luňák
And move the non-trivial virtual UpdateChecksum() there. Change-Id: I6776a51373e375e12f1ec9588a9c49410ae5124a
2019-11-27initial empty Skia VCL implementationLuboš Luňák
This mostly duplicates OpenGL cases. Pretty much all implementation methods are empty. Change-Id: I333506f56dcc46c3e9405fe8194c172de17c54fd
2019-11-06fix --disable-gui build on 32bit (missing -ldl)Rene Engelhard
Change-Id: I66cd04efe5486459d9cc777a532925d25fbd1e86 Reviewed-on: https://gerrit.libreoffice.org/82118 Tested-by: Jenkins Reviewed-by: Rene Engelhard <rene@debian.org> Tested-by: Rene Engelhard <rene@debian.org>
2019-10-29weld fpicker clusterCaolán McNamara
Change-Id: I6566263809ff0032388a0b56571f0cf7428058d7 Reviewed-on: https://gerrit.libreoffice.org/81334 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-19drop unused ListControlCaolán McNamara
Change-Id: I19dd8907c36d016b939ed346a4308e5df2ebf93c Reviewed-on: https://gerrit.libreoffice.org/81060 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-03merge msgbox and stdtextCaolán McNamara
Change-Id: If95d78746eff3ae5343e7d4c6bb2433537ccb84d Reviewed-on: https://gerrit.libreoffice.org/80099 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-09-26disinherit OWizardPage and SfxTabPage from vcl TabPageCaolán McNamara
Now that there's no need to support weld/unwelded mixes of pages in dialog any more. inherit from a BuilderPage which contains a Builder and Toplevel container BuilderPage Activate and Deactivate replace TabPage ActivatePage and DeactivatePage, allowing disambiguation wrt SfxTabPage ActivatePage and DeactivatePage. Change-Id: I5706e50fd92f712a25328ee9791e054bb9ad9812 Reviewed-on: https://gerrit.libreoffice.org/79317 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-09-23do not require $(SRCDIR) in every gb_Library_set_precompiled_headerLuboš Luňák
Change-Id: I7b3a22584bb2e4d501f509ffcd80929feed23a4c Reviewed-on: https://gerrit.libreoffice.org/79360 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-16move WriteGradient and ReadGradient to the TypeSerializer classTomaž Vajngerl
Change-Id: I40f72470c2a5a4a9ffff45ccc3295e7a8f1f3584 Reviewed-on: https://gerrit.libreoffice.org/78876 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-09-12merge OWizardMachine and WizardDialogCaolán McNamara
Change-Id: I9d8aa49eb4394b630197cac97777231ed87f7a75 Reviewed-on: https://gerrit.libreoffice.org/78834 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-28GtkWidget for the priority of extension under Extension Tab.Sumit Chauhan
The new structure : PriorityMergedHBox --OptionalBox --ToolBoxExtension --Extension1 --OptionalBox ..... Change-Id: I72760e4f0d60eb6f1f82c1e928601d41a2e4b6ce Reviewed-on: https://gerrit.libreoffice.org/76987 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2019-08-17move RoadmapWizard to vclCaolán McNamara
Change-Id: Iae2f5e0ac52dcf862035508db3a22cfd86d02d8f Reviewed-on: https://gerrit.libreoffice.org/76903 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-16move WizardMachine to vclCaolán McNamara
Change-Id: I55cc4a6c1ad111a22a43fd66a3cd01b5b02fb7cb Reviewed-on: https://gerrit.libreoffice.org/76902 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-07move WizardDialog to vclCaolán McNamara
Change-Id: I93d03601cb429687a9a73b7d28c595e69977bf87 Reviewed-on: https://gerrit.libreoffice.org/76901 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-07move Roadmap to vclCaolán McNamara
Change-Id: I3ddb2a4906351d4134c14a1e9af710c9e7aeb5c6 Reviewed-on: https://gerrit.libreoffice.org/76900 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-08-07move HyperLabel into vclCaolán McNamara
could this be merged with FixedHyperlink? Change-Id: I00abe4bfa62a55c7b62ccd40e6c0294699317f26 Reviewed-on: https://gerrit.libreoffice.org/76897 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-21tdf#125922 rename kde5 to kf5 + plasma5Jan-Marek Glogowski
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 Chauhan
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-06simplify and flatten OutDevStateStackNoel Grandin
Change-Id: Ic2ee5c2e122244e11770ab5fb73f65800828439a Reviewed-on: https://gerrit.libreoffice.org/75128 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-24move SvtIconChoiceCtrl to vclCaolán McNamara
Change-Id: I5ed8af625cb46998649c4f11255d7676a11bdc94 Reviewed-on: https://gerrit.libreoffice.org/74605 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-06-18VCL cleanup WidgetDrawInterfaceJan-Marek Glogowski
I don't understand why WidgetDrawInterface, which is basically a copy of the SalGraphics native controls interface, duplicated it, instead of cleaning things up. The whole commit message of commit 8fcfa3853a81, which added this code, is just: "custom widgets: Custom Widget Themes". That's it. So this patch does, what the original one skipped: replacing the SalGraphics interface with the WidgetDrawInterface. One result is the addition of handleDamage to SalGraphics to correctly handle the damage done by a custom widget theme to the underlying SalGraphics implementation. Change-Id: I5fda1a64b28e6560fb3c62e02b6dcda827f698e2 Reviewed-on: https://gerrit.libreoffice.org/74118 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-06-06weld AboutDialogCaolán McNamara
use a native GtkAboutDialog on that platform and refactor the current cui about dialog body to form the body of a vcl AboutDialog use add_button to add the buttons to whichever is preferred of the headerbar or action-area Change-Id: I67e0b36dcb8d3fa08ec4f0397b0f6185b0778675 Reviewed-on: https://gerrit.libreoffice.org/73439 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-05-31tdf#125550 vcl menu bar / floating window: fix text colorMiklos Vajna
Regression from commit e8d5b8beb5958147235ff955ed38c47b51d860ff (tdf#113714 vcl menu bar window: avoid flicker, 2019-05-20), the problem was that a freshly created VirtualDevice doesn't have the default text color, so we need to initialize that explicitly based on the render context text color. Also introduce a BufferDevice to do this initialization, instead of fixing this in MenuBarWindow::Paint(), then copy&pasting the fix to MenuFloatingWindow::Paint(). Change-Id: Ib171cd52e7cabe0bc3c639821f558d8303039fe6 Reviewed-on: https://gerrit.libreoffice.org/73269 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2019-05-28tdf#124752: Add system clipboard interface for iOSTor Lillqvist
Based on the corresponding macOS code. Work in progress. The image support ifdeffed out still (because it uses some macOS specific APIs for which I couldn't right away find the equivalent iOS ones). I made it much simpler than the macOS code. I dropped the keeping of a local in-process clipboard completely. Firstly, as far as I see, the iOS clipboard API (UIPasteboard etc) does not even offer the possibility to separately offer some formats and actually provide the data on request. Secondly, we must be prepared anyway that the system can kill an iOS app at any stage while the user is using some other app, so we need to make sure everything that is copied goes onto the system clipboard right away anyway. I had to disable the copying of HTML to the clipboard as that lead to a mysterious assertion failure. See comment in DataFlavorMapper::openOfficeToSystemFlavor(). But RTF seems to work well, too. I assume RTF is what gets used for cross-application copy/paste (and cross-device, even, through Apple's Universal Clipboard thing, where you can copy/paste between your Macs and iOS devices on the same network). I am not sure how relevant the various application/x-openoffice-foo formats are. Change-Id: I174495e33d86fc3990996c229243c05d6cbfcda7
2019-05-10introduce graphic format detector (and basic metadata)Tomaž Vajngerl
Currently we detect a graphic format in a ImpPeekGraphicFormat method, which is called when reading a graphic from a stream. The code is quite convoluted and doesn't help with readability of graphicfilter.cxx Additionally there exists an detection code written for the UNO class GraphicDescriptor, which duplicates the detection, but can in addition also extract other metadata at the same time. This introduces the initial implementation of GraphicFormatDetector class. It will first replace the code in ImpPeekGraphicFormat to detect the graphic format and then later also be extended to do what the GraphicDescriptor is doing. But currently it only duplicates the implementation of ImpPeekGraphicFormat. The problem with both of the current solution is that there are not any tests written. For the GraphicFormatDetector however the approach is to add test cases to check the current implementation and only then refactor the code. Change-Id: Idb9d3859b4380e3f15237d97aff969ce81e631dd Reviewed-on: https://gerrit.libreoffice.org/72086 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-28Separate AnimationBitmap from Animation.{hxx,cxx} sourceTomaž Vajngerl
Change-Id: I982a108b2241c049b595a13d6f39d24ef0266074 Reviewed-on: https://gerrit.libreoffice.org/71423 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-28rename animate.hxx to animate/Animation.hxx, more changes followTomaž Vajngerl
This is the first step of refactoring Animation where it is needed to separate AnimationBitmap(s) from the Animation class, which is also responsible for displaying of animation. General idea is to make Graphic work only with AnimationBitmaps, which can be freely be swapped out and in, make copies - all transparantly from the actually displaying them and possibly it will also remove the need to copy the animation objects. Change-Id: If5d55ac1a5b26c3880d4f7602be57742b086f9da Reviewed-on: https://gerrit.libreoffice.org/71406 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-25Cut down on -pthread/-lpthread proliferationStephan Bergmann
Building against libstdc++ effectively always requires -pthread anyway (as various standard C++ headers require it, see the comment added to solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread can be removed. Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that libc++ indeed doesn't need -pthread as libstdc++ does. The remaining uses of -pthread/-lpthread are mostly in configure.ac for the various BSDs (which somebody else might want to clean up now), and related to external projects. I tried to be careful to remove -pthread/-lpthread from makefiles only when C++ object files are involved (so -pthread will now be included on the link command line by default). Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1 Reviewed-on: https://gerrit.libreoffice.org/71291 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-16Library_vcl has a dependency on vcl opengl packagesLuboš Luňák
Without this, building a unittest does not rebuild those if needed. Change-Id: If15aa2e1d7869d274c8c5f885278e85e0a341c47 Reviewed-on: https://gerrit.libreoffice.org/70770 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-04-16Add backend tests as CPPUNIT testsTomaž Vajngerl
This (finally) adds backend tests as CPPUNIT tests too. In the future they'll also be added into LibreOffice directly as a way to test if the backend is OK, which will be useful especially for the OpenGL backend, which draw quality depends on the driver. Currently all the tests are ignored because of the bugs in the backend, which need to be addressed first and tests then can be enabled one by one. The main reason for the test is to identify issues when drawing is done at a wrong position, which is a very common problem. Also other types of tests will be added in time, which will have a big role in the refactoring of VCL that will happen in the future. Change-Id: I92237d47d49fa0db01b73b8bc39f7a621b65961e Reviewed-on: https://gerrit.libreoffice.org/70769 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-14move octree to bitmap folder, and *octree headers to inc/bitmapTomaž Vajngerl
Octree is a tree, that's used for color quantization, so it's better to move it there. Headers are also moved to bitmap subfolder so it's better organized. Change-Id: I2b84a5469c1479cf0a060ba8eb46591dabab2883 Reviewed-on: https://gerrit.libreoffice.org/70726 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04move WidgetDefinition{Part,State} into its own fileTomaž Vajngerl
to separate it completely from WidgetDefinitionReader and make it independent.. Change-Id: If3d6f0e8826b39be28ae18ddf74f2643d1084ec4 Reviewed-on: https://gerrit.libreoffice.org/68689 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04WidgetDrawInterface impl. to draw widgets from file definitionsTomaž Vajngerl
This adds FileDefinitionWidgetDraw which extends the WidgetDrawInterface and is responsible to draw the widgets from the definition gathered from an external file. The file must be (currently) in the user folder named definition.xml. It instantiates the WidgetDefinitionReader to get the definitions and sets the style colors when updateSettings is called. Later more definitions will be implemented. Change-Id: Id02111e8aed4648e5a306b0f5dbc9a02c9b2fcb0 Reviewed-on: https://gerrit.libreoffice.org/68645 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-03-04Read style colors from a xml widget definition fileTomaž Vajngerl
WidgetDefinitionReader is responsible to read the definitions from an xml file. The first implemented definitions are style colors. They are read from the file and stored into class fields. This also adds the unit test which tests that the reader is functioning as expected for a small certain subset of colors. Change-Id: Icd44cb465b084c32db8323e2f2f7dfa57823d559 Reviewed-on: https://gerrit.libreoffice.org/68642 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-02-15move Calendar to vcl and map to GtkCalendarCaolán McNamara
Change-Id: I1784d4d69c6c069ef1b0ad6412e83e6a0b1db12a Reviewed-on: https://gerrit.libreoffice.org/67840 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-02-14move pngwrite/pngread to vcl/filter/pngTomaž Vajngerl
Change-Id: Ib6bf092854208eea5257c357850213815639968c Reviewed-on: https://gerrit.libreoffice.org/67821 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-02-09add PngImageFilter that uses libpng for PNG loadingTomaž Vajngerl
This adds loading of PNG images that uses libpng instead of our own solution. It always loaded the image as either RGB or RGBA image and if the source PNG is using something else, libpng converts to either RGB or RGBA. In addition this adds tests for loading of various PNG files to make sure the resulting bitmaps are using pixel data as expected. (especially needed to check the RGBA bitmaps) Change-Id: I194321caf76c2ec2365bb6075c79c5e84983658a Reviewed-on: https://gerrit.libreoffice.org/67571 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-01-03svm xml dumper: move this from test to vclMiklos Vajna
This is very useful functionality, this way it can be invoked from the debugger and/or nested into an outer xml dump (sw/sd doc model dump) more easily. Change-Id: If6c83b11d0f3e65fcce71e8d820c6bc354f64d68 Reviewed-on: https://gerrit.libreoffice.org/65834 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2018-12-13WIN move native dialog hack into WinSchedulerJan-Marek Glogowski
The "hides" the hack for native Windows dialogs introduced in commit 5bb798a99e7b ("tdf#117295 WIN no main loop shortcut for OLE dialog") in its own header. Change-Id: I1f36aad20dec50ae1f296001b51085989afb19f6 Reviewed-on: https://gerrit.libreoffice.org/65100 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-11-21weld SwCondCollPageCaolán McNamara
and put back original SvTreeListBox a11y factory use Change-Id: I4ad8ce29d8fed6ec5d44e9a1d641919a89226b79 Reviewed-on: https://gerrit.libreoffice.org/63501 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>