summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h')
-rw-r--r--Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h b/Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h
index e5db0fa7e..7a98c3768 100644
--- a/Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h
+++ b/Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h
@@ -27,14 +27,16 @@
#ifndef RedirectedXCompositeWindow_h
#define RedirectedXCompositeWindow_h
-#if USE(GLX)
+#if PLATFORM(X11)
-#include "GLContextGLX.h"
+#include "GLContext.h"
#include "IntSize.h"
#include "RefPtrCairo.h"
typedef unsigned long Pixmap;
typedef unsigned long Window;
+typedef unsigned long Damage;
+typedef void (*DamageNotifyCallback)(void*);
namespace WebCore {
@@ -42,24 +44,25 @@ class RedirectedXCompositeWindow {
public:
static PassOwnPtr<RedirectedXCompositeWindow> create(const IntSize&);
virtual ~RedirectedXCompositeWindow();
-
- const IntSize& usableSize() { return m_usableSize; }
const IntSize& size() { return m_size; }
void resize(const IntSize& newSize);
GLContext* context();
cairo_surface_t* cairoSurfaceForWidget(GtkWidget*);
Window windowId() { return m_window; }
+ void callDamageNotifyCallback();
+
+ void setDamageNotifyCallback(DamageNotifyCallback callback, void* data)
+ {
+ m_damageNotifyCallback = callback;
+ m_damageNotifyData = data;
+ }
private:
RedirectedXCompositeWindow(const IntSize&);
-
- static gboolean resizeLaterCallback(RedirectedXCompositeWindow*);
- void resizeLater();
void cleanupPixmapAndPixmapSurface();
IntSize m_size;
- IntSize m_usableSize;
Window m_window;
Window m_parentWindow;
Pixmap m_pixmap;
@@ -67,10 +70,14 @@ private:
RefPtr<cairo_surface_t> m_surface;
unsigned int m_pendingResizeSourceId;
bool m_needsNewPixmapAfterResize;
+
+ Damage m_damage;
+ DamageNotifyCallback m_damageNotifyCallback;
+ void* m_damageNotifyData;
};
} // namespace WebCore
-#endif // USE(GLX)
+#endif // PLATFORM(X11)
#endif // RedirectedXCompositeWindow_h