2011-02-08 Martin Robinson <mrobinson@igalia.com>
[WebKit-https.git] / Source / WebCore / platform / gtk / WidgetRenderingContext.h
index 7334656..8639a98 100644 (file)
 #ifndef WidgetRenderingContext_h
 #define WidgetRenderingContext_h
 
+#ifdef GTK_API_VERSION_2
+
 #include "IntRect.h"
-#include "gtkdrawing.h"
+
+// Usually this is too expensive to have in headers, but GtkStateType GtkShadowType are
+// enums and cannot be forward declared. WidgetRenderingContext.h is currently only
+// included in RenderThemeGtk2.cpp and ScrollbarThemeGtk2.cpp.
+#include <gtk/gtk.h>
 
 namespace WebCore {
 
@@ -35,10 +41,15 @@ public:
     WidgetRenderingContext(GraphicsContext*, const IntRect&);
     ~WidgetRenderingContext();
 
-    bool paintMozillaWidget(GtkThemeWidgetType, GtkWidgetState*, int flags, GtkTextDirection = GTK_TEXT_DIR_NONE);
     void gtkPaintBox(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
+    void gtkPaintFlatBox(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
     void gtkPaintFocus(const IntRect&, GtkWidget*, GtkStateType, const gchar*);
     void gtkPaintSlider(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*, GtkOrientation);
+    void gtkPaintCheck(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
+    void gtkPaintOption(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
+    void gtkPaintShadow(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
+    void gtkPaintArrow(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, int arrowDirection, const gchar*);
+    void gtkPaintVLine(const IntRect&, GtkWidget*, GtkStateType, const gchar*);
 
 private:
     GraphicsContext* m_graphicsContext;
@@ -46,15 +57,11 @@ private:
     GdkRectangle m_paintRect;
     IntSize m_extraSpace;
     bool m_hadError;
-
-#ifdef GTK_API_VERSION_2
     GdkDrawable* m_target;
-#else
-    cairo_t* m_target;
-#endif
 
 };
 
 }
 
-#endif
+#endif // GTK_API_VERSION_2
+#endif // WidgetRenderingContext_h