summaryrefslogtreecommitdiff
path: root/vcl/inc/headless
AgeCommit message (Collapse)Author
2014-11-03vcl: Allow SalGraphics to draw gradients nativelyChris Sherlock
The aim of this patch is to allow for native gradient rendering in SalGraphics (i.e. let OpenGL do this natively). It is a two step process: 1. I need to allow gradient draw into SalGraphics, however the current completely intertwined with the metafile code in OutputDevice. I am seperating the gradient metafile code from the gradient drawing code. 2. After splitting the metafile stuff from the actual gradient drawing, I am now able to call on SalGraphics::DrawGradient(). This just calls on SalGraphics::drawGradient() which returns false if there is no way of drawing native gradients, and true if there is. If false, then we use OutputDevice's DrawGradient() functionality. Change-Id: Ibaaabe13b76a8e7a037d9f751b5f662653a50566 Reviewed-on: https://gerrit.libreoffice.org/12119 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2014-10-13vcl: Make ImplFontCharMap a pImpl and move functions to FontCharMapChris Sherlock
To do this, I've made FontCharMap a friend class for ImplFontCharMap, and have moved the functions directly into FontCharMap. In this patch, I am attempting to stop the direct use of ImplFontCharMap by anything other than FontCharMap. However, FontCharMap itself requires a refcounter, so we will use FontCharMapPtr to access the font character map. Change-Id: I509b990a8cbd911c5cc1572c7d24fc5348ca06d9 Reviewed-on: https://gerrit.libreoffice.org/11823 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2014-10-06vcl: FontCharMap to use intrusive_ptr ImplFontCharMapChris Sherlock
ImplFontCharMap was using it's own reference counting mechanism, however we can use intrusive_ptr more effectively. Added a unit test around FontCharMap. Change-Id: Ifab6ce002fd1df8feb7e017dea3012ff9ea7f18a Reviewed-on: https://gerrit.libreoffice.org/11804 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2014-09-30fdo#82577: Handle RegionNoel Grandin
Put the VCL Region class in the vcl namespace. Avoids clash with the X11 Region typedef. Change-Id: I6e008111df7cf37121fbc3eaabd44a8306338291
2014-09-15vcl: Rename GetImplFontCapabilities()Chris Sherlock
The data structure is not ImplFontCapabilities but FontCapabilities, therefore the function name is very misleading. Change-Id: I90f074902af4b4bee79cd445036dc24797836ac1 Reviewed-on: https://gerrit.libreoffice.org/11454 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2014-09-13vcl: SalFrame::Enable() is not used anywhere so removingChris Sherlock
Change-Id: I851c414aa9e95c4d2c3ddb44deb5835656d16f87
2014-08-23fdo#82577: Handle KeyCodeTor Lillqvist
Put the VCL KeyCode class in the vcl namespace. Avoids clash with the X11 KeyCode typedef. Change-Id: I624c9d937f7c5f5986d313b6c5f060bd8bb7e028
2014-06-25Allow passing in external buffers to svp's VirtualDevice.Andrzej Hunt
We also want to be able to set whether or not the buffers should be painted to top down, so add that parameter as necessary (default seems to be false, however e.g. gtk requires this to be true, i.e. needed for tiled rendering). Change-Id: Id98882e4c7f62508ae5a976c0d8df743460a4ab2
2014-06-25svp: deduplicate bitcount->colourspace mapping and allow overriding.Andrzej Hunt
Although svp defaults to BGR, we might want to use alternative formats (e.g. for tiled rendering to bitmap buffers which are to be used in e.g. gtk), it is probably safest to keep the current defaults but allow the user to change to whatever format they may require. (This currently only makes sense for the 32-bit RGBA/ARGB/etc. formats. However the 23 bit formats could potentially be expanded to allow a similar RGB/BGR choice.) Change-Id: I70bd3d6e7d297faef163b910f576655efee4cb3f
2014-06-25Return a bitmap buffer for tiled rendering from LibLO.Andrzej Hunt
We still need some way of managing the buffers properly rather than just keeping a static reference to the last buffer that was rendered. Change-Id: I17940c758948aa9418f4e0216ecd253d128cd04f
2014-04-22With tiled rendering for iOS there is no need for a "frame buffer"Tor Lillqvist
The resulting dropping of the basebmp code reduces app size by 0.7 MB. Change-Id: Id263873ed5c4bb2435d929a1319fedeedb6daa14
2014-04-02Kill superfluous vertical whitespaceTor Lillqvist
Change-Id: I81ce8fd7022bf283db668705efdfb0666f87bde9
2014-04-01Fix error: out-of-line definition of does not match declarationTor Lillqvist
Change-Id: I3e3d215eb6c94fd86481bc1666d94139692bc209
2014-03-31Need to define mnContextStackDepth always it seemsTor Lillqvist
Change-Id: I25d86e2765aae353fa5586244f33728cd5b55bbc
2014-03-31Add SAL_INFOs for very detailed CoreGraphics tracingTor Lillqvist
One would think there would exist some kind of shim library that would automatically provide such traces, hmm. Change-Id: I568d02a2ac70078dee0280d1feb3eab7bbd43030
2014-03-26First batch of adding SAL_OVERRRIDE to overriding function declarationsStephan Bergmann
...mostly done with a rewriting Clang plugin, with just some manual tweaking necessary to fix poor macro usage. Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26Return two accidentally removed member functionsTor Lillqvist
Change-Id: Ideef97c6ddcde9a3c324084a53792c965c7b6707
2014-03-26Seems we don't need any basebmp stuff in AquaSalGraphics on iOSTor Lillqvist
No repeatable visible differences in TiledLibreOffice for my test docs. Probably we should unify the iOS vcl code even harder with the OS X code, get rid of the last remains of the pre-tiled-rendering basebmp bitmap-based stuff. Change-Id: I2484585d3d0ef5ce758d0a654717d23464464c1a
2014-03-26Sprinkle some SAL_OVERRIDEsTor Lillqvist
Add SAL_OVERRIDE markup to SalInstance and its derived classes for Unix. In the process, found one pointlessly virtual function (not overridden in any derived class). Change-Id: I49e021e77d53b658e664178372b333a13ffdc9aa
2014-03-26Bin DestroyVirtualDevice(): Just use delete directly at call sitesTor Lillqvist
Change-Id: I47c67d3d89ab22b07b3ec6fe7ea6e035d21e85b6
2014-03-24Make sure to include Foundation.h to get NSStringTor Lillqvist
Change-Id: I063c7abcbce003a8bbfd8aa8d57416a6aad84760
2014-03-20rename ImplDevFontList to PhysicalFontCollectionNorbert Thiebaud
again, convergence of teh naming with what is normally used in the underlying native API, where FontFace ) FontFamily ) FontCollection Change-Id: Ieb098b782ea828a3365f00d07914b9566278caba
2014-03-20Remove unnecessary vcl::SolarMutexObjectStephan Bergmann
Change-Id: I6dfdd7d5d211b66019dfbe364101140e28a3584d
2014-02-28Rename GetGraphics to AcquireGraphicsChris Sherlock
Currently there are a number of classes that have a function called GetGraphics(). It returns a SalGraphics instance if one is available for the sole use of the caller. Some variants keep a pool of available SalGraphics and return one not currently in use by anyone, creating extra ones on demand, sometimes up to a set limit and returning NULL on reaching that limit of simultaneously in use SalGraphics. This is confusing. What is really happening from the perspective of the calling is that is that we are attempting to *acquire* ownership of a SalGraphics instance. Therefore, rename GetGraphics to AcquireGraphics() which returns a handle to a SalGraphics if we can acquire a free graphics instance, and NULL if we cannot, which makes it cleared that ReleaseGraphics should be called on the result of AcquireGraphics. The classes that were changed to include the new acquire function are: * SalFrame * SalVirtualDevice * SalInfoPrinter * PspSalInfoPrinter * X11SalFrame * X11SalVirtualDevice * GtkSalFrame * KDESalFrame * TDESalFrame * WinSalFrame * WinSalInfoPrinter * WinSalVirtualDevice * SvpSalFrame * SvpSalVirtualDevice * AquaSalFrame * AquaSalInfoPrinter * AquaSalVirtualDevice Change-Id: Ic39c08a4bcaf665ae08ba2808cd03b0e80790c46 Reviewed-on: https://gerrit.libreoffice.org/8070 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-28WaE: implicit conversion of literal of type 'sal_Bool' to 'bool'Tor Lillqvist
Change-Id: I826f7649a1e9ed8aad06848aa1f2ed5a5827f3ab
2014-02-28sal_Bool -> bool in mostly vcl moduleChris Sherlock
Conflicts: include/vcl/settings.hxx svtools/source/table/tablecontrol_impl.cxx sw/source/core/frmedt/fecopy.cxx vcl/inc/canvasbitmap.hxx vcl/inc/headless/svpframe.hxx vcl/inc/unx/salframe.h vcl/inc/win/salframe.h vcl/inc/win/salprn.h vcl/inc/win/salvd.h vcl/osx/DragSource.cxx vcl/osx/DragSource.hxx vcl/osx/DropTarget.cxx vcl/osx/DropTarget.hxx vcl/osx/OSXTransferable.cxx vcl/osx/OSXTransferable.hxx vcl/osx/clipboard.cxx vcl/osx/clipboard.hxx vcl/osx/salprn.cxx vcl/qa/cppunit/canvasbitmaptest.cxx vcl/source/components/fontident.cxx vcl/source/control/edit.cxx vcl/source/control/spinfld.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/virdev.cxx vcl/source/helper/canvasbitmap.cxx vcl/source/window/dockwin.cxx vcl/unx/generic/dtrans/X11_selection.hxx vcl/unx/kde/UnxFilePicker.cxx vcl/unx/kde/UnxFilePicker.hxx vcl/unx/kde4/KDE4FilePicker.cxx vcl/unx/kde4/KDE4FilePicker.hxx vcl/unx/kde4/KDESalFrame.hxx Change-Id: I9866d985da86dea2a56feff23f91c1467a1636b0 Reviewed-on: https://gerrit.libreoffice.org/8219 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-21Adapt vcl to various loplugin warnings on Mac OS XStephan Bergmann
Change-Id: I4553ce218fbcf2ac681b284c71e7d558a451511c
2014-02-21vcl: sal_Bool -> boolStephan Bergmann
Change-Id: I2a3e3d3e3266ea0f0fafdd91362076a4aa160f0e
2014-02-17Fix fallout from 772c3a202481506b92c496948cfdc0f23ab94b2cTor Lillqvist
Change-Id: I0019ca081086544142b39aac5e6f00d5f1822ccb
2014-01-17Move SvpSalGraphics::SetVirDevGraphics() for iOS out of the header for clarityTor Lillqvist
Change-Id: I88c0ed27a492b57a0258a7ec211109a9e2552b99
2014-01-06Resolves: #i123840# add and use the sal_GlyphId typeHerbert Dürr
Using the central definition adds consistency and cleans up many ad hoc declarations. The type sal_GlyphId will become a class in the future so that its bitfield operations etc. can then be isolated into nice methods. (cherry picked from commit c0a84ad10964fb7a65b6239cbe1cef8698b5d17b) Conflicts: vcl/aqua/source/gdi/salatslayout.cxx vcl/aqua/source/gdi/salgdi.cxx vcl/generic/glyphs/gcach_ftyp.cxx vcl/generic/print/genpspgraphics.cxx vcl/generic/print/glyphset.cxx vcl/generic/print/glyphset.hxx vcl/headless/svptext.cxx vcl/inc/generic/genpspgraphics.h vcl/inc/generic/glyphcache.hxx vcl/inc/os2/salgdi.h vcl/inc/quartz/salgdi.h vcl/inc/salgdi.hxx vcl/inc/sallayout.hxx vcl/inc/unx/salgdi.h vcl/inc/vcl/fontmanager.hxx vcl/inc/win/salgdi.h vcl/os2/source/gdi/os2layout.cxx vcl/os2/source/gdi/salgdi3.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/sallayout.cxx vcl/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/gcach_layout.cxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/unx/generic/fontmanager/fontmanager.cxx vcl/unx/generic/gdi/gcach_xpeer.cxx vcl/unx/generic/gdi/gcach_xpeer.hxx vcl/unx/generic/gdi/salgdi3.cxx vcl/unx/generic/gdi/xrender_peer.hxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/winlayout.cxx Change-Id: Ic629131950360e2df4c15db30d6a5362193c6330
2013-12-31Resolves: #i123840# normalize SalGraphics point count argument types...Herbert Dürr
to sal_uInt32 The old mixture of sal_uInt32, ULONG, sal_uLong, sal_uIntPtr gets consolidated. 4e9 points are more than enough for a SalGraphics. (cherry picked from commit 03f5dce97331acc1a5e832f956d711a5dc0aac0e) Conflicts: vcl/aqua/source/gdi/salgdi.cxx vcl/generic/print/genpspgraphics.cxx vcl/inc/os2/salgdi.h vcl/inc/quartz/salgdi.h vcl/inc/salgdi.hxx vcl/os2/source/gdi/salgdi.cxx vcl/os2/source/gdi/salgdi2.cxx vcl/source/gdi/salgdilayout.cxx vcl/unx/generic/gdi/salgdi.cxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx Change-Id: Iddf806256c7e5403158635e3f5f0049e9382500f
2013-12-19The "fake DPI scale" was always 1Tor Lillqvist
Thanks to kendy for noticing. Change-Id: I6b62d5a0c1dc5df374629a8f7c6e7d2f7cd7ffbd
2013-12-14iOS tiled rendering workTor Lillqvist
Possibly quite broken intermediate commit. But anyway, now it is possible to render the tile diretly to a CGContext. Can be seen in the MobileLibreOffice app when build in the Debug_tile_tester configuration. See touch_lo_draw_tile() in viewsh.cxx. Unfortunately the old plain LibreOffice test app is now broken, though, and displays nothing at all. This refactoring and hacking in vcl was done in a quite ugly fashion, with ifdefs etc. But trust me, I did try, several times, for many days, to get where I wanted in an elegant and clean fashion. But doing it cleanly meant not being able to actually build it for days while trying to figure ut which bits go where and which class should be split into what base and derived class(es), and it was too much for my limited brain capacity. I just couldn't juggle all the vcl class structure in my head, especially as I don't have any good understanding of the general design of it all. Change-Id: Ia59d6a9cce15a63e63f94e8d8574bef21993fb1f
2013-12-13Follow header guard conventionTor Lillqvist
Change-Id: I4cf80fb61fd63b10e241154785ae872c6b75eaf7
2013-12-06Re-organize OS X and iOS code in vcl a bitTor Lillqvist
Now with the ATSUI code gone is a good time for some re-organisation. Get rid of "aqua" in file names and the separate "coretext" folders. CoreText is all we use now for OS X (and has always been so for iOS), so no need for a "coretext" folder, we can keep the CoreText-using code under "quartz". Keep OS X -specific code in "osx". Ditto for headers. Keep "Aqua" as part of class names for now, though. This is also preparation for planned further unification between OS X and iOS code. Change-Id: Ic60bd73fea4ab98183e7c8a09c7d3f66b9a34223
2013-12-04Rename coretext/salgdi2.* to coretext/salgdi.*Khaled Hosny
The "2" part was a temporary measure so an older version of the file, that is long gone, can coexist. Change-Id: I3a22b287bfb1351bb73e9dabbfa67100fe17bb97
2013-12-04Device-specific font substitution is not usedKhaled Hosny
This was only used for printer built in fonts, which was dropped in the previous commit. Change-Id: Iff62786284470ff3873c8d4b0aae0614bf69c7f3 Reviewed-on: https://gerrit.libreoffice.org/6859 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2013-12-02Make include guards sane in vclTor Lillqvist
We have a convention. Use it. Kill copypasta. Change-Id: I512e1c8e75b5da20b6756ffc88209a27674ad7c7
2013-11-28Re-factoring: Avoid pointless class derivationTor Lillqvist
Rename the CoreText-specific ImplMacFontData class to CoreTextFontData and unify it with its sole derived class CTFontData. Change-Id: Id3540432996ca55b2e4a20fd8798c94cb7bc84b6
2013-11-28Re-factoring: Avoid pointless class derivationTor Lillqvist
No need to hide stuff from ourselves at multiple levels. Rename the CoreText-specific ImplMacTextStyle class to CoreTextStyle and unify it with its sole derived class CTTextStyle. This is all internal to vcl anyway. Change-Id: Ib9e632ccba5c273200d4e3fce79a97db305c6662
2013-10-28fixincludeguards.sh: vclThomas Arnhold
Change-Id: I3858c2152267474afab8e5a72b9f5da0ac623012
2013-10-21Remove GetKernPairs() with no implementationKhaled Hosny
I left only the Windows one because it being called (as GetKernPairs(0, NULL), but may be it does something, who knows). Change-Id: Iec05d61c8f0cd311a1158bb1cb07e4ee977f32fe Reviewed-on: https://gerrit.libreoffice.org/6260 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2013-09-04Remove unnecessary SystemChildData -> SystemEnvData defineStephan Bergmann
Change-Id: Ifd6763617b9aef45c7301085033b6bbaf9d52e02
2013-07-28Make AddToRecentDocumentList aware of the DocumentServiceFridrich Štrba
This information helps to map a document with an application ID needed for Windows 7 shell integration. Change-Id: I1224f566037ab7597a29b16f310f93d9f5441cce
2013-07-19remove Application::GetWorkAreaPosSizePixelNoel Grandin
This internal API has always been problematic because we cannot support it under the Linux toolkits, where it has in fact always just returned the size of the screen. Change-Id: I406bcbca8a4161b4261ef46940823bb07c6ad18b Reviewed-on: https://gerrit.libreoffice.org/4976 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@suse.com> Tested-by: Michael Meeks <michael.meeks@suse.com>
2013-07-12Turn basebmp::Format into a proper enumStephan Bergmann
Change-Id: I4067c5039c7b5c74a1c144721dd7260de54dd2bf
2013-06-14Resolves: #i121534# Reintegrating changes for rotated bitmap supportArmin Le Grand
(cherry picked from commit b2cc0de3fc9adee90787ca760e86869f9255b380) Conflicts: canvas/source/vcl/spritecanvashelper.cxx drawinglayer/Library_drawinglayer.mk drawinglayer/source/processor2d/vclhelperbitmaprender.cxx drawinglayer/source/processor2d/vclhelperbitmaprender.hxx drawinglayer/source/processor2d/vclhelperbitmaptransform.cxx drawinglayer/source/processor2d/vclhelperbitmaptransform.hxx drawinglayer/source/processor2d/vclprocessor2d.cxx officecfg/registry/schema/org/openoffice/Office/Draw.xcs svx/source/svdraw/svdograf.cxx vcl/aqua/source/gdi/salgdi.cxx vcl/inc/aqua/salgdi.h vcl/inc/os2/salgdi.h vcl/inc/salgdi.hxx vcl/inc/unx/pspgraphics.h vcl/inc/vcl/bitmapex.hxx vcl/inc/vcl/outdev.hxx vcl/inc/vcl/salbtype.hxx vcl/os2/source/gdi/salgdi2.cxx vcl/source/gdi/bitmapex.cxx vcl/source/gdi/outdev2.cxx vcl/source/gdi/salgdilayout.cxx vcl/source/gdi/salmisc.cxx vcl/unx/generic/gdi/pspgraphics.cxx vcl/unx/generic/gdi/salgdi2.cxx vcl/unx/headless/svpgdi.cxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx vcl/win/source/gdi/salbmp.cxx vcl/win/source/gdi/salgdi.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/salgdi_gdiplus.cxx vcl/win/source/gdi/winlayout.cxx Change-Id: I871d1d107b019758f3913e5eb63bc9bc0ba403fd Do not name unused arguments to prevent compiler warnings. (cherry picked from commit f3118889a0cd941f193e9b6557c0792015d77a34) Change-Id: I482d1f96d695c7bf9912ec464bb39e7fdd14adef Related: #i121534# fix graphite-enabled windows build (cherry picked from commit c90a6ca92b1239d01a2892e15488e4a183a88b1a) Conflicts: vcl/win/source/gdi/winlayout.cxx Change-Id: I95fd41ad6f7187f34ba9474674a471fb4fc65314
2013-06-13Remove dead code related to unused WITH_SVP_LISTENINGStephan Bergmann
Change-Id: I8a12d0ea18a60541d9a11db26cc417a190443ff4
2013-06-04Make the iOS vcl CoreText code build againTor Lillqvist
Some refactoring was needed after the Coretext rework yesterday. It does crash at run-time, though. Also, remove the no longer used source files from our older CoreText attempt. Change-Id: I54d221ade846866d7a9457acd50219c74c68e8cf