summaryrefslogtreecommitdiff
path: root/basebmp/source
AgeCommit message (Collapse)Author
2014-02-23Remove unneccessary commentsAlexander Wilms
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb Reviewed-on: https://gerrit.libreoffice.org/8182 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-27coverity#1078535 Division or modulo by zeroCaolán McNamara
Change-Id: Iab9bb56ce7646955d2592d7e9abdaf829ee1ec78
2013-11-11basebmp: include <> for external includesNorbert Thiebaud
Change-Id: I6f1f573662d5e759694c401598408df9fbb20be8
2013-10-08Hanlde TopDown -> BottomUp conversion in basebmp DirectCopy logictsahi glik
Change-Id: Ic6b94e8f01c0151741626f8b50d69597cc401852 Reviewed-on: https://gerrit.libreoffice.org/6155 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2013-09-27Off-by-one errorStephan Bergmann
Change-Id: I84749158fb8dee3fec10869e0955177bbd917d59
2013-09-27Improve performance of copyArea(), especially relevant for mobile devices.tsahi glik
vigra::copyImage89 does not handle copy areas in the same image so the code checks whether the src and dst are same buffer and directs it to scaleImage() which is very slow. The whole concept of pixel accessors is a huge overhead in the case of direct pixel copy (vigra::copyImage is also using pixel accessors). The idea here is to identify when direct memory copy is applicable (when the format is an integral number of bytes per pixel, src.size==dst.size, and src.format==dst.format) and use direct memory block copy and not pixel-wise copy. The result is 100x faster than the vigra implementation. This direct copy is also handling the case when the src and dst are same buffer by copy it from bottom to top when needed and using memmove() instead of memcpy(). Change-Id: I8ec589463d6386db82777a916371a5ebbf9e2d50 Reviewed-on: https://gerrit.libreoffice.org/5707 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2013-07-18fdo#62475 removed pointless commentsJelle van der Waa
Change-Id: I85bee68e89c41642b2da72e11b695588b3dfe346
2013-07-18WaE: assuming signed overflow does not occur when assuming...Caolán McNamara
that (X + c) < X is always false [-Wstrict-overflow] Change-Id: I63880bf27ab7e34eb9e0be682b39b80b71d65103
2013-07-12Turn basebmp::Format into a proper enumStephan Bergmann
Change-Id: I4067c5039c7b5c74a1c144721dd7260de54dd2bf
2013-06-04Add test for basebmp memory clobber.Thorsten Behrens
Cloned bitmap devices may share the same chunk of memory, thus risking overwriting our own data when we copy stuff around. Now caught from unit tests. Change-Id: I33b1a0b5d17550cbc6eced8bae01ae5ab9ebce9d
2013-06-04Detect copyArea trying to operate on overlapping memory.Tsahi Glik
Equality test also needs to check if disjunct BitmapDevice instances might not actually share the same memory buffer. Change-Id: I09a93cb092a0039353be211ed053e991e7fe66f0
2013-04-12Nah, I don't need a getOffset(), but I do need a getBufferSize()Tor Lillqvist
To properly handle subsetted BitmapDevices in the iOS vcl backend I seem to need to know what the size of the full BitmapDevice is. I wasted at least one day on desperate hacking and debugging, trying to wrap my head around a misunderstanding of what a subsetted BitmapDevice is. I thought it involved coordinate offsetting... Change-Id: I83bf1a7d75ce192aaf21f1e408008e362fd6c6e6
2013-04-11Add an accessor to get the offset of a subsetted BitmapDeviceTor Lillqvist
Change-Id: I8a4a588287a90c6953b367bb02e075ea58f13a96
2013-04-11Add debugging printout of subsetting informationTor Lillqvist
Change-Id: I6c37885823f14dcfbe750691dad27e094f46e66e
2013-03-26Log also corresponding destructions of BitmapDeviceTor Lillqvist
Change-Id: Ic74032b430691215482172c3c5f834374d47873d
2013-03-25Add some debugging printoutTor Lillqvist
Change-Id: Iea0decde41be8b9325b19651433f1b3b79f851a9
2012-10-01Replace usage of rtl_*Memory with equivalent from string.hArnaud Versini
Change-Id: I50ffc10f007f03c3252ef0196b59b881429cc159 Reviewed-on: https://gerrit.libreoffice.org/734 Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2012-07-18re-base on ALv2 code. Includes:Michael Meeks
reportbuilder, license file not needed. Patch contributed by Armin Le Grand http://svn.apache.org/viewvc?view=revision&revision=1305814 Adapting extras/ to our wordbook setup.
2012-06-19re-base on ALv2 code.Michael Meeks
2012-06-07Add two new 32bpp formats and add helpful commentsTor Lillqvist
For Android (and perhaps iOS) we need a 32bpp format with channels in RGBA order. Rename the (basebmp-internal) 32bpp PixelFormatTreats_* typedefs so that the channel order in their names matches the memory order of the channels. Change-Id: Ia8a74f6d44e0a2cffdf66a05ddf8fc7d6ae2a263
2012-05-11put debugDump behind #if OSL_DEBUG_LEVEL > 2Matúš Kukan
basebmp/source/debug.cxx is only for vcl/headless/svpgdi.cxx Change-Id: I I Ib0624d919d7c0c5ce54dbef62fa0b49fd6eb0ab1
2012-04-17png parsing regression testCaolán McNamara
2011-12-13Make LineTest::testCornerCases succeed again after last basebmp fix.Stephan Bergmann
Though it looks wrong that rtl_allocateMemory(0) == 0.
2011-12-13handle failed bitmap storage allocation gracefullyMichael Meeks
2011-11-04Put BitmapDevice::getPixelData() back.Thorsten Behrens
Slight tweak of d0d62edf3f398e9ddb2fd0f1f5fbe1dd0393ff47 - getPixel() and getPixelData() are complementary functions, similar in spirit to const and non-const getters. Added unit test for it to avoid flagging it for removal again.
2011-11-03Cleanup basebmp a littleJoseph Powers
I removed 2 unused headers. I also stopped delivering a lot of headers that no one outside of basebmp cared about. I also removed the unused methods: basebmp::BitmapDevice::getPaletteEntryCount() const basebmp::BitmapDevice::getPixelData(basegfx::B2IPoint const&)
2011-11-03Fix one more subtlety around B2IBox / B2IRange changes.Thorsten Behrens
The Cohen/Sutherland clip flag routine was not aware of B2IBox, thusly yielding incorrect line clipping for BitmapDevice software rendering. Cleaned that up, added some more unit tests around the problem, and removed the now-extraneous maLineClip member from the bitmap device.
2011-11-02Move BitmapDevice to use B2IBox instead of B2IRange.Thorsten Behrens
Semantically, B2IBox represents a pixel rect much better than B2IRange - replaced all occurences in and around the software renderer, and client code.
2011-11-02Keep basebmp free of naked ptrs.Thorsten Behrens
Moved the implementation detail that SalFrames lifetime is handled manually in vcl out of basebmp & into vcl. Added lightweight wrapper class to decouple damagetracker lifetime from GtkFrame lifetime.
2011-11-02Revert "basebmp: B2IRange::isEmpty is surprisingly, unhelpfully lame - ↵Thorsten Behrens
workaround" This reverts commit 69e4dd120631b05e7abb2c65f36b71e9424a8a72.
2011-10-25basebmp: B2IRange::isEmpty is surprisingly, unhelpfully lame - workaroundMichael Meeks
2011-09-01export debugDump used for debuggingMatúš Kukan
2011-07-21resyncing to masterBjoern Michaelsen
2011-07-12initial cut at damage tracking supportMichael Meeks
2011-06-19Merge branch 'master' into feature/gnumake4Bjoern Michaelsen
Conflicts: basebmp/prj/d.lst basebmp/test/basictest.cxx basebmp/test/makefile.mk basegfx/inc/basegfx/basegfxdllapi.h basegfx/inc/basegfx/tools/debugplotter.hxx basegfx/inc/basegfx/tuple/b2ituple.hxx basegfx/prj/d.lst basegfx/source/numeric/makefile.mk basegfx/source/polygon/makefile.mk basegfx/source/range/makefile.mk basegfx/source/raster/makefile.mk basegfx/source/tuple/makefile.mk basegfx/source/vector/makefile.mk basegfx/test/basegfx1d.cxx basegfx/test/makefile.mk basegfx/util/makefile.mk canvas/Library_canvasfactory.mk canvas/Module_canvas.mk canvas/prj/build.lst canvas/prj/d.lst canvas/source/cairo/cairo_canvashelper_texturefill.cxx canvas/source/cairo/makefile.mk canvas/source/tools/makefile.mk comphelper/qa/string/makefile.mk cppcanvas/Module_cppcanvas.mk cppcanvas/inc/cppcanvas/cppcanvasdllapi.h cppcanvas/prj/build.lst cppcanvas/prj/d.lst cppcanvas/source/mtfrenderer/makefile.mk cppcanvas/util/makefile.mk i18npool/source/search/makefile.mk regexp/Library_regexp.mk regexp/prj/d.lst sax/CppunitTest_sax.mk sax/Library_sax.mk sax/prj/d.lst sax/qa/cppunit/test_converter.cxx sax/source/expatwrap/attrlistimpl.hxx sax/util/makefile.mk svtools/Library_svt.mk tools/Executable_sspretty.mk ucbhelper/prj/d.lst ucbhelper/source/provider/configureucb.cxx ucbhelper/source/provider/provconf.cxx ucbhelper/util/makefile.mk unotools/Library_utl.mk unotools/Module_unotools.mk unotools/Package_inc.mk unotools/prj/build.lst vcl/Library_desktop_detector.mk vcl/Library_vcl.mk vcl/Library_vclplug_gtk.mk vcl/aqua/source/gdi/salprn.cxx vcl/inc/aqua/saldata.hxx vcl/unx/generic/gdi/salgdi3.cxx
2011-06-16CWS gnumake4: convert basebmp to new build system [hg:a0f3dc4a5f5a]Mathias Bauer
2010-11-23make possible to build with c++0xCaolán McNamara
2010-10-19Cleanse non-compiled codePovilas Kanapickas
Removed if-deffed code from LibO libs, enabled if-deffed code again in test/playground files
2010-10-14Add vim/emacs modelines to all source filesSebastian Spaeth
Fixes #fdo30794 Based on bin/add-modelines script (originally posted in mail 1286706307.1871.1399280959@webmail.messagingengine.com) Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-02-12changefileheader2: #i109125#: change source file copyright notice from Sun ↵Jens-Heiner Rechtien
Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision)
2008-11-10CWS-TOOLING: integrate CWS cmcfixes50Rüdiger Timm
2008-11-10 13:31:50 +0100 cmc r263517 : gio doesn't do anything useful for remote stuff wrt info 2008-11-06 00:11:47 +0100 cmc r263359 : #i93436# pile of other 64bit new gcc warnings 2008-11-05 00:39:03 +0100 cmc r263340 : i95856 let a ppc64 vanilla build succeed 2008-11-04 14:00:25 +0100 cmc r263320 : #i93436# useless const 2008-11-04 11:53:10 +0100 cmc r263314 : #i93436# ambiguous 2008-11-04 11:48:05 +0100 cmc r263313 : #i93436# add some braces 2008-11-04 11:29:24 +0100 cmc r263312 : #i93436# ambiguous 2008-11-04 10:53:46 +0100 cmc r263311 :
2008-10-30#i10000# Do not use '-xalias_level=compatible' for old Sun Studio 8 compiler.Rüdiger Timm
2008-10-28CWS-TOOLING: integrate CWS basebmpunittestfixRüdiger Timm
2008-10-10CWS-TOOLING: integrate CWS cmcfixes49Oliver Bolte
2008-06-24INTEGRATION: CWS canvas05 (1.30.4); FILE MERGEDKurt Zenker
2008/04/21 07:51:13 thb 1.30.4.2: RESYNC: (1.30-1.31); FILE MERGED 2007/10/01 12:21:25 thb 1.30.4.1: #i80285# Merged nonzero winding rule feature from picom
2008-06-16INTEGRATION: CWS hr51 (1.7.8); FILE MERGEDRüdiger Timm
2008/06/06 14:36:04 hr 1.7.8.1: #i88947#: Solaris 64 bit support
2008-06-16INTEGRATION: CWS hr51 (1.31.6); FILE MERGEDRüdiger Timm
2008/06/06 14:36:04 hr 1.31.6.1: #i88947#: Solaris 64 bit support
2008-04-11INTEGRATION: CWS changefileheader (1.1.46); FILE MERGEDRüdiger Timm
2008/03/31 13:07:57 rt 1.1.46.1: #i87441# Change license header to LPGL v3.
2008-04-11INTEGRATION: CWS changefileheader (1.2.46); FILE MERGEDRüdiger Timm
2008/03/31 13:07:57 rt 1.2.46.1: #i87441# Change license header to LPGL v3.
2008-04-11INTEGRATION: CWS changefileheader (1.6.42); FILE MERGEDRüdiger Timm
2008/03/31 13:07:57 rt 1.6.42.1: #i87441# Change license header to LPGL v3.