History log of /haiku/src/kits/interface/RegionSupport.cpp
Revision Date Author Comments
# 95080923 15-Aug-2022 Michael Brumbelow <mbrumbelow@mac.com>

Removed 'register' storage class compiler warnings

Change-Id: Iba89a9d0845bf7e816983f903281d33e273f6e35
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5558
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# f0a1a07c 27-Nov-2018 Murai Takashi <tmurai01@gmail.com>

RegionSupport: Fix PVS 338-346

Fix 'true / false' value is implicitly cast to the integer type.

Change-Id: I2f72fcd34d2d97d20e2a98ed5efe25919a485c9d
Reviewed-on: https://review.haiku-os.org/739
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 7deac319 17-Oct-2018 Augustin Cavalier <waddlesplash@gmail.com>

interface: Fix -Wuninitialized in RegionSupport.

Also trim trailing spaces...


# 5723e0b2 17-Oct-2018 Murai Takashi <tmurai01@gmail.com>

RegionSupport: Fix memory leak

In XXorRegion(), memory allocated in if statement might be leaked.
Pointed by Clang Static Analyzer.

Change-Id: I6b8b68bc5fea7b7c1fd354f05f03d3ebb0b11b62
Reviewed-on: https://review.haiku-os.org/633
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# 3bfa2d12 26-Apr-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25174 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e927a5f 30-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

malloc.h ain't no standard header. Use stdlib.h instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22776 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 917870d2 28-Sep-2007 Stephan Aßmus <superstippi@gmx.de>

* slight code style fix, but that file would need a complete cleanup to be
style compliant...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22369 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2c699ca 23-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed assert macro.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22286 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 582da173 19-Jul-2007 Stephan Aßmus <superstippi@gmx.de>

* complete reimplementation of BRegion and it's backend

I "ported" the region implementation from XOrg to work on BRegion data.

This resulted in pretty much the same code structure as before, with
RegionSupport.cpp containing the messy details. Only now it _is_ really messy
from a code beauty point of view. I didn't exactly feel like cleaning it
up right now... but I guess I will have to.

So what does this mean - our BRegion implementation was very slow (no offense!),
and on top of that it scaled very badly with more and more rects. The new
implementation seems to be on par with the very fast R5 implementation and
the data looks exactly the same too. BRegion is very performance critical
for the app_server, and I cannot wait to try this on my slow computer...

Some changes are noteworthy: The right and bottom coordinates of
BRegion internal data are now exclusive! I inherited that from the
XOrg implementation and didn't feel like changing the code, seeing it
is probably tested quite well. The conversion is handled transparently.

Secondly, constructing a BRegion with just one rect is not invoking
malloc anymore for the member data, this makes it much more efficient
to use temporary BRegions with just one rect, both externally and internally
in the BRegion implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21665 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d94f6328 27-Sep-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Clarified a TODO item, before I forget about it.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14255 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 715e2973 19-Sep-2005 Adi Oanca <adioanca@nowhere.fake>

Fix for an app_server bug. Thanks Ingo\!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14200 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c497670 03-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

RegionSupport accepts, as parameters, references to BRegions (consts when possible) instead of pointers. Note: this is not a functional change

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12936 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ddbbb2e7 13-May-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed an off-by-one bug which could've been triggered only in some particular (and probably very rare) circumstances, extended a TODO items, improved the readability of some code (hopefully).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12655 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55bd207b 12-May-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added a test for the bug found by Pahtz, and fixed the bug. Simplified a bit the code in BRegion::Support::RSub()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7533 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 015dd757 30-Mar-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed warnings, some cleanups


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64b98d23 10-Nov-2003 haydentech <haydentech@nowhere.fake>

gcc3 namespace fix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5300 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4be90e7f 24-Oct-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed a possible buffer overflow in r_or() and r_sub() (thanks to Ingo Weinhold for his advices), stripped BRegion of all his friends, and moved them into a single class (BRegion::Support()). Removed "find_small_bottom()", as we didn't use it at all. Added some debugging output to BRegion::Support (that will help fixing bugs)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3bfa2d12234cc993145fb63501613a80dfe61b71 26-Apr-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25174 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6e927a5fc080cb934e7584454f472cacf4c3e361 30-Oct-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

malloc.h ain't no standard header. Use stdlib.h instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22776 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 917870d2bac4240197a7f5c01a9188cd0eb553ff 28-Sep-2007 Stephan Aßmus <superstippi@gmx.de>

* slight code style fix, but that file would need a complete cleanup to be
style compliant...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22369 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2c699caecae4bbbd1ec815e7971027c31051347 23-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed assert macro.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22286 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 582da17386c4a192ca30270d6b0b95f561cf5843 19-Jul-2007 Stephan Aßmus <superstippi@gmx.de>

* complete reimplementation of BRegion and it's backend

I "ported" the region implementation from XOrg to work on BRegion data.

This resulted in pretty much the same code structure as before, with
RegionSupport.cpp containing the messy details. Only now it _is_ really messy
from a code beauty point of view. I didn't exactly feel like cleaning it
up right now... but I guess I will have to.

So what does this mean - our BRegion implementation was very slow (no offense!),
and on top of that it scaled very badly with more and more rects. The new
implementation seems to be on par with the very fast R5 implementation and
the data looks exactly the same too. BRegion is very performance critical
for the app_server, and I cannot wait to try this on my slow computer...

Some changes are noteworthy: The right and bottom coordinates of
BRegion internal data are now exclusive! I inherited that from the
XOrg implementation and didn't feel like changing the code, seeing it
is probably tested quite well. The conversion is handled transparently.

Secondly, constructing a BRegion with just one rect is not invoking
malloc anymore for the member data, this makes it much more efficient
to use temporary BRegions with just one rect, both externally and internally
in the BRegion implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21665 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d94f6328d7a6ebd1becfb1629fe2c22aa2d92294 27-Sep-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Clarified a TODO item, before I forget about it.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14255 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 715e2973a9c6a9e2f8438f8321d463947960b8d9 19-Sep-2005 Adi Oanca <adioanca@nowhere.fake>

Fix for an app_server bug. Thanks Ingo\!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14200 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c49767038471650bd35381b458040abe5a7f98f 03-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

RegionSupport accepts, as parameters, references to BRegions (consts when possible) instead of pointers. Note: this is not a functional change

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12936 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ddbbb2e76d2413426f55655efea40280b0b0ac71 13-May-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed an off-by-one bug which could've been triggered only in some particular (and probably very rare) circumstances, extended a TODO items, improved the readability of some code (hopefully).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12655 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55bd207b200a60efebd394649b658fe064ec5f66 12-May-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added a test for the bug found by Pahtz, and fixed the bug. Simplified a bit the code in BRegion::Support::RSub()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7533 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 015dd7571580b26124078dac57c6dff35cf85978 30-Mar-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed warnings, some cleanups


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64b98d2378bfcbbce32083bc561b569bafef84b7 10-Nov-2003 haydentech <haydentech@nowhere.fake>

gcc3 namespace fix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5300 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4be90e7fc18272a0431df7e816468040a25f45db 24-Oct-2003 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed a possible buffer overflow in r_or() and r_sub() (thanks to Ingo Weinhold for his advices), stripped BRegion of all his friends, and moved them into a single class (BRegion::Support()). Removed "find_small_bottom()", as we didn't use it at all. Added some debugging output to BRegion::Support (that will help fixing bugs)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5131 a95241bf-73f2-0310-859d-f6bbb57e9c96