00001 #ifndef _DIMMED_SCREEN_H_ 00002 #define _DIMMED_SCREEN_H_ 00003 00004 #include "screen.h" 00005 #include "graphicsport.h" 00006 00007 namespace WoopsiUI { 00008 00023 class DimmedScreen : public Screen { 00024 public: 00029 DimmedScreen() : Screen("", 0) { }; 00030 00037 virtual void draw(Rect clipRect) { 00038 00039 // Erase the gadget, thus redrawing everything underneath it 00040 _flags.erased = false; 00041 disableDrawing(); 00042 woopsiApplication->eraseRect(clipRect); 00043 enableDrawing(); 00044 _flags.erased = false; 00045 00046 // Dim the screen 00047 GraphicsPort* port = newInternalGraphicsPort(clipRect); 00048 port->dim(clipRect.x, clipRect.y, clipRect.width, clipRect.height); 00049 delete port; 00050 }; 00051 00055 virtual inline ~DimmedScreen() { }; 00056 00060 inline DimmedScreen(const DimmedScreen& dimmedScreen) : Screen(dimmedScreen) { }; 00061 }; 00062 } 00063 00064 #endif