summaryrefslogtreecommitdiff
path: root/vcl/inc/headless
AgeCommit message (Collapse)AuthorFilesLines
2015-12-07Resolves: tdf#96224 don't fiddle around with a separate alpha bufferCaolán McNamara1-1/+1
use a format that supports alpha directly now we can unify the android and linux cases as well and drop the BGRX support Change-Id: I3c845913691d8194822423005d308cfa7ef13ec3 Reviewed-on: https://gerrit.libreoffice.org/20440 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit bc45215ec6e5d508415465ad3f619c3dbe23f7c8)
2015-11-24Replace return boolean from DoYield with pleasant enumeration.Michael Meeks1-1/+1
Change-Id: I1b1f885b4d7916a18dfb2457a8e9af9a5b4ae6e4 Reviewed-on: https://gerrit.libreoffice.org/20138 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-23Restore deleted svpcairotextrender.hxxJan-Marek Glogowski1-0/+34
Probably 0c75202ad20d3dc1f0a2a68375253d547f054405 just wanted to move the file to vcl/inc/headless. Change-Id: I8a11a24c272fa9cacb1505050e2c568aeb6fd4b2
2015-11-23only one headless text renderer nowCaolán1-2/+2
Change-Id: I045d7a58f3eae20c733fe93faa3a64687e7c85e3
2015-11-23loplugin:staticmethodsStephan Bergmann1-2/+2
Change-Id: Ia22b7f53a85e55fd33762adceba9a1b1827d6f34
2015-11-23VirtualDevices either match another device depth, or are 1 bitCaolán McNamara1-3/+0
cairo can therefore always render to a svp virtual device with need for a fallback Change-Id: I5d03ae541820389e26f7448444444be009fb28a4
2015-11-23establish that Virtual Devices either match Physical Device depth or ...Caolán McNamara2-4/+5
are 1 or (rarely) 8 bit and lock that down. Change-Id: I3d946ebef34ffb71c5adea7aa420af50e9584e05
2015-11-23Do all svp text rendering with cairoCaolán McNamara4-97/+11
enabling us to delete a whole pile of foo For android we patch cairo, which is internal in that case, to swap the rgb components so that cairo then matches the OpenGL GL_RGBA format so we can use it there where we don't have GL_BGRA support. Change-Id: I25e34889c7b7263438b143dd2a2ad882fb0f190a
2015-11-18com::sun::star->css in vcl/Noel Grandin2-2/+2
Change-Id: Ifad76177673cf93746ba221838be80ff76fed228 Reviewed-on: https://gerrit.libreoffice.org/20032 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-17vcl: add parameter to detect if OS events are processed during Yield.Michael Meeks1-1/+1
Intended as a non-functional change. Change-Id: I1915aad03786540da1a4bfe9031d33f2c2a9b4e3 Reviewed-on: https://gerrit.libreoffice.org/20006 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-16build cairo on androidCaolán McNamara1-3/+2
Change-Id: Ie2f7662a4cc3955963517f265894b8f6a495ece8 Reviewed-on: https://gerrit.libreoffice.org/19991 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-16use cairo-compatible top-down direction virtual devices everywhereCaolán McNamara3-5/+2
that way we can use cairo to text render etc onto our basebmp-backed headless/gtk3 virtual devices Change-Id: I91002b610b72a4fe1d2094a57c5cb1b6b5d69cb1 Reviewed-on: https://gerrit.libreoffice.org/19957 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-14undo cairo use in svp for nowCaolán McNamara1-2/+3
seeing as its unavailable for android at the moment Change-Id: Idc4dfd01224a2b90eacce0efd2d1b8a75001d085
2015-11-13do all the headless using platforms have cairo ?Caolán McNamara1-3/+2
Change-Id: I4c0250254480790f49ad45f3d42151aee4a441e8 Reviewed-on: https://gerrit.libreoffice.org/19953 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann3-3/+3
Change-Id: I05e89f9896170d4df3d1377549ea074f06b884a0
2015-10-30tdf#93684 - Remove SalFrame::SyncRyan McCoskrie1-1/+0
Change-Id: Icae9cf0a17f9cdf9a671c7e7278019d6980602b1 Reviewed-on: https://gerrit.libreoffice.org/18453 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann8-193/+193
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-07Make this compile for iOS againTor Lillqvist1-2/+2
Change-Id: Idd4a1e6d50652a879493d8411c59605ca1a53dfb
2015-10-05convert SAL_FRAME_STYLE to scoped enumNoel Grandin2-4/+4
Change-Id: Ic3f7fddcea36c18ffe43c4c633d415f596a58cbc Reviewed-on: https://gerrit.libreoffice.org/19094 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-02fix Android and KDE buildNoel Grandin2-0/+9
after commit 837f171810a95a1d87907dd08d67e969276f0559 "loplugin:unusedmethods in vcl" Change-Id: Idd4603f34891950940a77efa30b9ee70f35d7533
2015-10-02loplugin:unusedmethods in vclNoel Grandin5-15/+0
Change-Id: Ib404310761fd555b033ab6594ba8636d37f23463 Reviewed-on: https://gerrit.libreoffice.org/19074 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-29m_pData is always a ImplSVEventCaolán McNamara1-2/+2
Change-Id: I0207419ac1b2ecdf36f208169766d965ae48ad8c
2015-09-29the only use of non-null pData in PostEvent is with a ImplSVEventCaolán McNamara1-1/+1
Change-Id: Id843c886cc9a029f37eab53a95497707060c3ada
2015-09-29retain type for another levelCaolán McNamara1-1/+1
Change-Id: I4017e5404c99d37b36988f1d7a8ce17e42010070 Reviewed-on: https://gerrit.libreoffice.org/18913 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-09-16GL paint-flushing guard re-work.Michael Meeks1-3/+0
Unfortunately, since we can have 2x SalGraphics' on a OutputDevice, and one of these can be a printer - things got very confused around which context to glFlush. This de-tangles the various reference-counts. Change-Id: I1062be0b02a91fc9009deaa3ec29c5dbb227df20 Reviewed-on: https://gerrit.libreoffice.org/18604 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-07-08loplugin:unusedmethods vclNoel Grandin2-5/+0
Change-Id: I98b88ca3369a2c888fd63796e39d42376d513002
2015-06-26vcl: fix Win32 deadlocks from SolarMutexReleaserMichael Stahl1-1/+1
To create and destroy thread-affine Win32 Windows and DCs, non-main threads SendMessage() special messages like SAL_MSG_CREATEFRAME. The main thread must handle these messages and return the result to un-block the other thread. This works fine as long as the main thread is in its message loop anyway and blocked on GetMessage(); however if the main blocks trying to acquire the SolarMutex that is held by the sending thread, deadlock results. In order to work around this, there is some peculiar code in ImplSalYieldMutexAcquireWithWait() to avoid blocking the main thread on mpSalYieldMutex but instead block in GetMessage(). The crucial detail is that GetMessage() will immediately dispatch any message sent via SendMessage(), which avoids the deadlock. https://msdn.microsoft.com/en-us/library/windows/desktop/ms644936.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms644927.aspx Most of the Win32 WndProc that acquire SolarMutex do so via ImplSalYieldMutexAcquireWithWait(), but the main thread may also temporarily drop SolarMutex and re-aquire it with the questionable SolarMutexReleaser hack, which calls ImplSalAcquireYieldMutex() instead, which blocks on mpSalYieldMutex. Fix SolarMutexReleaser to call a new function Application::ReAcquireSolarMutex() that does the right thing here: acquire SolarMutex via ImplSalYieldMutexAcquireWithWait(). It turns out that this problem was already fixed before in commit 6a8fd4c76a969ac98d1aff91ff7442f43aee0006 but the problem was insufficiently documented in the commit and it introduced the bug that Application::Reschedule() was called without having the SolarMutex locked, which caused timers to run without SolarMutex, so the commit was reverted in 1ef1781390845d03b6e1518bbac81b818be62f3d. Change-Id: I60aae555a9ee3c6390f584feddbc6b3cb7de0250
2015-06-25gtk3: move cairo region clipping to svpCaolán McNamara1-0/+1
Change-Id: I4b4f09ee3fb7edbda3b6bb5af024c0966e3a2082
2015-06-24gtk3: move createCairoContext down to svpgdiCaolán McNamara1-0/+3
Change-Id: Ib3c6d6689c4b79a636a3f2f0f985f3573aa46f3d
2015-06-11Cleanup crossplatform cairoMox Soini2-0/+8
Mac / Win cairo is not built / used, this cairo code can be removed to reduce code bloat. 4th Revised version with Android fixes Change-Id: I6e56850f535ca13b77839b7d67e227c5f39d388e Reviewed-on: https://gerrit.libreoffice.org/16218 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-06-04convert basebmp::Format to scoped enumNoel Grandin1-1/+1
Change-Id: I6eb213d6dcf387936967271fba9e2de3879ef479
2015-05-27convert EXTTEXTINPUT constants to scoped enumNoel Grandin1-1/+1
Change-Id: I1bb4ff2c13eaa2a9da3e32963ac0802e947e18d9
2015-05-06convert BMP_SCALE constant to scoped enumNoel Grandin1-1/+1
Change-Id: Ibc9f88d2588c028cd71aa86c26d970a73025ef22
2015-04-02loplugin:staticmethodsNoel Grandin1-1/+1
Change-Id: Ibf0c73ac17ec19ed672f66907db47057920babca
2015-03-23move cairo helpers to vcl and make per-plugCaolán McNamara1-0/+4
Change-Id: I4de4d5c3a191784598e93a8cf70e45a3f59ae857 Reviewed-on: https://gerrit.libreoffice.org/14907 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-03-20No need for svp_create_SalInstance to be extern "C"Tor Lillqvist1-1/+1
Change-Id: I29eb3dfee751c5f40690f604eaff9bd1f18cf046
2015-03-20The 'svp' "plug-in" library is empty so don't build it at allTor Lillqvist1-0/+2
Its code is in the vcl library nowadays. Change-Id: Idb659e541226724004660102f6641c38a2312c27
2015-03-20Don't include vcl's private include files in desktopTor Lillqvist1-2/+2
Introduce a handful of small public wrapper functions. Change-Id: I80e1e35d09675112d67b831f3efda483e709b540
2015-03-19reorganize resizing surfaces logicCaolán McNamara1-1/+0
the only case where we don't just create a new surface is the X11 case Change-Id: I98a3c8f227e208ac9db969ed7711e293fb237c2e Reviewed-on: https://gerrit.libreoffice.org/14902 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-03-19loplugin:constantfunction: vclNoel Grandin1-2/+1
Change-Id: I985b781a8d53190505fcb1182749cdaf5cd0f8d0
2015-03-19move the cairo resize hack into vclCaolán McNamara1-0/+2
Change-Id: I41868da3901d9c3fff69c11da467952176e58f09 Reviewed-on: https://gerrit.libreoffice.org/14897 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-03-18revert work in progressCaolán McNamara1-4/+0
Change-Id: I1387b0ed7b2d8bb9df801c03cf59efc9c0e1cfd3
2015-03-18more thinkingCaolán McNamara1-1/+2
Change-Id: Ie349bd35b1fc92b77cc15f51eb886a1c9c92cbe1
2015-03-18thinkingCaolán McNamara1-0/+1
Change-Id: Ib1a086bed7f70e244db2a0bd32819560c6949d51
2015-03-18move the cairo resize hack into vclCaolán McNamara1-0/+2
Change-Id: Ifd1817a28f4fb7ddcc85447fd3388fd0efd86476
2015-03-18move IsCairoWorking to vclplug level and renameCaolán McNamara1-0/+1
Change-Id: Id31de932afa61df6933d61ddba971f5d7060f0c1
2015-03-09V801: Decreased performanceCaolán McNamara1-1/+1
Change-Id: I9e9a00acf9503980f0c6c7cd0a20378e5ca7390d
2015-03-04GtkSalGraphics never operate on virtual devicesCaolán McNamara1-1/+1
the VirtualDevice is a SvpSalVirtualDevice and it uses its own SvpSalGraphics to render to itself, so we don't have to worry about being asked to render to a VirtualDevice i.e. Revert "just in case, fallback if not cairo-surface" This reverts commit 756b2c945143ee171ae80c9ba51ef0dd50fab789. Conflicts: vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx Change-Id: I3bd3ce42e7c943f8cfca1cc1d2ea6e5eb51bb349
2015-03-03just in case, fallback if not cairo-surfaceCaolán McNamara1-1/+1
Change-Id: I5c185f9306f73f787f38566ba5335b5a8f51ee1d
2015-03-03render text with cairo under gtk3, not headless solutionCaolán McNamara2-5/+7
Change-Id: I309eaef08f597658c068170875733e5e1daa56ef Reviewed-on: https://gerrit.libreoffice.org/14715 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>