History log of /haiku/src/kits/interface/layouter/ComplexLayouter.cpp
Revision Date Author Comments
# 9be774b5 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation and 64-bit fixes to libbe.so sources.

Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.


# b2bc136e 04-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Changed spacing parameter type from int32 to float.

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


# 8bced38b 28-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed fLayoutValid to fMinMaxValid.
* Clear fMinMaxValid when a new constraint is added. "Height for width"
constraints are therefore no longer ignored.


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


# b59629be 27-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

They way we were initializing the maximal sizes, maximum constraints could
be considered redundant, although they weren't. We do now use smaller
"unlimited" sizes which we can add without risking overflow, and can thus
correctly identify redundant constraints. This fixes the
SplitterGridLayoutTest1 in the LayoutTest1 app.


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


# c29edec1 27-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Cleanup in ComplexLayouter and LayoutOptimizer: Removed debug output or
made it conditional, added/modified comments documenting the maths and
algorithms.
* Refactored quite a bit in ComplexLayouter and added special handling for
the case that the desired solution is already feasible.


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


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

Implemented a ComplexLayouter class which is going to replace the Layouter
implementation which used the qoca constraint solver. It does the min/max
computation itself -- thanks to Peter Moulder for hinting that we're actually
dealing with separation constraints and proposing an algorithm. The actual
layout is done with the help of an active set method based optimizer.
The test results look very good so far. The code needs some cleanup (debug
output, math comments, special handling for some cases) and is therefore not
yet enabled by default.


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


# 9be774b553296a712704078314f2291ae5fc352c 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Compilation and 64-bit fixes to libbe.so sources.

Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.


# b2bc136efc61605d09fe9cd6d8fe95890b137dd0 04-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Changed spacing parameter type from int32 to float.

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


# 8bced38bb27df745c22d0694ae5e8101b07ea69e 28-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed fLayoutValid to fMinMaxValid.
* Clear fMinMaxValid when a new constraint is added. "Height for width"
constraints are therefore no longer ignored.


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


# b59629bef8e9203a3c5f191850559bfd96a75d09 27-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

They way we were initializing the maximal sizes, maximum constraints could
be considered redundant, although they weren't. We do now use smaller
"unlimited" sizes which we can add without risking overflow, and can thus
correctly identify redundant constraints. This fixes the
SplitterGridLayoutTest1 in the LayoutTest1 app.


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


# c29edec13eb00230b2d62b020c363c98dad6a5a6 27-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Cleanup in ComplexLayouter and LayoutOptimizer: Removed debug output or
made it conditional, added/modified comments documenting the maths and
algorithms.
* Refactored quite a bit in ComplexLayouter and added special handling for
the case that the desired solution is already feasible.


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


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

Implemented a ComplexLayouter class which is going to replace the Layouter
implementation which used the qoca constraint solver. It does the min/max
computation itself -- thanks to Peter Moulder for hinting that we're actually
dealing with separation constraints and proposing an algorithm. The actual
layout is done with the help of an active set method based optimizer.
The test results look very good so far. The code needs some cleanup (debug
output, math comments, special handling for some cases) and is therefore not
yet enabled by default.


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