summaryrefslogtreecommitdiff
path: root/vcl/headless/svpgdi.cxx
AgeCommit message (Collapse)AuthorFilesLines
2017-02-01gtk3 hidpi xor hack needs to use unscaled extentsCaolán McNamara1-6/+15
so that e.g. the xor cursor in csv dialog can be seen when moving the mouse across the ruler Change-Id: Ia2f367d5f610d486a8e10b6bc278cbc8029cf2a1 (cherry picked from commit 00c4679641bc2b84c6496258c0c5bd84df75ae42) Reviewed-on: https://gerrit.libreoffice.org/33792 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-01-30Resolves: tdf#105416 blank windows under HiDPI RTLCaolán McNamara1-1/+1
Change-Id: I819f06babd448c37ce2d58297562b640aba1c8c6 (cherry picked from commit 4e9cfc178c47893229f8030bfe73e2b7c5de92c3) Reviewed-on: https://gerrit.libreoffice.org/33302 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> (cherry picked from commit c9ab894ae846185a0341656922b0aa1632bfe886) Reviewed-on: https://gerrit.libreoffice.org/33653 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-11-24Resolves: tdf#99508 ensure sufficient size for hidpi backing surfaceCaolán McNamara1-5/+11
and match virtual device scale with widget device scale Change-Id: I1f35dcbaec94be12758ad6e4276bfd6bda4b1e88 Reviewed-on: https://gerrit.libreoffice.org/31080 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins <ci@libreoffice.org> Tested-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit d9a6e0023c9a192850b9db00f8120fbcc4256ec9) Reviewed-on: https://gerrit.libreoffice.org/31156
2016-11-23gtk3: scrollbar damage area one pixel too narrow/shortCaolán McNamara1-1/+3
under default Ambience theme Ubuntu 16.04 tools rectangle strikes again, rejig to be left/top + width/height rather than left/top + right/bottom Change-Id: Id5274f068863cd5219a89142b392c9ca53a1694d Reviewed-on: https://gerrit.libreoffice.org/30851 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-07-21use CAIRO_FILL_RULE_EVEN_ODD by defaultCaolán McNamara1-0/+1
as seen in tdf#100909 with gtk3 backend Change-Id: I67a270a96df980489cd2cb37461b3bf88de4df03 (cherry picked from commit 0d2a328ab0ecac9e07dbb59762e571958fcc33d9) Reviewed-on: https://gerrit.libreoffice.org/27314 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-06-29update other places that read data from cairo image surfaceDavid Tardon1-21/+15
Change-Id: Icb8761e5ff89e1c0e0e034a751fe9a50ad5ab90a (cherry picked from commit cff87aac4ec77957569377d690bc4aa8f7146e0d) Reviewed-on: https://gerrit.libreoffice.org/26759 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-29rhbz#1341064 fix OutputDevice test on big endian systemsDavid Tardon1-0/+6
Change-Id: I902acd90797ab26304bc5b239b862cae9f3075ef (cherry picked from commit e9ef81eeefba5c4ec6de3fe72aefb6af26de30c4) Reviewed-on: https://gerrit.libreoffice.org/26758 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-13clang-tidy modernize-loop-convert in vclNoel Grandin1-2/+2
Change-Id: I79e97a4826bfe3918de223cccf48646a1404f901 Reviewed-on: https://gerrit.libreoffice.org/24922 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-12simplify SalGraphics::copyArea flags argumentNoel Grandin1-6/+6
Change-Id: Iaaef4d90d7fe817a32cd51652d41c2e49c8909a4 Reviewed-on: https://gerrit.libreoffice.org/24832 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-10Convert SAL_INVERT to scoped enumNoel Grandin1-2/+2
Change-Id: If9f725c791f9d01efba098caed8387f21862fa04 Reviewed-on: https://gerrit.libreoffice.org/24825 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-10convert SAL_ROP to scoped enumNoel Grandin1-6/+6
Change-Id: I2c49ec843c0f95e8246cdf9d3185c11e81a3bde3 Reviewed-on: https://gerrit.libreoffice.org/24824 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-06teach passstuffbyref plugin to check for..Noel Grandin1-5/+5
unnecessarily passing primitives by const ref. Suggested by Tor Lillqvist Change-Id: I445e220542969ca3e252581e5953fb01cb2b2be6 Reviewed-on: https://gerrit.libreoffice.org/24672 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-26tdf#48066 render stroke-miterlimit correctly in SVG importRegina Henschel1-3/+8
The property stroke-miterlimit is transported to the renderers via a new member mfMiterMinimumAngle in class LineAttribute Several drawPolyLine methods are adapted. This patch does not include changes in MetaAction. Presentation mode, printing, and PDF-export is still wrong. Corrected LineJoinMiter to LineJoinBevel in canvas, that s closer to NONE. Removed DrawPolyLine method without MiterMinimumAngle and adapted calls accordingly. Change-Id: I6bcd24add5d85c4d9a39e3788e0682091c5fc9c4 Reviewed-on: https://gerrit.libreoffice.org/23946 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2016-04-13tdf#99165 always provide control points for beziersArmin Le Grand1-0/+18
Some graphic sub systems cannot handle cases where control points of bezier curves are not set and produce wrong geometry for fat line drawing when MITER or similar LineCap and/or LineJoin is used. To avoid that, provide the mathematically correct fallback control points instead. Change-Id: Iabc724e51fb89e702f858db820c920f7b5b7d302 Reviewed-on: https://gerrit.libreoffice.org/24031 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2016-04-06Avoid division by zeroStephan Bergmann1-1/+3
At least JunitTest_framework_copmlex triggered the UBSan failure > vcl/headless/svpgdi.cxx:924:46: runtime error: division by zero > #0 0x2b7114500e3b in renderSource(_cairo*, SalTwoRect const&, _cairo_surface*) vcl/headless/svpgdi.cxx:924:46 > #1 0x2b711450074c in SvpSalGraphics::copySource(SalTwoRect const&, _cairo_surface*) vcl/headless/svpgdi.cxx:937:33 > #2 0x2b7114501f37 in SvpSalGraphics::copyBits(SalTwoRect const&, SalGraphics*) vcl/headless/svpgdi.cxx:980:5 > #3 0x2b7113461871 in SalGraphics::CopyBits(SalTwoRect const&, SalGraphics*, OutputDevice const*, OutputDevice const*) vcl/source/gdi/salgdilayout.cxx:529:9 > #4 0x2b711359a1fc in VirtualDevice::InnerImplSetOutputSizePixel(Size const&, bool, unsigned char*) vcl/source/gdi/virdev.cxx:352:17 > #5 0x2b711359bef6 in VirtualDevice::ImplSetOutputSizePixel(Size const&, bool, unsigned char*) vcl/source/gdi/virdev.cxx:391:9 > #6 0x2b711359edc0 in VirtualDevice::SetOutputSizePixel(Size const&, bool) vcl/source/gdi/virdev.cxx:437:12 > #7 0x2b70fa4b6f3f in sdr::overlay::OverlayManagerBuffered::ImpPrepareBufferDevice() svx/source/sdr/overlay/overlaymanagerbuffered.cxx:45:17 > #8 0x2b70fa4c0c2c in sdr::overlay::OverlayManagerBuffered::ImpSaveBackground(vcl::Region const&, OutputDevice*) svx/source/sdr/overlay/overlaymanagerbuffered.cxx:159:13 > #9 0x2b70fa4cecab in sdr::overlay::OverlayManagerBuffered::completeRedraw(vcl::Region const&, OutputDevice*) const svx/source/sdr/overlay/overlaymanagerbuffered.cxx:414:17 > #10 0x2b70fa787fc4 in SdrPaintWindow::DrawOverlay(vcl::Region const&) svx/source/svdraw/sdrpaintwindow.cxx:334:13 > #11 0x2b70fb9d388f in SdrPaintView::EndCompleteRedraw(SdrPaintWindow&, bool) svx/source/svdraw/svdpntv.cxx:753:9 > #12 0x2b70fd77da81 in FmFormView::EndCompleteRedraw(SdrPaintWindow&, bool) svx/source/form/fmview.cxx:474:5 > #13 0x2b70fb9d64a0 in SdrPaintView::EndDrawLayers(SdrPaintWindow&, bool) svx/source/svdraw/svdpntv.cxx:789:5 > #14 0x2b7182085fe9 in SwViewShell::DLPostPaint2(bool) sw/source/core/view/viewsh.cxx:240:9 > #15 0x2b71820d94c5 in SwViewShell::Paint(OutputDevice&, Rectangle const&) sw/source/core/view/viewsh.cxx:1797:21 > #16 0x2b717c26e635 in SwCursorShell::Paint(OutputDevice&, Rectangle const&) sw/source/core/crsr/crsrsh.cxx:1273:5 > #17 0x2b71839ae182 in SwEditWin::Paint(OutputDevice&, Rectangle const&) sw/source/uibase/docvw/edtwin2.cxx:475:9 > #18 0x2b71100ee7e0 in PaintHelper::DoPaint(vcl::Region const*) vcl/source/window/paint.cxx:309:13 > #19 0x2b71100ff14a in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:611:9 > #20 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #21 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #22 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #23 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #24 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #25 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #26 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #27 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #28 0x2b71100fb252 in PaintHelper::~PaintHelper() vcl/source/window/paint.cxx:549:17 > #29 0x2b71100ff463 in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) vcl/source/window/paint.cxx:614:1 > #30 0x2b7110100536 in vcl::Window::ImplCallOverlapPaint() vcl/source/window/paint.cxx:635:9 > #31 0x2b7110102811 in vcl::Window::ImplHandlePaintHdl(Idle*) vcl/source/window/paint.cxx:667:9 > #32 0x2b7110100ee7 in vcl::Window::LinkStubImplHandlePaintHdl(void*, Idle*) vcl/source/window/paint.cxx:645:1 > #33 0x2b71101446d7 in Link<Idle*, void>::Call(Idle*) const include/tools/link.hxx:84:45 > #34 0x2b711380dff9 in Idle::Invoke() vcl/source/app/idle.cxx:25:5 > #35 0x2b711385011b in ImplSchedulerData::Invoke() vcl/source/app/scheduler.cxx:45:5 > #36 0x2b71138535e5 in Scheduler::ProcessTaskScheduling(bool) vcl/source/app/scheduler.cxx:177:9 > #37 0x2b71139a90d4 in ImplYield(bool, bool, unsigned long) vcl/source/app/svapp.cxx:521:5 > #38 0x2b7113982d83 in Application::Yield() vcl/source/app/svapp.cxx:553:5 > #39 0x2b7113982b1a in Application::Execute() vcl/source/app/svapp.cxx:473:9 > #40 0x2b70df7a4294 in desktop::Desktop::DoExecute() desktop/source/app/app.cxx:1322:5 > #41 0x2b70df7aeda3 in desktop::Desktop::Main() desktop/source/app/app.cxx:1647:17 > #42 0x2b7113a0208e in ImplSVMain() vcl/source/app/svmain.cxx:172:19 > #43 0x2b7113a0f776 in SVMain() vcl/source/app/svmain.cxx:210:16 > #44 0x2b70df9e9d01 in soffice_main desktop/source/app/sofficemain.cxx:135:12 > #45 0x4f0f0c in sal_main desktop/source/app/main.c:48:15 > #46 0x4f0ee6 in main desktop/source/app/main.c:47:1 > #47 0x2b70e137057f in __libc_start_main (/lib64/libc.so.6+0x2057f) > #48 0x418f48 in _start (instdir/program/soffice.bin+0x418f48) Change-Id: I2bc4abe48c129e006582b9870229f44d2d2bb1ed
2016-03-25fix headless buildOliver Specht1-1/+3
disables OpenGL and glew usage, lets --without-gui do what --without-x did before and disables X related test Change-Id: I680b47c9962a0d43c8ece593db0b82e347ceebdb Reviewed-on: https://gerrit.libreoffice.org/23474 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2016-02-08duplicate leaky linesCaolán McNamara1-2/+0
Change-Id: I19e6e4955241d2811678dc15ce07de6ac5b04036
2016-02-08cppcheck: noExplicitConstructorCaolán McNamara1-2/+2
Change-Id: I74585aa5a50cd335f4fd0a3ba4fed230b98993c3
2016-02-05mysterious OutDevSupport_B2DClip is unusedCaolán McNamara1-2/+0
since maybe... commit ead04f8f0b7f51bf281ce41d8d590df0ca14af38 Author: Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM> Date: Fri Dec 3 16:21:36 2010 +0100 vcl118: #i115905# improved clip region interface on SAL layer (part 1, windows implementation) Change-Id: Iaeb49b60f70a9f595b67c7eb307a2e90b58d7150
2016-02-05ok non-zeroed empty extents is legitimate after allCaolán McNamara1-14/+8
Change-Id: Ida1e27322bad5d2d36ae4217bb84187a022ebadf
2016-02-05Re-add "Avoid undefined out-of-bounds double -> sal_Int32 conversion"Stephan Bergmann1-2/+15
(5abe0ab18a10a3cb13485ce3ba9433bd82b32221). 6884f53ac490c11b98a77e747033f4971cc285f5 "default B2DRange ctor doesn't do what I thought it did" had reverted it, but the fix there is apparently not enough yet, <http://ci.libreoffice.org/job/lo_ubsan/165/console> still fails with > /vcl/headless/svpgdi.cxx:1274:28: runtime error: value 1.79769e+308 is outside the range of representable values of type 'int' > #0 0x2b826285b4d3 in SvpSalGraphics::releaseCairoContext(_cairo*, bool, basegfx::B2DRange const&) const /vcl/headless/svpgdi.cxx:1274:28 > #1 0x2b8262868c3b in SvpSalGraphics::drawPolyPolygon(basegfx::B2DPolyPolygon const&) /vcl/headless/svpgdi.cxx:899:5 > #2 0x2b826286c6f6 in SvpSalGraphics::drawPolygon(unsigned int, SalPoint const*) /vcl/headless/svpgdi.cxx:551:5 > #3 0x2b826179915c in SalGraphics::DrawPolygon(unsigned int, SalPoint const*, OutputDevice const*) /vcl/source/gdi/salgdilayout.cxx:419:9 > #4 0x2b82604d6f5a in OutputDevice::DrawEllipse(Rectangle const&) /vcl/source/outdev/curvedshapes.cxx:67:13 > #5 0x2b8261f02c4d in CircType::Draw(OutputDevice&) /vcl/source/filter/sgvmain.cxx:596:13 > #6 0x2b8261f0ddc6 in DrawObjkList(SvStream&, OutputDevice&) /vcl/source/filter/sgvmain.cxx:698:100 > #7 0x2b8261f1462a in SgfFilterSDrw(SvStream&, SgfHeader&, SgfEntry&, GDIMetaFile&) /vcl/source/filter/sgvmain.cxx:820:26 > #8 0x2b8261f16726 in SgfSDrwFilter(SvStream&, GDIMetaFile&, INetURLObject const&) /vcl/source/filter/sgvmain.cxx:858:22 > #9 0x2b8261e48f33 in GraphicFilter::ImportGraphic(Graphic&, rtl::OUString const&, SvStream&, unsigned short, unsigned short*, GraphicFilterImportFlags, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>*, WMF_EXTERNALHEADER*) /vcl/source/filter/graphicfilter.cxx:1670:30 > #10 0x2b8261e3c85a in GraphicFilter::ImportGraphic(Graphic&, rtl::OUString const&, SvStream&, unsigned short, unsigned short*, GraphicFilterImportFlags, WMF_EXTERNALHEADER*) /vcl/source/filter/graphicfilter.cxx:1314:12 > #11 0x2b827bb9fee3 in VclFiltersTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) /vcl/qa/cppunit/graphicfilter/filters-test.cxx:60:12 [...] Change-Id: Icb8f52414f57f08334fc501842b3f75c1d3642eb
2016-02-03default B2DRange ctor doesn't do what I thought it didCaolán McNamara1-20/+7
Change-Id: Idfe49de429c08d1dd7663ca3fcced8f326e46d15
2016-02-02Avoid undefined out-of-bounds double -> sal_Int32 conversionStephan Bergmann1-2/+15
...upon empty rExtents, during "make Gallery_txtshapes" Change-Id: Ie482041828b7abcf13d0efb5da62d1158b7f5e92
2016-02-02use same cut-off width value for non-joining drawPolyLine as windows doesCaolán McNamara1-2/+1
Change-Id: Ifc03da8ea65faca51ffa62fcee08fbcfacad6b20
2016-02-02remove B2DLineJoin::MiddleCaolán McNamara1-1/+0
and consistently map css::drawing::LineJoint_MIDDLE to the same thing that css::drawing::LineJoint_MITRE points to everywhere else Change-Id: I77b7586ea13f3fe84c0529172758256666488d36
2016-02-02windows impl doesn't care if drawPolyLine LineWidth y != xCaolán McNamara1-7/+0
so I don't see that it makes much of a difference then if the quartz or cairo one's don't either Change-Id: Iabd65d617437aa747b910fcd2e84421413ed7db6
2016-02-01work around lack of cairo_rectangle_int_t with basegfxCaolán McNamara1-69/+50
ditch the CAIRO_VERSION_ENCODE(1, 10, 0) + sub optional damage rect and just use our always-available basegfx foo here. Change-Id: I680453180f4725ac37cabf38d71b935c99edf6c7 Reviewed-on: https://gerrit.libreoffice.org/21971 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-01-31use feeble fallback for older cairoCaolán McNamara1-0/+5
Change-Id: I93f394575d9afa8eac50a5a7bb36453ae01675ff
2016-01-31svp: implement polyLine B2DLineJoin::NONE like canvas doesCaolán McNamara1-21/+45
as a sequence of separate lines Change-Id: I2ab62160a6c609c8ad96d4f84243709476731a24 Reviewed-on: https://gerrit.libreoffice.org/21967 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-01-20replace use of basebmp in vcl entirely nowCaolán McNamara1-51/+39
we're just using it to store bitmap data and to convert to preferred destination format, so we can use the preexisting vcl BitmapBuffer for that Change-Id: I0e800956d95faddfafa53d2c48b09494a7a867c0
2016-01-19either copy the whole thing exactly, or convert between typesCaolán McNamara1-1/+1
Change-Id: Ied1b4f81e2e851b639cc9a514659160b8571e92f
2016-01-19always copying the full bitmap, not just a portion of itCaolán McNamara1-2/+1
Change-Id: Ib3e10d188c3f0d1bde40653d783f98ebfaed423c
2016-01-18devices are always top-down nowCaolán McNamara1-1/+1
and remove some more unused out of tests code Change-Id: Ie63b03d1de754038d5477112ddfc9266dbf93709
2016-01-18svp: use SalColor instead of basebmp::ColorCaolán McNamara1-74/+66
Change-Id: I611dad8d218f5b82903743cb15a5c2a36cc6ba5d
2016-01-18Remove newly unused includesStephan Bergmann1-7/+0
Change-Id: I089160e7f5f3f2c8f2ac2443793822cc05a3d552
2016-01-18dbgOut is unused nowStephan Bergmann1-21/+0
since dc01e9db6fc6126b8f21bcbeb6145daf2c8941bf "svp: implement drawMask via cairo" Change-Id: I00837048e33d61ddef8b8c4a4537e460838ce22c
2016-01-18fix older cairo buildCaolán McNamara1-5/+3
Change-Id: I24e715e8c0535daaf0284226fb9b8f7c8d7234c0
2016-01-18some android build fixesCaolán McNamara1-8/+11
Change-Id: I2d60a6d70ca9d63f49b12b5d4c3855cc4ef53478
2016-01-18drop now unused basebmp xor modeCaolán McNamara1-1/+1
Change-Id: If4d1a933f5ebf2154c377ef9a8596eb0962d43d3
2016-01-18svp: implement drawMask via cairoCaolán McNamara1-41/+70
Change-Id: Iafb49b4258ffeab98cdf07a175ee7234e106e04c
2016-01-18svp: replace basebmp surfaces with native cairo surfacesCaolán McNamara1-278/+83
so we can then a) drop all of our own clipping code in favour of cairos clipping code b) just pass cairo surfaces around the place instead of constantly creating and tearing down surfaces based on basebmp data c) we can additionally drop various flushing of the surfaces as it doesn't matter anymore d) use a lot less of our own code and far more of some one elses hopefully more drawing optimized code e) seeing as the graphics context are always cairo now, then they are always cairo compatible, so those checks can go also still need to figure out drawMask Change-Id: I320cd14cdc714ea59d00e90233f1171f821cf953
2016-01-18tweak drawLine in face of 1bit behaviorCaolán McNamara1-10/+22
Change-Id: I602b800993b7478b302fe0c368a5db9fc9993465
2016-01-18svp: implement getPixel via cairoCaolán McNamara1-12/+22
Change-Id: Idaf0c27e84d561fc6486bdf4e383de1dbdd615cc
2016-01-18svp: implement getBitmap via cairoCaolán McNamara1-12/+11
Change-Id: Ica3220c6932143726bb3fa813541e14f36b22e8d
2016-01-18refactor to reuseCaolán McNamara1-6/+14
Change-Id: Ifee1b845eb4c46f35a4ad0b45bf49320772e9569
2016-01-18svp: vcl and cairo have a difference of opinion on fg/bg of 1bit masksCaolán McNamara1-19/+62
Change-Id: I3702e5a1ba0e64868f7f537aaa6040449bd82e8b
2016-01-18route other drawBitmap through cairoCaolán McNamara1-16/+4
Change-Id: I18336a7b0479c9a57f0951daadac4dfed422e5c4
2016-01-18svp: route copyArea through cairoCaolán McNamara1-29/+52
Change-Id: I9cc6abc7f32d25c0cc82730e4416c335a94cbabb
2016-01-18svp: route copyBits through cairoCaolán McNamara1-29/+32
Change-Id: I9521f7fecc59197efb17526a365cf4c9b259975f
2016-01-18merge ApplyPaintMode into getCairoContextCaolán McNamara1-15/+4
Change-Id: Iad99c2fc0251cbc7da79148e7ea6e2d93e05945e