Commit Graph

3 Commits

Author SHA1 Message Date
Stephan Aßmus
79ef179c52 A test app revealed some bugs with regards to client provided clipping regions:
* It is necessary to store the local origin and scale of a view state, at
  least for the clipping region and especially because the scale affects the
  clipping region. Ie origin and scale of one state affect the clipping region,
  at the time the clipping is evaluated, ie
     SetOrigin(...);
     ConstrainClippingRegion(...);
  is equivalent to
     ConstrainClippingRegion(...);
     SetOrigin(...);
  The current client provided clipping region at the time of PushState()
  always constrains the region of the new state. The previous region
  and the current local clipping may have their own individual origin and
  scale.
  To support all this, I needed to store origin and scale of each state on
  the stack, but I do cache the combined origin and scale. Caching only
  the combined region is not possible though. So the new implementation
  is slower than the previous, but more correct.
* Refactored "copy constructor" from DrawState, which is not really a copy
  constructor anyways, made it private. It is only used by PushState().
* Removed some dead code from DrawState.

All this improves Firefox redraw issues a tiny bit, but does not fix them.
Either I am not covering Firefox needs with my test app, or the bug is
somewhere else. At least Haiku behaves like BeOS with regard to client
clipping regions and the state stack now...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 00:04:12 +00:00
Axel Dörfler
437b19277f * Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 15:28:31 +00:00
Axel Dörfler
953d895e02 * 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
2008-03-08 12:45:54 +00:00