diff --git a/src/servers/app/DrawingContext.cpp b/src/servers/app/DrawingContext.cpp index 676a00e79c..b259f5e98e 100644 --- a/src/servers/app/DrawingContext.cpp +++ b/src/servers/app/DrawingContext.cpp @@ -320,6 +320,14 @@ OffscreenContext::OffscreenContext(DrawingEngine* engine, : DrawingContext(state), fDrawingEngine(engine) +{ + ResyncDrawState(); +} + + +void +OffscreenContext::ResyncDrawState() { fDrawingEngine->SetDrawState(fDrawState); } + diff --git a/src/servers/app/DrawingContext.h b/src/servers/app/DrawingContext.h index f2aa499aaf..621ed0a920 100644 --- a/src/servers/app/DrawingContext.h +++ b/src/servers/app/DrawingContext.h @@ -90,17 +90,18 @@ public: // Screen and View coordinates are the same for us. // DrawState already takes care of World<>View // conversions. - void ConvertToScreen(BPoint*) const {} - void ConvertToScreen(IntPoint*) const {} - void ConvertToScreen(BRect*) const {} - void ConvertToScreen(IntRect*) const {} - void ConvertToScreen(BRegion*) const {} - void ConvertFromScreen(BPoint*) const {} + virtual void ConvertToScreen(BPoint*) const {} + virtual void ConvertToScreen(IntPoint*) const {} + virtual void ConvertToScreen(BRect*) const {} + virtual void ConvertToScreen(IntRect*) const {} + virtual void ConvertToScreen(BRegion*) const {} + virtual void ConvertFromScreen(BPoint*) const {} - DrawingEngine* GetDrawingEngine() const { return fDrawingEngine; } + virtual DrawingEngine* GetDrawingEngine() const { return fDrawingEngine; } - void RebuildClipping(bool deep) { /* TODO */ } - ServerPicture* GetPicture(int32 token) const + virtual void RebuildClipping(bool deep) { /* TODO */ } + virtual void ResyncDrawState(); + virtual ServerPicture* GetPicture(int32 token) const { /* TODO */ return NULL; } private: DrawingEngine* fDrawingEngine;