diff --git a/src/servers/app/DrawState.cpp b/src/servers/app/DrawState.cpp index 9621cfa68e..2eaa39f5de 100644 --- a/src/servers/app/DrawState.cpp +++ b/src/servers/app/DrawState.cpp @@ -370,6 +370,22 @@ DrawState::SetTransform(BAffineTransform transform) } +/* Can be used to temporarily disable all BAffineTransforms in the state + stack, and later reenable them. +*/ +void +DrawState::SetTransformEnabled(bool enabled) +{ + if (enabled) { + BAffineTransform temp = fTransform; + SetTransform(BAffineTransform()); + SetTransform(temp); + } + else + fCombinedTransform = BAffineTransform(); +} + + DrawState* DrawState::Squash() { diff --git a/src/servers/app/DrawState.h b/src/servers/app/DrawState.h index 48a6f371c6..e67e1ed2af 100644 --- a/src/servers/app/DrawState.h +++ b/src/servers/app/DrawState.h @@ -68,6 +68,7 @@ public: { return fTransform; } BAffineTransform CombinedTransform() const { return fCombinedTransform; } + void SetTransformEnabled(bool enabled); DrawState* Squash();