summaryrefslogtreecommitdiff
path: root/vcl/headless
AgeCommit message (Collapse)AuthorFilesLines
2016-02-12nothing needs GetClipRegionType or uses SAL_OBJECT_CLIP_INCLUDERECTS nowCaolán McNamara1-1/+0
Change-Id: Ie43eb3b2c449891fef1031e7df3f381cecb4b4f9
2016-02-13vcl: include vcl headers via triangular brackets instead of quotesChris Sherlock1-3/+3
Change-Id: I311f7db622ce341527fe12a92b516f800b602f92
2016-02-09Don't leak old m_pSurfaceStephan Bergmann1-0/+5
Change-Id: Ief35b95af3da58845291ab27b4eb09895e0256a2
2016-02-08headless: for now don't allocate big cairo surfaces for invisible frames.Michael Meeks1-2/+7
This was ~10Mb of RAM for a hello-world.odt under tile-bench. Change-Id: Ie0787676be754ac81eb8ec036c9757a1bb2f2220 Reviewed-on: https://gerrit.libreoffice.org/21918 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
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-06vcl: split exception types from input typesChris Sherlock1-14/+14
Having them in the file apptypes.hxx isn't necessary helpful, IMO so I've split the types into inputtypes.hxx and exceptiontypes.hxx Change-Id: I89a1ff168c3ae276b2f5486669d4ec2dda062d57
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-02move CairoTextRender cleanup to callersCaolán McNamara1-1/+3
so releaseCairoContext is a mirror of getCairoContext, so callers that don't need to flush can drop that explicit call Not sure, now that I see it, how there's been no sign of any problem with no damage of the affected text area under gtk3 Change-Id: I8e508160be4102c64a0ecdf5591b6999f9171c36
2016-02-02rename drawSurface to releaseCairoContextCaolán McNamara1-1/+1
Change-Id: Ie5aac4a8b11daa2aba092923286fbbb2d76d4651
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-31cppcheck: fix redundantConditionJulien Nabet1-1/+1
Change-Id: I838a34d6639de75ad08ef29937447936006e53ca
2016-01-26vcl: actually that shared_array was a scamMichael Stahl1-3/+3
The only things passed as buffers there were null pointers and shared_arrays that had the deletion explicitly disabled with a struct NoDelete, so it's sufficient to just pass a pointer. Change-Id: I68d618782aa654242048516d2e910b8136b16e2d
2016-01-26vcl: convert boost::shared_array to std::shared_ptrMichael Stahl1-2/+2
Change-Id: I9d0ad886c4c6e1c8496eb6129b22d327ca0968eb
2016-01-22Use C++ osl::Mutex, osl::MutexGuardStephan Bergmann1-22/+14
...and get rid of that curious "defensive programming" mis-handling of a failing osl_acquireMutex Change-Id: I1730c2d8334f0137ee8646ab990d0914426246bb
2016-01-21new[] failed but memset of requested len called anywayCaolán McNamara1-6/+5
recent regression from commit a73e606b8cd714520285b4e40890db9fd27d7ba5 Date: Thu Jan 21 16:04:28 2016 +0100 Quickfix for deterministic SvpSalBitmap checksums move the memset (and similar memcpy) inside try block Change-Id: I51d76777f91664459deb777a5dfafae80203af57
2016-01-21Quickfix for deterministic SvpSalBitmap checksumsStephan Bergmann1-1/+7
...that include the junk parts of the mpDIB->mpBits array in the calculation. MALLOC_PERTURB_=153 in gb_CppunitTest_malloc_check (solenv/gbuild/platform/unxgcc.mk) causes those junk bytes to normally contain 0x66 on Linux, but ASan makes them contain 0xBE instead. Change-Id: I74429c5e539e667cb936b3a486de31867eef3e50
2016-01-21valgrind: memleakCaolán McNamara1-0/+1
Change-Id: Icdbec08e158c83045529ef3b59231bbc310782cd
2016-01-20replace use of basebmp in vcl entirely nowCaolán McNamara3-407/+187
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-19only use of clone is to copy, so do thatCaolán McNamara1-3/+1
Change-Id: I75cfb96e4afd69fd0f6a6716ce4be282aa8d3b14
2016-01-19always copying the full bitmap, not just a portion of itCaolán McNamara2-4/+2
Change-Id: Ib3e10d188c3f0d1bde40653d783f98ebfaed423c
2016-01-18devices are always top-down nowCaolán McNamara2-8/+6
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-18basebmp now only used from vcl/headless codeCaolán McNamara1-4/+2
Change-Id: I068d404431d3565f6ad5741edbd3693225824a4d
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 McNamara2-2/+2
Change-Id: If4d1a933f5ebf2154c377ef9a8596eb0962d43d3
2016-01-18drop unneeded headersCaolán McNamara1-3/+0
Change-Id: I2923f948597870039dd60922f7bd8f6953dced3a
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 McNamara4-336/+136
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