History log of /haiku/src/servers/app/WorkspacesView.cpp
Revision Date Author Comments
# b5ba4bad 12-Feb-2023 X512 <danger_mail@list.ru>

app_server: clear background immediately on expose

Reduce stamping artifacts when application slowly responds to redraw requests.

This fixes and reintroduces logic previously removed in hrev53711.
Previous logic was incorrect as it didn't take the possibility of multiple
invalidations of different kinds (expose, update request) into account.
Now separate update and expose regions are maintained and only expose region
is cleared immediately.

Change-Id: I0fd98cb1b45ccec285154e8c0d8e3a1400d156d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6067
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 6f2a446e 06-Apr-2015 Julian Harnath <julian.harnath@rwth-aachen.de>

app_server: extract coordinate conversion class

* Move coordinate conversion into a new class SimpleTransform. It
supports scaling and translation which is sufficient for conversion
between screen, local and pen (drawing) coordinates.

* Because all the overloaded methods for converting
BPoint/BRect/BRegion/etc are now within the single SimpleTransform
class, the interfaces of Canvas, View, DrawState, etc. are slimmed
down. These classes have too many responsibilities, so some will be
factored out into separate classes, this being the first.


# b0841df4 10-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Ignore hidden or minimized windows in workspaces mouse down.

This avoids selecting those windows for moving and more importantly bringing to
front a minimized window with Ctrl-click, which causes the minimized state to
be out of sync between the app_server and BWindow, causing #8860.


# b9d90cb1 09-Jun-2012 Ryan Leavengood <leavengood@gmail.com>

Remove superfluous check for Height() since it is checked above


# 585d44f2 09-Jun-2012 Ryan Leavengood <leavengood@gmail.com>

Improve the workspace view tab rendering.

