summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2021-02-25dockwin.hxx doesn't need to include floatwin.hxxCaolán McNamara
Change-Id: Ib0408f715c9a12f32ce2f8049d2c9c7272201d76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111504 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-25pdfium: turn the PDFium class into an interfaceMiklos Vajna
This will allow a dummy implementation that only provides PDFiumLibrary::get() and nothing else. Change-Id: Ia63b3f0b7751e5c05716825f0854282e4007207e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111502 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-24disable-pch fixNoel Grandin
Change-Id: I14760d858c1500800c9360530b0408986122e00b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111444 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-24Fix typosAndrea Gelmini
Change-Id: Ie39c9f9208ecb282612f2f2e1dc5672ea8baf5c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111007 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-02-24Removed duplicated includeAndrea Gelmini
Change-Id: Ie6aac80ed560ad49dd2167afa965a768aac0818b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111482 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-02-24hide menubar detailsCaolán McNamara
Change-Id: If9d30b4f1408f16cb84636245fc9039a0dd6bad0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111481 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-24Simplify static string generationMike Kaganski
Change-Id: I838d3900a6f3ba28fd30cd2e3ec7a7f74a7736b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111431 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-02-24actually prefer DrawTransformedBitmap() if it's known to be fastLuboš Luňák
This partially reverts the logic of change 9d89d98d3349502b56d, which always made DrawTransformedBitmap() get changed to DrawBitmapEx if only translation+scaling was involved. But since that one may call BitmapEx::Mirror() that'll do pixel-shuffling, trust the DrawTransformedBitmap() implementation to do the right and efficient thing if it says so. Change-Id: If25b3d189ddd46b235e122e5e8d6f8079ec09f7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111248 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@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-24use unique_ptr in SplitWindowNoel Grandin
Change-Id: Ic17c5a8923190d3be99105cbf47de6b83009145e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111443 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-24hide MenuBar detailsCaolán McNamara
Change-Id: I409a4df7703300e920511c28263634a00c7c6da7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111432 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-24pdfium: move PDFiumLibrary::get() impl out of the headerMiklos Vajna
Otherwise vcl::pdf::PDFium can't be turned into an interface. Change-Id: I9e9030e7e7ed36ec1ed777f017c521fa64588e8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111434 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-23tdf#127471 Detect&Correct EMF/WMF with wrong FontScaleArmin Le Grand (Allotropia)
Before correcting our EMF/WMF export to write the Windows- specific data in the case of FontScaling, we wrote these files with wrong FontScaling. This change tries to detect and correct this at import, so that newer versions of the office on all plattforms can again load old, from us but not on Windows written EMF/WMF files. With this change we can read again all new and old EMF/WMF files (see table in task, comment 80). Change-Id: I1a0b0ab5f57c7cd40520401568af05cab4ecb4c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111399 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-02-23use unique_ptr in OutputDevice::EmulateDrawTransparentNoel
Change-Id: I45f04c49055b0bead6b966ed4e682aec70c6e7a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111402 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-23loplugin:unusedmethodsNoel
Change-Id: Ie0534244cc7a30ad006e65baf125c59757c90d50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111388 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-23loplugin:constantparamNoel
Change-Id: Ieaee9a3e3ef4aa9bc390ddb198ee1718f635bcbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111391 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-23convert internal bitmap formats transparency->alphaNoel Grandin
Image formats and graphics APIs use alpha, not transparency, so change our internal formats and data structures to work directly with alpha, so we don't need to modify data before we push it to graphics APIs. Change-Id: I537f77f79e83876be11d787901df42710d190842 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108919 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-22Fix computation of aF fraction in OutputDevice::SetRelativeMapModeStephan Bergmann
...where cfff893b9c82843a90aac4ecdb3a3936721b74a0 "Move unit conversion code to o3tl, and unify on that in more places" had apparently switched the numerator and denominator arguments passed into the Fraction constructor. (And give the two values returned by o3tl::getConversionMulDiv less misleading names.) This had caused e.g. UITest_conditional_format UITEST_TEST_NAME=tdf100793.tdf100793.test_tdf100793 to fail in a (--without-system-cairo) UBSan build with > cairo-slope-private.h:50:22: runtime error: signed integer overflow: -2126627072 - 135139840 cannot be represented in type 'int' > #0 in _cairo_slope_init at workdir/UnpackedTarball/cairo/src/./cairo-slope-private.h:50:22 > #1 in _cairo_path_fixed_line_to at workdir/UnpackedTarball/cairo/src/cairo-path-fixed.c:517:6 > #2 in _cairo_default_context_line_to at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:715:12 > #3 in cairo_line_to at workdir/UnpackedTarball/cairo/src/cairo.c:1743:14 > #4 in AddPolygonToPath(_cairo*, basegfx::B2DPolygon const&, basegfx::B2DHomMatrix const&, bool, bool) at vcl/headless/svpgdi.cxx:1291:13 > #5 in (anonymous namespace)::add_polygon_path(_cairo*, basegfx::B2DPolyPolygon const&, basegfx::B2DHomMatrix const&, bool) at vcl/headless/svpgdi.cxx:1821:33 > #6 in SvpSalGraphics::drawPolyPolygon(basegfx::B2DHomMatrix const&, basegfx::B2DPolyPolygon const&, double) at vcl/headless/svpgdi.cxx:1879:9 > #7 in SvpSalGraphics::drawRect(long, long, long, long) at vcl/headless/svpgdi.cxx:1059:9 > #8 in SalGraphics::DrawRect(long, long, long, long, OutputDevice const&) at vcl/source/gdi/salgdilayout.cxx:373:5 > #9 in OutputDevice::DrawRect(tools::Rectangle const&) at vcl/source/outdev/rect.cxx:83:17 > #10 in (anonymous namespace)::drawCells(OutputDevice&, std::optional<Color> const&, SvxBrushItem const*, std::optional<Color>&, SvxBrushItem const*&, tools::Rectangle&, long, long, long, long, ScDataBarInfo const*, ScDataBarInfo const*&, ScIconSetInfo const*, ScIconSetInfo const*&, std::__debug::map<rtl::OUString, BitmapEx, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, BitmapEx> > >&) at sc/source/ui/view/output.cxx:947:32 > #11 in ScOutputData::DrawBackground(OutputDevice&) at sc/source/ui/view/output.cxx:1116:21 > #12 in ScPrintFunc::DrawToDev(ScDocument&, OutputDevice*, double, tools::Rectangle const&, ScViewData*, bool) at sc/source/ui/view/printfun.cxx:594:17 > #13 in ScDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short) at sc/source/ui/docshell/docsh4.cxx:2146:9 > #14 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short) at sfx2/source/doc/objembed.cxx:194:5 > #15 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short) at sfx2/source/doc/objembed.cxx:141:9 > #16 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:199:40 > #17 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9 > #18 in SfxPickListImpl::AddDocumentToPickList(SfxObjectShell const*) at sfx2/source/appl/sfxpicklist.cxx:120:46 > #19 in SfxPickListImpl::Notify(SfxBroadcaster&, SfxHint const&) at sfx2/source/appl/sfxpicklist.cxx:208:13 > #20 in SfxBroadcaster::Broadcast(SfxHint const&) at svl/source/notify/SfxBroadcaster.cxx:39:24 > #21 in (anonymous namespace)::SfxEventAsyncer_Impl::IdleHdl(Timer*) at sfx2/source/appl/appcfg.cxx:105:19 > #22 in (anonymous namespace)::SfxEventAsyncer_Impl::LinkStubIdleHdl(void*, Timer*) at sfx2/source/appl/appcfg.cxx:100:1 > #23 in Link<Timer*, void>::Call(Timer*) const at include/tools/link.hxx:111:45 > #24 in Timer::Invoke() at vcl/source/app/timer.cxx:75:21 > #25 in Scheduler::ProcessTaskScheduling() at vcl/source/app/scheduler.cxx:476:20 > #26 in Scheduler::CallbackTaskScheduling() at vcl/source/app/scheduler.cxx:266:5 > #27 in SalTimer::CallCallback() at vcl/inc/saltimer.hxx:54:13 > #28 in SvpSalInstance::CheckTimeout(bool) at vcl/headless/svpinst.cxx:210:53 > #29 in SvpSalInstance::DoYield(bool, bool) at vcl/headless/svpinst.cxx:463:21 > #30 in ImplYield(bool, bool) at vcl/source/app/svapp.cxx:463:48 > #31 in Application::Yield() at vcl/source/app/svapp.cxx:530:5 > #32 in Application::Execute() at vcl/source/app/svapp.cxx:442:9 > #33 in desktop::Desktop::Main() at desktop/source/app/app.cxx:1586:13 > #34 in ImplSVMain() at vcl/source/app/svmain.cxx:196:35 > #35 in SVMain() at vcl/source/app/svmain.cxx:228:12 > #36 in soffice_main at desktop/source/app/sofficemain.cxx:98:12 > #37 in sal_main at desktop/source/app/main.c:49:15 > #38 in main at desktop/source/app/main.c:47:1 because aF was computed as 2540/1 instead of 1/2540 now. Change-Id: I092e6afe8cf2ea3145befccf075252b8e09f0967 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111347 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2021-02-22forward declare some things and avoid includesCaolán McNamara
Change-Id: I8bf6e23904c932de646aa84fffab1b5549dbdf31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111349 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-22factor out as a ResizableDockingWindowCaolán McNamara
Change-Id: I557ccf866cc879b3cc22fcdbca882f4413cb57d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111334 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-22rename to DropdownDockingWindowCaolán McNamara
these are used as non-resizable dropdown menu-alike things Change-Id: Ifd2ebd98a5fb08d27345113f4be8db0afb1d895a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111310 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-22an iconview target is also possibleCaolán McNamara
Change-Id: I82f4a71141e6cac7fc66f2614ab4ca97eab04038 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111308 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-22optimize Bitmap::Mirror()Luboš Luňák
For the usual bitmap pixel formats it's much faster to just move around pixel data rather than call the pixel-set/get functions. Change-Id: Ie99b3ea1431d965b110ec08d269e163d9f108cf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111213 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-02-21Use structured binding here for simplicity and clarityMike Kaganski
Change-Id: I1da9fe46d72f9b274022d28667b2244cb0824131 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111190 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-02-21Missing include (fix --disable-pch build)Mike Kaganski
Change-Id: I0e44c03059f86946f57230bf9786a8fe25e55dea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111189 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-02-20merge together interimdockparent usageCaolán McNamara
and their uses of VclBuilder can be contained to vcl Change-Id: I0cbbd3175e4ec857187b7f1716232a3514fe9605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111251 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-20move docking adapters to vclCaolán McNamara
Change-Id: I9be6f65734c24196758dea6853219a168c53a7fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111250 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-19foward declare NotebookBarAddonsItem instead of using includeCaolán McNamara
Change-Id: I57e5a8f28a40994b61ab0f554401e4f70c8ffc12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111230 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-19forward declare VclBuilder in VclBuilderContainerCaolán McNamara
so we can hide it as a detail Change-Id: I8ab9097c04a16684ee89a92713ef5975d83b76bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111225 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-19move VclBuilder::preload so desktop doesn't need to include that headerCaolán McNamara
Change-Id: I72f2b21cb9ac0b39995887afcf41189f2e7ad284 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111219 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-19rename get_vscroll_width to get_scroll_thicknessCaolán McNamara
and add split customize_scrollbars to form a separate set_scroll_thickness Change-Id: Ia4b1c85d6ae85b0fb7aeb852d3a91b36b63143db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111207 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-19loplugin:refcounting in vclNoel
Change-Id: Ieca3dd33a7ae40c3f7b8ba30f763d71a548cd144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111171 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-19pdfium: eliminate FPDF_DOCUMENT from public headerMiklos Vajna
Which means the last pdfium include can go from PDFiumLibrary.hxx. Change-Id: I73e40767f594c9a6ce75582621af975419ccf996 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111163 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-18disable-pch fixNoel Grandin
Change-Id: I1200bf7818be7f8142d0a5282d6cf2ef5993d3fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111098 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-18loplugin:referencecasting add check for new rtl::Reference operatorNoel
rtl::Reference now has a conversion operator to uno::Reference, so look for places where we can simplify the code and use that. Change-Id: Ic81db50d670bed5e875300577d4bf5f3599cc2c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110798 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-18Fix an OUString constructionStephan Bergmann
...introduced with 9d161857f1d4afcb772b477455797a2da0e47a9b "tdf#127471 correct EMF/WMF im/export for scaled font" Change-Id: I2b807e102ca7f71a61794f511dee302c7e509026 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111095 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-02-18pdfium: eliminate FPDF_PAGE from public headerMiklos Vajna
Change-Id: I8cfe55b4b23441f7b5c3b748903137a145cc00bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111085 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-18vcl: move def. of peekGraphicFormat into GraphicFormatDetectorTomaž Vajngerl
Change-Id: I3b89009324f21b54ccf00f16eb47f9967a6b4e1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111091 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-18vcl: condense the description and rename the peek format functionTomaž Vajngerl
remove "Imp" from ImpPeekGraphicFormat function name and condense the description of the function. Change-Id: Ie7cc42645318c0035f082ae68087ca3c7077d365 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111090 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-18vcl: clean-up code used for loading of external graphic filtersTomaž Vajngerl
All graphic filters have been moved into vcl, so there is no need to load an external library that contained graphic filters, so this code can be removed. Change-Id: Iac4f8dd78464e142f50837a55edd2d25720b8c13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111061 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-18Move GIF writer from filter module into VCLTomaž Vajngerl
Change-Id: I8db3ca0f7953b44791bda47534220902931fab8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111023 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-17ofz#31021 Stack-buffer-overflowCaolán McNamara
Conditional jump or move depends on uninitialised value(s) at 0x483CB98: strlen (vg_replace_strmem.c:459) by 0x49B4CA3: int rtl::str::getLength<char>(char const*) (strtmpl.hxx:65) by 0x49B7232: void rtl::str::newFromStr<_rtl_String>(_rtl_String**, rtl::str::STRCODE_DATA<_rtl_String>::type const*) (strtmpl.hxx:1344) by 0x49B470C: rtl_string_newFromStr (string.cxx:611) by 0x6059266: rtl::OString::OString<char [18]>(char (&) [18], rtl::libreoffice_internal::NonConstCharArrayDetector<char [18], rtl::libreoffice_internal::Dummy>::Type) (string.hxx:275) by 0x6058B5E: vcl::GraphicFormatDetector::checkTGA() (GraphicFormatDetector.cxx:525) since... commit 48d655fe12bc2c4c42d6c88b8a43fade1614ee2a Date: Mon Feb 15 16:25:56 2021 +0900 vcl: Detect TGA graphic by inspecting the file footer Change-Id: I52641ac541d5631e16fc271c35d6a671acb75c93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111006 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-17Move DXF reader from filter module into VCLTomaž Vajngerl
Change-Id: If1a933256401c1a971f581d1b389ca06fd77eaae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111022 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-17tdf#127471 correct EMF/WMF im/export for scaled fontArmin Le Grand (Allotropia)
If FontScaling is used, system-dependent data is held at vcl::Font Width(). Already if not scaled, we have three definitions: Width is zero, Width is equal to Height (unx) or - on Windows - Width equals avgFontWidth. If used it is W!=H where on unx Width equals Height multiplied with the scale factor. On Windows, this is Width multiplied with the only there existing avgFontWidth. Unfortunately that is ex/imported (since ever) undetected to EMF/WMF thus making EMF/WMF files containing FontScaling system-dependent - on which system was LO running when creating the file? The error can be seen when loading such a EMF/WMF on the vice-versa system, the FontScale is very ugly and wrong. Since EMF/WMF *are* Windows-specific formats the Windows-like definition is the correct one. This change makes all other systems export that now, and adapt on import to their system- specific definition (assuming coming from Windows). As can be seen, the difficulty is that these adaptions are necessary on non-Windows plattforms, but these do not have that avgFontWidth available. Thus I made a deep-dive investigation and multiple experiments to create a as similar as possible value to apply the needed calculations. For details and discussion refer to the bug description. Change-Id: I983fb6d882e2e8fccf9c8460f01509201d8157f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111000 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-02-17pdfium: eliminate FPDF_SIGNATURE from public headerMiklos Vajna
Change-Id: I9c8297c69ca359d861c8506e41c069692331eb8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111005 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-17Move PBM,PPM reader from filter module into VCLTomaž Vajngerl
Change-Id: I1ce998575f8d204045fabea184e80e71308a16b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111019 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-17Move PCD reader from filter module into VCLTomaž Vajngerl
Change-Id: Icd23d1343f5231c09dd8197943ca472f4b573bfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111018 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-17Move PSD reader from filter module into VCLTomaž Vajngerl
Change-Id: I53b11be6e9eb0013f017b2da5745ff525ca79c54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111017 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-02-17Move EPS reader and writer from filter module into VCLTomaž Vajngerl
Change-Id: I1646f72d6a1db176e4520f8f64321646a26f054e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111016 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>