/////////////////////////////////////////////////////////////////////////////
-// Name: dcscreen.h
-// Purpose: wxScreenDC class
+// Name: wx/motif/dcscreen.h
+// Purpose: wxScreenDCImpl class
// Author: Julian Smart
// Modified by:
// Created: 17/09/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DCSCREEN_H_
#define _WX_DCSCREEN_H_
-#ifdef __GNUG__
-#pragma interface "dcscreen.h"
-#endif
+#include "wx/motif/dcclient.h"
-#include "wx/dcclient.h"
-
-class WXDLLEXPORT wxScreenDC: public wxPaintDC
+class WXDLLIMPEXP_CORE wxScreenDCImpl : public wxWindowDCImpl
{
- DECLARE_DYNAMIC_CLASS(wxScreenDC)
-
- public:
- // Create a DC representing the whole screen
- wxScreenDC();
- ~wxScreenDC();
-
- // Compatibility with X's requirements for
- // drawing on top of all windows
- static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return TRUE; }
- static bool StartDrawingOnTop(wxRectangle* WXUNUSED(rect) = NULL) { return TRUE; }
- static bool EndDrawingOnTop() { return TRUE; }
+public:
+ // Create a DC representing the whole screen
+ wxScreenDCImpl(wxScreenDC *owner);
+ virtual ~wxScreenDCImpl();
+
+ // Compatibility with X's requirements for
+ // drawing on top of all windows
+ static bool StartDrawingOnTop(wxWindow* window);
+ static bool StartDrawingOnTop(wxRect* rect = NULL);
+ static bool EndDrawingOnTop();
+
+private:
+ static WXWindow sm_overlayWindow;
+
+ // If we have started transparent drawing at a non-(0,0) point
+ // then we will have to adjust the device origin in the
+ // constructor.
+ static int sm_overlayWindowX;
+ static int sm_overlayWindowY;
+
+ DECLARE_DYNAMIC_CLASS(wxScreenDCImpl)
};
-#endif
- // _WX_DCSCREEN_H_
-
+#endif // _WX_DCSCREEN_H_