summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2020-10-16support set_font for weld::ButtonCaolán McNamara
Change-Id: Ie56ba126bf7677e1605c0080064aa463f9277033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104441 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-16vcl pdf tokenizer: fix handling of dict -> array -> dict tokensMiklos Vajna
Needed to be able to parse the /Reference key of signatures. Change-Id: I6b81089a3f58a2de461ad92ca5a891c284f8686a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104443 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-10-16cid#1468188 dead codeCaolán McNamara
Change-Id: I5c80f0a0883e899e2bd2e1b76849772fad2ea8d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104421 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-16add a DrawingAreaUIObject to avoid need to include layout.hxx for uitestCaolán McNamara
Change-Id: I2d7f9d38f9eac5af7b8b4d738335507beb6627df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104357 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-16WindowType::CALCINPUTLINE newly unusedCaolán McNamara
originally introduced by... commit cba0dad4566652f63ea3114660da4e5c7dd88c31 Date: Wed Jun 13 14:08:28 2012 +0200 calc input line: Fix crash with accessibility enabled. Change-Id: Iee0914b79d3b48f4479e62622fbdb5dbdf26d527 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104356 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-16pdfium: add an FPDFBitmap_Create() wrapperMiklos Vajna
Fixes a leak in PDFiumPage::getChecksum(). Change-Id: I57471a26702f1d3dd69e9e18a4067ce0e724e358 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104386 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-16try to make available all slide images using threadsLuboš Luňák
Graphic::makeAvailable() is not thread-safe, but the jpeg loader is capable of that, and the graphic can be loaded using the stream data (which is what ultimately makeAvailable() will do anyway). This loads all images faster using threads instead of them being loaded one by one on-demand. Change-Id: Ifc39a2757834a9fb0dbafa61f13f5454e69af330 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104082 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-15tdf#137432 only do EnableInvalidate(false) optimization when not shownCaolán McNamara
Change-Id: If7f35d19061a7a2db2e5df31227834526bbf0905 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104381 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-15pdfium: add reading of attachment points to the wrapperTomaž Vajngerl
Attachment points are used to define where to highlight the text. Quad points - points of the rectangle that can be rotated (typical text). Change-Id: I5438a6520195b89149c9cd1a8235a77dbc622243 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104362 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-15pdfium: add support for border property of PDF annotationsTomaž Vajngerl
This extends PDFium with readon of "Border" property from the PDF annotations and adds the API to PDFium wrapper. Border is mostly used for border (line) width and the radius of rounding of the border (for drawing a rounded rectangle for example). Change-Id: I03f189eee03155ec699b2f56ceed23e6839a3f03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104361 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-15pdfium: add getColor and getInteriourColor to PDFiumAnnotationTomaž Vajngerl
Interiour color is used as a fill color. Change-Id: If0c55fdaef083001abeb55e5c7ce3bae8d232713 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104360 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-15pdfium: add an FPDFImageObj_GetBitmap() wrapperMiklos Vajna
Replaces both FPDFBitmapDeleter and most manual calls to FPDFBitmap_Destroy(). Change-Id: I4676dd2f51b6b348ebbb6edc0379d7afd8fa79d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104324 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-14use shadowcolor for bordercolorCaolán McNamara
this is what the calc inputbar has always done Change-Id: I17d3dd0b45575e81d6f2e2f109d371cfe366883b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104322 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-14pdfium: add an FPDFImageObj_GetImageMetadata() wrapperMiklos Vajna
And in general use more pdfium wrappers in CppunitTest_vcl_pdfexport, so all the '#if defined OSL_BIGENDIAN' checks can be removed. Change-Id: Id05e6ecf3dbb103a263d6068085eede847be320f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104254 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-13uilogger : Add support in the Logger and DSL for Vertical TabAhmed ElShreif
For example the DSL syntax will be: >> Choose Tab number 2 in 'tab_id' from parent_id We don't need DSL change as it will already handled by normal Tab grammar Change-Id: I51f294134be88c4ac88baf73c53d81187a023061 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101516 Tested-by: Jenkins Reviewed-by: Ahmed ElShreif <aelshreif7@gmail.com>
2020-10-13VclScrolledWindow vertical scrollbar one pixel too far to the leftCaolán McNamara
Change-Id: I6d9afb87b8d99e3c622b9d69fbfa88528adadb81 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104228 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-12don't disable the fast path in DrawDeviceAlphaBitmap() (tdf#137311)Luboš Luňák
Only OpenGL and Skia implement the BlendBitmap*() calls, and so I disabled the direct path in an attempt to avoid forcing the mirroring if it takes place. But there's also the DrawAlphaBitmap() call that is implemented for other backends. So always do the mirroring already there if it takes place. Change-Id: I8c4c96ea18ac55ebad041e0d28c4228542d9b2e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104206 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-12try to read JPEGs as BGR if wanted and availableLuboš Luňák
BGR(A) is actually the format used by most VCL backends (Cairo and Skia at least). Change-Id: I1574aadabafcea274049d4c7021352913813bae2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104130 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-12implement ImplFastBitmapConversion() for 8bit gray sourceLuboš Luňák
With some documents SvpSalGraphics::drawTransformedBitmap() ends up calling StretchAndConvert() with 8bit grayscale source bitmap (e.g. OutputDevice::DrawTransformBitmapExDirect() uses them as dummy alpha masks). But ImplFastBitmapConversion() doesn't handle this case, so StretchAndConvert() falls back to doing it manually, easily making this 3x slower. But 8bit grayscale bitmaps sort of are actually non-paletted, so this is easy to optimize. Change-Id: I93aa3f283c8a182d76f3aa267ebd471e63d945e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104129 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-12the alpha used by our 32bpp formats is true alpha, not transparencyLuboš Luňák
Apparently this code path has never been tested. Change-Id: I112543ad4f403bb50e5789ceacf57e0c009a9ef7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104128 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-12implement fast bitmap variant for CopyScanline()Luboš Luňák
JPEG reads RGB, but e.g. with Skia the default bitmap format is BGRA. Change-Id: Iad1a9e99f286b03db0fa683c14d70b8ad48d3d9d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104120 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-12Allow invalidate after queue_resize for lok in sidebarSzymon Kłos
This is a fix for regression introduced by 61a35560cb412d7ab0e3d0574eec4a790e3b9dfd Sidebar wasn't properly refreshed in Online eg. in Impress change 'Background' in sidebar 'Slide' deck to 'Color' -> resulted in overlapping content Change-Id: Id64f5d8694908d28cf5fa9787b65e555fb317e35 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103724 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104012 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-10-11Revert "Permit scrollable AWT tab pages a la scrolled Dialog"Caolán McNamara
UITest_sort failing https://gerrit.libreoffice.org/c/core/+/103942 Jenkins Verified-1 Patch Set 7: Verified-1 where UITest_sort failed Jenkins Verified+1 Patch Set 7: Verified+1 but that's just an android build which doesn't run any tests This reverts commit b3f2530aa2767ba43cd4702422fc3ed0d37821d6. Change-Id: I9414e5d7cc5873848f95dab65f03836ccb2ff0c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104194 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-11Permit scrollable AWT tab pages a la scrolled DialogThorsten Behrens
UNO dialogs since LibreOffice 4.0 permitted setting HScroll / VScroll properties to enable scrolling for too large a content. Conceptually clone this code over to TabPage as well, and register necessary UNO properties in the toolkit UNO wrappers. Add missing API documentation also to UnoControlDialogModel, plus the new properties to the UnoControlTabPageModel Change-Id: Iff90f60d0152ca21e4fe61c31315b9e1feab0dea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103942 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-10-09ofz: Invalid-enum-valueCaolán McNamara
Change-Id: Ib604edbb62b5d6e7caa5aa444ee6d64611b9cf60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104110 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-09ofz: Invalid-enum-valueCaolán McNamara
Change-Id: Ic1408ba7cf776dbf4923b8c9cef50bbd7fe94bdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104108 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-09vcl: PDFiumLibrary: add PDFiumDocument::getFileVersion()Miklos Vajna
Allows not exposing the underlying FPDF_DOCUMENT in PDFiumDocument. Change-Id: Icff455af406405aff9099e950c26ce824517b57a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104097 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-07support pan-down-symbolic/pan-up-symbolic as SPIN_DOWN/SPIN_UPCaolán McNamara
Change-Id: I37bb7474207a084cfce7a3c2a6d9ec507b963aba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104044 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-06Online: Copy hyperlink location. / Core side.gokaysatir
Payload format is added to LOK_CALLBACK_CLIPBOARD_CHANGED. Clipboard changed event is not fired when "copy hyperlink location" command is issued. So i added a call to LOK_CALLBACK_CLIPBOARD_CHANGED inside TextDataObject::CopyStringTo function. Change-Id: I8157572288da88b5522662e13abe151ef8548b34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103164 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103872 Tested-by: Jenkins
2020-10-06move set_user_managed_scrolling to an initial weld argumentCaolán McNamara
gtk is creating a11y objects on widgets changing parents so manage when that can happen to avoid premature creation of custom widget a11y objects Change-Id: I4879a93a897b2e4084cf6af0c9c0b0f0c1062254 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104025 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-06drop ownership argumentCaolán McNamara
we have never needed to diverge from the defaults of true for toplevels and false for non-toplevels Change-Id: I884b1e221d0ec44895214363d391c27e3e1707f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104019 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-06loplugin:const* make some params and methods constNoel
Change-Id: If7fbb25037343e18081a8ee7064840d75e9a45a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104010 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-06Use idle to update preview in print dlgSamuel Mehrbrodt
Otherwise UI blocks while the preview is being updated Change-Id: I98c536b83a31e9ea3f72effc8a602ee190a81e68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103951 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-10-05make it possible to accelerate AlphaMask::BlendWith()Luboš Luňák
If SkiaSalBitmap has the data already on the GPU, then without this the pixel data for both bitmaps would get read from the GPU (which is somewhat expensive), the operation would be done on the CPU, and afterwards quite likely the result would be sent to the GPU again. Change-Id: Ic6b7bf08b30e7083f6099eb66a45a82ebb54f326 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103888 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-04ofz#26122 allow NINSIZE input full elementsCaolán McNamara
Change-Id: Ifbde8fc055a91e23db08508a34ce4664d2f1f96f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103906 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-04pdfium: Support for InkStrokes and VerticesTomaž Vajngerl
This extends PDFium with getting InkStrokes and Vertices for annotations, which wasn't implemented before, and adds support to PDFium wrapper in LibreOffice. Change-Id: I570d53038a59ab830fcd5639583c75cf8adda86c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103885 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-04pdfium: add getObject, getValueType for PDFiumAnnotationTomaž Vajngerl
Change-Id: Iadfd767463a57958f5ffb2dc5c8b5387b59373fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103883 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-03use a proper alpha mask bitmapLuboš Luňák
Bitmap(size,8) is not actually 8bit grey bitmap, it uses some other palette, so BitmapEx ctor will convert it. This is a silly mistake from c2275ee554cae1cf4909a4fc12be4be127be011e. Change-Id: Id7e8cac5d187859cac067ab3fa075e4e4749f91f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103865 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-03use more TOOLS_WARN_EXCEPTIONNoel
Change-Id: I8b5cde993c13e0b7c8c830b1ff698933a6b7cfd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103863 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-02tdf#134566 gtk IM support for custom widgetsCaolán McNamara
Change-Id: I5c731161768d09d021db5c353de816e173159096 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103764 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-02vcl: add more PDFiumTextPage and PDFiumPage wrappersMiklos Vajna
And use it in vcl/CppunitTest_vcl_pdfexport, instead of the upstream scopers, to standardize on a single set of pdfium wrappers. Change-Id: Id9730697afdb2a40806892a7de347e276a12e25e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103776 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-01fix incorrect warningLuboš Luňák
I find it mildly amusing that the whole functions handles ScanlineFormat::TopDown except in its initial check. Change-Id: I4e3d818e9b27f3421b0db3d39b71ffcddefe52ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103766 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-10-01loplugin:reducevarscope in vclNoel
Change-Id: I768aa9bd87913bc20351fb631a6326fe01f777b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103748 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-30tdf#134566 accept input engine commands in editview in custom widgetCaolán McNamara
for the generic case first Change-Id: I10bd707900b54c70c9bda79d5d09532cc159779e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103692 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-30ofz#25989 cmap parsingCaolán McNamara
Change-Id: I048e5d88d5926a4afa75afab18db5ca6354e2454 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103641 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-30fix DrawDeviceAlphaBitmap() with mirroring (tdf#136223)Luboš Luňák
It turns out even the slow path was broken, so make it work (a hack, but it's already slow anyway, and apparently not used often). Also make the fast paths work directly, even with manual mirroring it should be still faster. Change-Id: Id798351f349e9906e85c1685f269df98a1b833b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103595 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-09-30vcl: add PDFiumAnnotation::getObjectCount()Miklos Vajna
And use it in xmlsecurity, instead of the upstream scopers, to standardize on a single set of pdfium wrappers. Change-Id: Iec4baf34a607b23f1b9de8c4b969801c5973c1ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103636 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-09-29make it possible to blacklist just "windows"Luboš Luňák
OpenGL blacklisting is done only on Windows, so there "all" is fine, but Skia checks blacklisting on Linux too, so add a generic "windows". Change-Id: Ie331ae275d437061b4d185d766663ff3c09261cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103532 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-09-29disentangle AA and B2D use in VCL drawingLuboš Luňák
A number of powerful functions using B2D polygons such as OutputDevice::DrawPolyLineDirect() were used only if AA was enabled. So e.g. dashing for an AA-ed polyline could be drawn directly using the function, but with AA disabled had to be done manually by a number of polygon operations. Which doesn't make much sense, surely these powerful functions can also draw without AA if set so (and indeed that's mostly the case). And DrawPolyLineDirect() even had a flag to bypass the check. So simply try to use B2D-based drawing whenever possible, AA or not. The previous commit had already changed the naming of the AA option to not include B2D in the name. This seems to come from https://bz.apache.org/ooo/show_bug.cgi?id=88795, which doesn't explain why AA only. There are other bugreports such as https://bz.apache.org/ooo/show_bug.cgi?id=101491 and https://bz.apache.org/ooo/show_bug.cgi?id=98289 that are related, but there I cannot see any difference with this patch. And all unit tests pass. Change-Id: Ibb5938e8fff9b7452bac4bf12ed3e42fd3e5d645 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103354 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-09-28Adapt commentStephan Bergmann
...to b76e903ccc83d0ccf0c6548782622638dd8a0ee5 "dtrans/clipboard: create instances with uno constructors" and 9613165239ade3f0b4d3d06e238430aabc9fcff3 "WIN move dtrans code into vcl/win/dtrans" Change-Id: I65c6096199ee154fd5a1a242971b917c4abb11f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103561 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>