Before this the height and width of the tab would jump around as the window was
moved. In addition there was an off-by-one error which caused right-aligned
tabs to not be drawn right (as reported in ticket #4615, which this fixes.)


# a0e9f8e2 04-Mar-2012 Stephan Aßmus <superstippi@gmx.de>

Fixed wrong assert and locking when using Workspace objects.

* The assert in the Workspace constructor was definitely for the
wrong lock. One should be holding the all window lock either
in read or write mode. The Desktop message loop lock should be
unrelated.
* Added boolean to the constructor which controls the assert.
* Added documentation to Workspace class, since it's not at
all obvious how this is intended to be used.
* Fixed ServerApp to lock the Desktop correctly when using
Workspace desktop colors.


# 912ab02b 28-Oct-2011 John Scipione <jscipione@gmail.com>

Remove some commented out code in WorkspacesView.cpp


# eafed2f6 28-Oct-2011 John Scipione <jscipione@gmail.com>

Make the window frame color settable by the decorator fixing a TODO. Although I don't think it is used by the Workspaces app anyway.


# 30d17caa 28-Oct-2011 John Scipione <jscipione@gmail.com>

Added support for colored window tabs in the default decorator.


# bb2e9b06 24-Jul-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add multi tab support to the default decorator as discussed on the mailing list. Windows can be stacked on top of one another. All windows using the same decorator instance. This makes it easier to draw the stacked tabs and makes it possible to design more fancy looks for stacked windows. This also helps to fix some issues in S&T, e.g. when activating one window in a stacked group all windows have to be activated to ensure that all tabs are on top. This causes some flickering in tracker.

* Each Window has a reference counted WindowStack class which can be shared between stacked Windows. To keep the Decorator separated from Window there is another tab list in the Decorator now. The index of the stacked Window in the window stack is the same as the index of the tab in the Decorator. Properties like title or window focus are managed on a per tab basis now. This mean when you set the title in the Decorator you also have to specify the tab id which is equal to the window position in the stack.

* When drawing the decorator its important that only the top window is doing the drawing. Also the top window drawing engine should be used.
Actually that is only a problem directly after a window is stacked and the other window has still a none empty dirty region. In this case we clear the dirty region of this window and stop the drawing (the top window will draw everything).

* Track if shifting of a tab is still ongoing, i.e. mouse still down.

* The key event filter called the DesktopListener without holding the window write lock. This probably caused #7801 and #7796.

* Commented out assert's in Window::SetScreen and Window::Screen. Add TODO because I'm not sure about the screen access.

This breaks all existing decorators again, sorry guys! Haven't looked into any other then the default decorator (and the SAT decorator). Will not fix the others in the near future so go for it! Since applications should be able to rely on S&T features the other decorator must be able to handle multiple tabs as well. A simple solution would be to draw all title bars in multiple rows. That probably looks quit poorly. Think the better solution would be to draw a tab interface in the title bar, e.g. like in KDE.



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


# bd06a41c 02-Aug-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Cleanup of the some header includes.



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


# 85d512ed 30-Oct-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Revert Stack & Tile patch (r33814) and first fixes done by axel (r33824, r33826)
The stack & tile feature developement & fixes would be done in
branches/features/stack-and-tile branch, until it's ready enough to be merge
into trunk.


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


# 23e00a25 29-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed millions of coding style violations introduced by the stack & tile
patch. Grmbl.


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


# ef831a1d 28-Oct-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Applied Stack & Tile patch by Hong Yul Yang, formely by Christof Lutteroth.


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


# 5ce91949 21-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* The changed settings format (display mode instead of composed fields) actually
broke Desktop::WorkspaceFrame(), which I didn't notice before; Workspaces now
shows everything in the right dimensions, even if resolutions differ.


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


# 69f9a367 29-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
WorkspacesView::_GetGrid() to determine the layout.


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


# 568b1f0b 29-Jul-2009 Ryan Leavengood <leavengood@gmail.com>

Small workspaces view tweaks: draw only the currently focused window yellow,
and use the navigation color for the selected window (when dragging in the
workspaces view.) I hope window->IsFocus() is enough, the DefaultDecorator
seems to have more complex logic.


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


# 90c518c2 27-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Make sure the font size for the window labels does not grow beyond the system
plain font size.


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


# 63d557f0 15-Jul-2009 Michael Lotz <mmlr@mlotz.ch>

Fixing random GCC4 warnings. Mostly missing consts, some parentheses, some braces... Should all be harmless and not change anything.

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


# 49cc2c3b 14-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Style police at work.


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


# 83458e6d 14-Mar-2009 Jérôme Duval <korli@users.berlios.de>

fix gcc4 build


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


# dd169d9e 14-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Reworked the code that ignores a little jitter in mouse movements when
trying to switch the workspace. Not sure why it didn't behave previously,
but it seems to work fine now.


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


# 27c43a2d 08-Dec-2008 Rene Gollent <anevilyak@gmail.com>

Implement the missing pieces to handle per workspace display mode support.
Adjust Workspace view to correctly scale each workspace based on the
resolution of that workspace. This exposes one or two anomalies in other
places in the app_server code though which I wasn't able to track down.
This fixes ticket #693.




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


# f871c6f7 09-Nov-2008 Rene Gollent <anevilyak@gmail.com>

Reset the drawing state to that of the client view after we finish drawing the workspaces replicant. This fixes artifacts like fonts occasionally appearing tiny when selecting/deselecting items on the Desktop if the Workspaces replicant was also embedded.



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


# 4e59d9c7 16-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Use a good default "yellow" in case there is no decorator (otherwise yellow
isn't initialized, but also not really used currently).


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


# 3add2e79 11-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* If you click on a window in the Workspaces view, it won't move until you
move the mouse a bit more. This should help with "fast" workspace switches
when you click on a workspace and accidently move the mouse a bit.


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


# f7d80088 11-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

Polished the rendering of the miniature windows in Workspaces.
* The window names are now drawn.
* The window scaling is improved to avoid wobbly placement
when windows move slightly.
* The tab rect is scaled to size, not a single line.


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


# f0c3c996 07-Jun-2008 Michael Lotz <mmlr@mlotz.ch>

* Decouple local and user clipping into normal local clipping and a user
clipping region pointer.
* Provide _ScreenClipping() that only includes local and screen clipping but
not user clipping.
* Provide ScreenAndUserClipping() that returns screen clipping if no user
clipping is present, or returns a combined region that is then cached.
* Adapt all places where the former methods are used and decide which one to
use depending on the relevance of user clipping.

User clipping is now ignored for background clearing and when determining
whether or not to call Draw() on a view. This should make Haiku behaviourally
compatible with BeOS (confirmed by the ClippingAndRedraw test app) and should
also fix the Firefox redraw issues. Stephan please review!

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


# 437b1927 08-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


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


# 953d895e 07-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer
(now WorkspacesView), OffscreenWindowLayer.
* Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called
Screen).


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


# b0841df4664b09403e430ad04405a9d09b9abde5 10-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Ignore hidden or minimized windows in workspaces mouse down.

