summaryrefslogtreecommitdiff
path: root/vcl/headless
AgeCommit message (Collapse)AuthorFilesLines
2015-07-16need cairo >= 1.10.0 for these featuresCaolán McNamara1-2/+2
Change-Id: I8e1e45caadc6cc537f27a194851dd00b1f1d0e89
2015-07-08loplugin:unusedmethods vclNoel Grandin2-17/+0
Change-Id: I98b88ca3369a2c888fd63796e39d42376d513002
2015-07-01Resolves: tdf#92461 fix font fallback in headless text rendererCaolán McNamara1-7/+2
This suggests that the GF_FONTSHIFT thing is very broken as its level 0 for all the font renderers here, but follow the working pattern for now Change-Id: Ia180a40071157ead9a3b04c05658a6574dd5f864
2015-06-26vcl: fix Win32 deadlocks from SolarMutexReleaserMichael Stahl1-1/+3
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-25try harder to hide this from android tinderboxCaolán McNamara1-9/+8
Change-Id: I586fea9f1570b68ed789da8b10a3b46216c42969
2015-06-25WaE: error: 'CAIRO_VERSION' is not definedCaolán McNamara1-1/+1
Change-Id: I9e4f0d0af541226089a6295962a91ca09debb418
2015-06-25error: missing binary operator before token '('Caolán McNamara1-6/+5
Change-Id: Ieafb13245a11347cbda8a33e49ad618bf85d8a89
2015-06-25WaE: -Werror=unused-parameter on AndroidCaolán McNamara1-0/+5
Change-Id: Ie5a4015794350a513c39a60ae650f4626d92e1b8
2015-06-25stinking ancient cairo implsCaolán McNamara1-1/+1
Change-Id: I35e826bc78556a912358dfad2fac7c45ca35bfd1
2015-06-25gtk3: fix 'degenerate' clip in cairo clippingCaolán McNamara1-4/+9
fix spelling in basebmp clipping case and downgrade to INFO Change-Id: I16ec943bd4be8ca374ded7827e4ec24e7df03e8e
2015-06-25gtk3: move cairo region clipping to svpCaolán McNamara1-0/+14
Change-Id: I4b4f09ee3fb7edbda3b6bb5af024c0966e3a2082
2015-06-25gtk3: alpha rects using cairoCaolán McNamara1-23/+100
Change-Id: I7fdcd6336fdc7ea8149c385a177db91ffaa61c94
2015-06-25cairo_format_stride_for_width is 1.6 onwardsCaolán McNamara1-0/+4
Change-Id: Ic233b4b6c7067f2473eb76b0c7e520cfe1dfcd14
2015-06-24gtk3: move createCairoContext down to svpgdiCaolán McNamara1-0/+25
Change-Id: Ib3c6d6689c4b79a636a3f2f0f985f3573aa46f3d
2015-06-23Revert "Typo: iff->if"Julien Nabet1-1/+1
This reverts commit cf92da3d6e1de14756efe3f1ee79f393a2f3787d. iff can mean "if and only if" so not a typo
2015-06-23Typo: iff->ifJulien Nabet1-1/+1
Change-Id: I3fc60856b5a56e71d70b55c89323be074bdec3b3
2015-06-22Re-factor AddTempDevFont to share it with headless backend.Michael Meeks1-3/+4
Change-Id: Ic316b18eace3445edef346fe319cbb0e557607fa Reviewed-on: https://gerrit.libreoffice.org/16412 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-06-20tdf#92194 - fix headless masking operations in vcl.Michael Meeks1-2/+2
These were causing horrible rendering artifacts for all manner of headless rendering across Android & Online. A very simple fix in vcl, plus a set of tests. Change-Id: Ib261c0ea29d79ee6415e164c0b9b098efb52458b
2015-06-11Cleanup crossplatform cairoMox Soini3-0/+15
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-08loplugin:cstylecast: deal with remaining pointer castsStephan Bergmann2-2/+2
Change-Id: I07bf1403e6b992807541a499b786d47f835b2f81
2015-06-04convert basebmp::Format to scoped enumNoel Grandin4-88/+87
Change-Id: I6eb213d6dcf387936967271fba9e2de3879ef479
2015-06-04convert DrawMode to scoped enumNoel Grandin2-11/+11
Change-Id: Ie4a7705cc3d042d08178e562a2c2ffaf0be3810f
2015-06-02loplugin:cstylecast: deal with those that are (technically) const_castStephan Bergmann1-1/+1
Change-Id: I1a9aa868d3724a7d14c181e45d956cdf2423e40c
2015-05-27convert EXTTEXTINPUT constants to scoped enumNoel Grandin1-1/+1
Change-Id: I1bb4ff2c13eaa2a9da3e32963ac0802e947e18d9
2015-05-25cppcheck: noExplicitConstructorCaolán McNamara3-4/+4
Change-Id: I62076450ab77472bfd09b3fb9824f54b6ea1e0f7
2015-05-23Remove include stdio (part6)Julien Nabet2-8/+4
Change-Id: I4dde46c81b36b318710e32c8f420dff8d9c2e655 Reviewed-on: https://gerrit.libreoffice.org/15879 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2015-05-06convert BMP_SCALE constant to scoped enumNoel Grandin1-1/+1
Change-Id: Ibc9f88d2588c028cd71aa86c26d970a73025ef22
2015-03-28Clean up C-style casts from pointers to voidStephan Bergmann1-1/+1
Change-Id: Iad602cece6e328c7f5d5f36adb294c97b152ade3
2015-03-23Typo: impemented->implementedJulien Nabet1-1/+1
Change-Id: Ifa031a872bd618c41b0fbb2e0fd5a17e0f7b0a53
2015-03-23SvpSalGraphics::drawRect needs to adjust the rect bounds for line drawingCaolán McNamara1-1/+5
like X11SalGraphicsImpl::drawRect does now the focus borders in the layouts pane of impress update correctly as the border is added/removed as you pass the mouse over them with the gtk3 plugin Change-Id: I1f03065049c2aee2e3c28e7a16777e9b06e34c6e
2015-03-23move cairo helpers to vcl and make per-plugCaolán McNamara1-0/+20
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-7/+4
Change-Id: I29eb3dfee751c5f40690f604eaff9bd1f18cf046
2015-03-20The 'svp' "plug-in" library is empty so don't build it at allTor Lillqvist1-1/+1
Its code is in the vcl library nowadays. Change-Id: Idb659e541226724004660102f6641c38a2312c27
2015-03-20Drop paintTile's row stride output parameter that nobody is interested inTor Lillqvist1-8/+0
Change-Id: I166b4b713c2ea52c62c52045bb2073b6d84c1547
2015-03-20Don't include vcl's private include files in desktopTor Lillqvist2-1/+30
Introduce a handful of small public wrapper functions. Change-Id: I80e1e35d09675112d67b831f3efda483e709b540
2015-03-19reorganize resizing surfaces logicCaolán McNamara1-5/+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-8/+3
Change-Id: I985b781a8d53190505fcb1182749cdaf5cd0f8d0
2015-03-19move the cairo resize hack into vclCaolán McNamara1-0/+5
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-14/+0
Change-Id: I1387b0ed7b2d8bb9df801c03cf59efc9c0e1cfd3
2015-03-18more thinkingCaolán McNamara1-0/+4
Change-Id: Ie349bd35b1fc92b77cc15f51eb886a1c9c92cbe1
2015-03-18thinkingCaolán McNamara1-0/+5
Change-Id: Ib1a086bed7f70e244db2a0bd32819560c6949d51
2015-03-18move the cairo resize hack into vclCaolán McNamara1-0/+5
Change-Id: Ifd1817a28f4fb7ddcc85447fd3388fd0efd86476
2015-03-18headless text rendering backs onto freetype as wellCaolán McNamara1-3/+14
so we can query that info in GetSysFontData which will enable the gtk3-cairo-canvas to use the font and render text with cairo in presentation mode ever with virtual devices whose vcl font rendering path is still non-cairo Change-Id: I3d885d8f6a7c3776200ac31f4c9123d4b063d417
2015-03-18ctor takes care of this initialization alreadyCaolán McNamara1-6/+0
Change-Id: I6a798df9238715c3d531c1eae89738c9a9e49eb7
2015-03-18move IsCairoWorking to vclplug level and renameCaolán McNamara1-0/+5
Change-Id: Id31de932afa61df6933d61ddba971f5d7060f0c1
2015-03-11the clipping must be against the original deviceCaolán McNamara1-1/+12
seeing as the clipping replaces the old clipping and doesn't further subset the clipping and presumably, the same must be true for "unclipping" the device This nearly killed me to debug and is a crucial bit to make the gtk3 thing work right. Change-Id: I21629ef7c8a19b720d05d4e4938f40d4776bee76
2015-03-10make SvpSalGraphics::getBitmap more readableCaolán McNamara1-6/+9
Change-Id: I4eb896813d6cec49bf5f1c8ac2ee8fafc06fbf52
2015-03-10I don't think we should clip when using getBitmapCaolán McNamara1-2/+1
this solves the bug of icons in the standard toolbar under gtk3 of getting rendered with a black background on first render Change-Id: I73bae4cd0b9f38c9e9caef8019d773d42b5e8f10
2015-03-09V801: Decreased performanceCaolán McNamara1-1/+1
Change-Id: I9e9a00acf9503980f0c6c7cd0a20378e5ca7390d
2015-03-03render text with cairo under gtk3, not headless solutionCaolán McNamara1-0/+5
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>