Commit Graph

75 Commits

Author SHA1 Message Date
4dac6fe355 Add test for basebmp memory clobber.
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-04 20:39:55 +02:00
31b35ed6bb Detect copyArea trying to operate on overlapping memory.
Equality test also needs to check if disjunct BitmapDevice instances
might not actually share the same memory buffer.

Change-Id: I09a93cb092a0039353be211ed053e991e7fe66f0
2013-06-04 20:38:09 +02:00
3f9acb7f9c Nah, I don't need a getOffset(), but I do need a getBufferSize()
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-12 02:24:12 +03:00
3ddd6cb388 Add an accessor to get the offset of a subsetted BitmapDevice
Change-Id: I8a4a588287a90c6953b367bb02e075ea58f13a96
2013-04-11 19:14:49 +03:00
2729a77b49 Add debugging printout of subsetting information
Change-Id: I6c37885823f14dcfbe750691dad27e094f46e66e
2013-04-11 19:14:45 +03:00
89d9b9e252 Log also corresponding destructions of BitmapDevice
Change-Id: Ic74032b430691215482172c3c5f834374d47873d
2013-03-26 19:01:59 +02:00
6d12b76b2c Add some debugging printout
Change-Id: Iea0decde41be8b9325b19651433f1b3b79f851a9
2013-03-25 09:26:15 +02:00
36a2db3722 Replace usage of rtl_*Memory with equivalent from string.h
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-10-01 18:48:05 +00:00
cf342fe928 re-base on ALv2 code. Includes:
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-07-18 15:00:25 +01:00
bdc909b07d re-base on ALv2 code. 2012-06-19 18:00:37 +01:00
fd3c83d5f2 Add two new 32bpp formats and add helpful comments
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-06-07 21:54:19 +03:00
7327195602 put debugDump behind #if OSL_DEBUG_LEVEL > 2
basebmp/source/debug.cxx is only for vcl/headless/svpgdi.cxx