This avoids selecting those windows for moving and more importantly bringing to
front a minimized window with Ctrl-click, which causes the minimized state to
be out of sync between the app_server and BWindow, causing #8860.


# b9d90cb1096895940bd9ae15b1d816e4327edd38 09-Jun-2012 Ryan Leavengood <leavengood@gmail.com>

Remove superfluous check for Height() since it is checked above


# 585d44f283e2d07d855f18b2f0573a4243b33844 09-Jun-2012 Ryan Leavengood <leavengood@gmail.com>

Improve the workspace view tab rendering.

Before this the height and width of the tab would jump around as the window was
moved. In addition there was an off-by-one error which caused right-aligned
tabs to not be drawn right (as reported in ticket #4615, which this fixes.)


# a0e9f8e205d081b64afe5ef9f30230ed9c16d011 04-Mar-2012 Stephan Aßmus <superstippi@gmx.de>

Fixed wrong assert and locking when using Workspace objects.

* The assert in the Workspace constructor was definitely for the
wrong lock. One should be holding the all window lock either
in read or write mode. The Desktop message loop lock should be
unrelated.
* Added boolean to the constructor which controls the assert.
* Added documentation to Workspace class, since it's not at
all obvious how this is intended to be used.
* Fixed ServerApp to lock the Desktop correctly when using
Workspace desktop colors.


# 912ab02b72e0e352ba2a969f9d6c50adef826e08 28-Oct-2011 John Scipione <jscipione@gmail.com>

Remove some commented out code in WorkspacesView.cpp


# eafed2f6d8fbe061c58f1c8d0e2110e24b242cb0 28-Oct-2011 John Scipione <jscipione@gmail.com>

Make the window frame color settable by the decorator fixing a TODO. Although I don't think it is used by the Workspaces app anyway.


# 30d17caa9d4370c1425b7ad42c1a1cd771e89b13 28-Oct-2011 John Scipione <jscipione@gmail.com>

Added support for colored window tabs in the default decorator.


# bb2e9b06acb1783543442464561b7811892ee7e2 24-Jul-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add multi tab support to the default decorator as discussed on the mailing list. Windows can be stacked on top of one another. All windows using the same decorator instance. This makes it easier to draw the stacked tabs and makes it possible to design more fancy looks for stacked windows. This also helps to fix some issues in S&T, e.g. when activating one window in a stacked group all windows have to be activated to ensure that all tabs are on top. This causes some flickering in tracker.

* Each Window has a reference counted WindowStack class which can be shared between stacked Windows. To keep the Decorator separated from Window there is another tab list in the Decorator now. The index of the stacked Window in the window stack is the same as the index of the tab in the Decorator. Properties like title or window focus are managed on a per tab basis now. This mean when you set the title in the Decorator you also have to specify the tab id which is equal to the window position in the stack.

* When drawing the decorator its important that only the top window is doing the drawing. Also the top window drawing engine should be used.
Actually that is only a problem directly after a window is stacked and the other window has still a none empty dirty region. In this case we clear the dirty region of this window and stop the drawing (the top window will draw everything).

* Track if shifting of a tab is still ongoing, i.e. mouse still down.

* The key event filter called the DesktopListener without holding the window write lock. This probably caused #7801 and #7796.

* Commented out assert's in Window::SetScreen and Window::Screen. Add TODO because I'm not sure about the screen access.

This breaks all existing decorators again, sorry guys! Haven't looked into any other then the default decorator (and the SAT decorator). Will not fix the others in the near future so go for it! Since applications should be able to rely on S&T features the other decorator must be able to handle multiple tabs as well. A simple solution would be to draw all title bars in multiple rows. That probably looks quit poorly. Think the better solution would be to draw a tab interface in the title bar, e.g. like in KDE.



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


# bd06a41c3aadc5a6d4b2cd983660254a9479dd77 02-Aug-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Cleanup of the some header includes.



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


# 85d512ed6583c516ce8d1e5999aabbb18e53a979 30-Oct-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Revert Stack & Tile patch (r33814) and first fixes done by axel (r33824, r33826)
The stack & tile feature developement & fixes would be done in
branches/features/stack-and-tile branch, until it's ready enough to be merge
into trunk.


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


# 23e00a25e2d8ba0c83be28d548c13e2bdfcbd5d7 29-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed millions of coding style violations introduced by the stack & tile
patch. Grmbl.


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


# ef831a1dc393b2008b35fc46c028d3466ce7634f 28-Oct-2009 Philippe Houdoin <philippe.houdoin@gmail.com>

Applied Stack & Tile patch by Hong Yul Yang, formely by Christof Lutteroth.


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


# 5ce919497d2cc9aaa6d1f8f7dabb1007567812ad 21-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* The changed settings format (display mode instead of composed fields) actually
broke Desktop::WorkspaceFrame(), which I didn't notice before; Workspaces now
shows everything in the right dimensions, even if resolutions differ.


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


# 69f9a367bc3ade44eaf73a5b1c51c079acf702cd 29-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
WorkspacesView::_GetGrid() to determine the layout.


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


# 568b1f0bafd46becdc128c243bc0c4dce4f55990 29-Jul-2009 Ryan Leavengood <leavengood@gmail.com>

Small workspaces view tweaks: draw only the currently focused window yellow,
and use the navigation color for the selected window (when dragging in the
workspaces view.) I hope window->IsFocus() is enough, the DefaultDecorator
seems to have more complex logic.


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


# 90c518c2c2e69b7a545fb31506a81348e702ca34 27-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Make sure the font size for the window labels does not grow beyond the system
plain font size.


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


# 63d557f06f41c0aef30f8a0fcc5b8d2c47981b33 15-Jul-2009 Michael Lotz <mmlr@mlotz.ch>

Fixing random GCC4 warnings. Mostly missing consts, some parentheses, some braces... Should all be harmless and not change anything.

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


# 49cc2c3bf8d4427bb5e6178e91352b764186e3f2 14-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Style police at work.


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


# 83458e6d82713d5dc1a27131d912a1d3d991af6e 14-Mar-2009 Jérôme Duval <korli@users.berlios.de>

fix gcc4 build


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


# dd169d9e23c6a24b4d2e10c717f6d1625720eef8 14-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Reworked the code that ignores a little jitter in mouse movements when
trying to switch the workspace. Not sure why it didn't behave previously,
but it seems to work fine now.


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


# 27c43a2d8f20fd98050c6acd9abac970b1d4d7c8 08-Dec-2008 Rene Gollent <anevilyak@gmail.com>

Implement the missing pieces to handle per workspace display mode support.
Adjust Workspace view to correctly scale each workspace based on the
resolution of that workspace. This exposes one or two anomalies in other
places in the app_server code though which I wasn't able to track down.
This fixes ticket #693.




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


# f871c6f73716178338a9e9e696320b6b204b7e2f 09-Nov-2008 Rene Gollent <anevilyak@gmail.com>

Reset the drawing state to that of the client view after we finish drawing the workspaces replicant. This fixes artifacts like fonts occasionally appearing tiny when selecting/deselecting items on the Desktop if the Workspaces replicant was also embedded.



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


# 4e59d9c7b4a1bb397bd4311cf247e0c075cfde82 16-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Use a good default "yellow" in case there is no decorator (otherwise yellow
isn't initialized, but also not really used currently).


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


# 3add2e79b7cd5472667d04ec02d72f72c932f68a 11-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* If you click on a window in the Workspaces view, it won't move until you
move the mouse a bit more. This should help with "fast" workspace switches
when you click on a workspace and accidently move the mouse a bit.


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


# f7d800884d6b6bc38c9e8c72ab01f6200981ada4 11-Oct-2008 Stephan Aßmus <superstippi@gmx.de>

Polished the rendering of the miniature windows in Workspaces.
* The window names are now drawn.
* The window scaling is improved to avoid wobbly placement
when windows move slightly.
* The tab rect is scaled to size, not a single line.


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


# f0c3c996cd92350f083210e5cc0d161abbbc3aa1 07-Jun-2008 Michael Lotz <mmlr@mlotz.ch>

* Decouple local and user clipping into normal local clipping and a user
clipping region pointer.
* Provide _ScreenClipping() that only includes local and screen clipping but
not user clipping.
* Provide ScreenAndUserClipping() that returns screen clipping if no user
clipping is present, or returns a combined region that is then cached.
* Adapt all places where the former methods are used and decide which one to
use depending on the relevance of user clipping.

User clipping is now ignored for background clearing and when determining
whether or not to call Draw() on a view. This should make Haiku behaviourally
compatible with BeOS (confirmed by the ClippingAndRedraw test app) and should
also fix the Firefox redraw issues. Stephan please review!

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


# 437b19277feacd48292ca9ec814a38da17e4eb89 08-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


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


# 953d895e020ece5d50cfc2e76d9f370ceb5c45e7 07-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer
(now WorkspacesView), OffscreenWindowLayer.
* Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called
Screen).


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