From 27e018e33ca3d09e92bff685ced483ec8e5658aa Mon Sep 17 00:00:00 2001 From: Adi Oanca Date: Thu, 25 Sep 2003 12:12:58 +0000 Subject: [PATCH] added support for picture clipping and state stack git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4800 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/servers/app/LayerData.h | 29 +++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/headers/private/servers/app/LayerData.h b/headers/private/servers/app/LayerData.h index cc938fbdde..66cd8177c2 100644 --- a/headers/private/servers/app/LayerData.h +++ b/headers/private/servers/app/LayerData.h @@ -3,15 +3,17 @@ #include #include +#include #include #include #include #include -#include "GraphicsDefs.h" -#include "InterfaceDefs.h" +#include +#include class ServerBitmap; class ServerFont; +class ServerPicture; class LayerData { @@ -47,9 +49,16 @@ public: edelta.space = 0; edelta.nonspace = 0; + + prevState = NULL; + clippPicture = NULL; + clippInverse = false; } ~LayerData(void) { + if (clippReg) + delete clippReg; + if (image){ /* NOTE: I don't know yet how bitmap allocation/deallocation is managed by server. I tend to think it's a reference @@ -59,6 +68,16 @@ public: TODO: tell 'image' we're finished with it! :-) */ } + if (clippPicture){ + /* same as for 'image' + + TODO: tell 'clippPicture' we're finished with it + */ + } + if (prevState){ + delete prevState; + prevState = NULL; + } } // BView related @@ -91,6 +110,12 @@ public: //ServerBitmap *overlay; escapement_delta edelta; + + // used for the state stack + LayerData *prevState; + + ServerPicture *clippPicture; + bool clippInverse; }; #endif