Change-Id: I I Ib0624d919d7c0c5ce54dbef62fa0b49fd6eb0ab1
2012-05-11 22:48:49 +02:00
9ff94ae0fa png parsing regression test 2012-04-17 16:46:14 +01:00
38747916d6 Make LineTest::testCornerCases succeed again after last basebmp fix.
Though it looks wrong that rtl_allocateMemory(0) == 0.
2011-12-13 17:08:33 +01:00
cefb414b37 handle failed bitmap storage allocation gracefully 2011-12-13 15:54:28 +00:00
a6a391da8d Put BitmapDevice::getPixelData() back.
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-04 10:40:08 +01:00
d0d62edf3f Cleanup basebmp a little
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-03 20:46:00 -07:00
f7975d2335 Fix one more subtlety around B2IBox / B2IRange changes.
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-03 15:02:00 +01:00
1e297aef53 Move BitmapDevice to use B2IBox instead of B2IRange.
Semantically, B2IBox represents a pixel rect much better than
B2IRange - replaced all occurences in and around the software
renderer, and client code.
2011-11-02 23:58:28 +01:00
3c1b4b6ef7 Keep basebmp free of naked ptrs.
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-02 23:58:27 +01:00
207bcfc5b9 Revert "basebmp: B2IRange::isEmpty is surprisingly, unhelpfully lame - workaround"
This reverts commit 69e4dd120631b05e7abb2c65f36b71e9424a8a72.
2011-11-02 23:58:27 +01:00
69e4dd1206 basebmp: B2IRange::isEmpty is surprisingly, unhelpfully lame - workaround 2011-10-25 13:41:54 +01:00
e21822008d export debugDump used for debugging 2011-09-01 15:46:11 +02:00
a233dac065 resyncing to master 2011-07-21 18:56:16 +02:00
a206e2afb0 initial cut at damage tracking support 2011-07-12 20:34:22 +01:00
941020379b Merge branch 'master' into feature/gnumake4
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-19 12:47:44 +02:00
4265f28d82 CWS gnumake4: convert basebmp to new build system [hg:a0f3dc4a5f5a] 2011-06-16 13:02:37 +02:00
43bc8a784e make possible to build with c++0x 2010-11-23 15:47:19 +00:00
c300e27f5c Cleanse non-compiled code
Removed if-deffed code from LibO libs, enabled if-deffed code again
in test/playground files
2010-10-19 01:59:03 +02:00
4905a19032 Add vim/emacs modelines to all source files
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-10-14 17:02:15 +02:00
8764506704 changefileheader2: #i109125#: change source file copyright notice from Sun Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision) 2010-02-12 15:01:35 +01:00
7f5f6b548d CWS-TOOLING: integrate CWS cmcfixes50
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-11-10 15:06:12 +00:00
03be7f057a #i10000# Do not use '-xalias_level=compatible' for old Sun Studio 8 compiler. 2008-10-30 14:29:40 +00:00
0b3f346d17 CWS-TOOLING: integrate CWS basebmpunittestfix 2008-10-28 16:38:38 +00:00
3735d9d387 CWS-TOOLING: integrate CWS cmcfixes49 2008-10-10 13:02:43 +00:00
1ad617fd17 INTEGRATION: CWS canvas05 (1.30.4); FILE MERGED
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-24 10:53:31 +00:00
be19dc5e54 INTEGRATION: CWS hr51 (1.7.8); FILE MERGED
2008/06/06 14:36:04 hr 1.7.8.1: #i88947#: Solaris 64 bit support
2008-06-16 13:14:13 +00:00
d5f9123c30 INTEGRATION: CWS hr51 (1.31.6); FILE MERGED
2008/06/06 14:36:04 hr 1.31.6.1: #i88947#: Solaris 64 bit support
2008-06-16 13:13:48 +00:00
2a194571d5 INTEGRATION: CWS changefileheader (1.1.46); FILE MERGED
2008/03/31 13:07:57 rt 1.1.46.1: #i87441# Change license header to LPGL v3.
2008-04-11 07:34:25 +00:00
06566ee77a INTEGRATION: CWS changefileheader (1.2.46); FILE MERGED
2008/03/31 13:07:57 rt 1.2.46.1: #i87441# Change license header to LPGL v3.
2008-04-11 07:33:30 +00:00
07f7de0c55 INTEGRATION: CWS changefileheader (1.6.42); FILE MERGED
2008/03/31 13:07:57 rt 1.6.42.1: #i87441# Change license header to LPGL v3.
2008-04-11 07:31:22 +00:00
039178868b INTEGRATION: CWS changefileheader (1.7.42); FILE MERGED
2008/03/31 13:07:57 rt 1.7.42.1: #i87441# Change license header to LPGL v3.
2008-04-11 07:30:50 +00:00
18490cb4ac INTEGRATION: CWS changefileheader (1.30.16); FILE MERGED
2008/03/31 13:07:57 rt 1.30.16.1: #i87441# Change license header to LPGL v3.
2008-04-11 07:30:29 +00:00
1315f21903 INTEGRATION: CWS pj83 (1.27.2); FILE MERGED
2007/07/31 20:02:34 thb 1.27.2.2: RESYNC: (1.27-1.29); FILE MERGED
2007/07/31 15:40:29 thb 1.27.2.1: #i80150# Applied er's patch to make this build for gcc3.3 again
2007-08-03 11:27:01 +00:00
a974e55a3f INTEGRATION: CWS aw051 (1.26.18); FILE MERGED
2007/06/07 11:44:20 aw 1.26.18.1: #i77162# adaptions to changed B2DPolygon bezier handling
2007-07-18 10:00:18 +00:00
be9e63de9c INTEGRATION: CWS aquavcl01 (1.26.22); FILE MERGED
2007/06/22 19:06:25 thb 1.26.22.3: #i78704# Unified the two 32bpp formats
2007/06/22 15:41:58 pl 1.26.22.2: #i78704# thb: fix xor clipping
2007/06/21 09:00:07 pl 1.26.22.1: #i78704# add a new pixelformat, minor cosmetics
2007-07-05 07:55:38 +00:00
0f8f7ae16e INTEGRATION: CWS basebmp01 (1.26.20); FILE MERGED
2007/05/22 09:59:18 thb 1.26.20.1: #147378# Added support for foreign formats (via GenericColorImageAccessor); fixed typos in CompositeIterator and StridedArrayIterator; fixed comparisons for (Packed)PixelIterator and StridedArrayIterator (which got negative strides wrong); avoiding unnecessary copying in scale_image() now; cleaned up bitmapdevice.cxx from cruft/ad hoc debug code; made unit tests run again
2007-06-27 11:42:01 +00:00
bcd8527462 INTEGRATION: CWS sb59 (1.5.4); FILE MERGED
2006/09/01 08:34:02 sb 1.5.4.3: #i67535# Made code warning-free (GCC 4.0.3).
2006/08/31 11:08:52 thb 1.5.4.2: #i69122# msvc has no working llabs
2006/08/30 22:52:04 thb 1.5.4.1: #i69122# Made basebmp compile warning-free
2006-10-12 12:47:55 +00:00
a2eff6fb3c INTEGRATION: CWS sb59 (1.6.4); FILE MERGED
2006/09/04 09:44:46 thb 1.6.4.1: #i69182# Removed SISSL license header
2006-10-12 12:47:41 +00:00
faa4280d0a #i65904# Made code compile warning-free for MSVC; removed inline statement from the longer functions 2006-07-28 11:43:20 +00:00