[gtkmm] Gdk::Window, Gtk::Widget: Deprecate and add



commit 20cd0a432fca5e690b71d1042d7ea1c100b6ce35
Author: Kjell Ahlstedt <kjell ahlstedt bredband net>
Date:   Thu Jun 16 18:26:09 2016 +0200

    Gdk::Window, Gtk::Widget: Deprecate and add
    
    * gdk/src/window.[hg|ccg]: Deprecate begin_paint_rect(), begin_paint_region(),
    end_paint() and create_cairo_context(). Add begin_draw_frame() and
    end_draw_frame() which use the new Gdk::DrawingContext.
    * gtk/src/widget.hg: Deprecate send_expose().

 gdk/src/window.ccg |    1 +
 gdk/src/window.hg  |   16 +++++++++++-----
 gtk/src/widget.hg  |    3 ++-
 3 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/gdk/src/window.ccg b/gdk/src/window.ccg
index d789d78..c2cb3b1 100644
--- a/gdk/src/window.ccg
+++ b/gdk/src/window.ccg
@@ -20,6 +20,7 @@
 #include <gdkmm/device.h>
 #include <gdkmm/types.h>
 #include <gdkmm/glcontext.h>
+#include <gdkmm/drawingcontext.h>
 
 namespace Gdk
 {
diff --git a/gdk/src/window.hg b/gdk/src/window.hg
index 46534cf..02a92b6 100644
--- a/gdk/src/window.hg
+++ b/gdk/src/window.hg
@@ -48,6 +48,7 @@ _WRAP_ENUM(FullscreenMode, GdkFullscreenMode)
 class Cursor;
 class Pixbuf;
 class GLContext;
+class DrawingContext;
 
 /** A Gdk::Window is a rectangular region on the screen. It's a low-level object, used to implement 
high-level objects such
  * as Gtk::Widget and Gtk::Window on the GTK+ level. A Gtk::Window is a toplevel window, the thing a user 
might think of as
@@ -59,7 +60,6 @@ class Window : public Glib::Object
   _CLASS_GOBJECT(Window, GdkWindow, GDK_WINDOW, Glib::Object, GObject)
   _STRUCT_NOT_HIDDEN
   _IGNORE(gdk_window_destroy, gdk_window_new, gdk_window_is_destroyed)
-  _IGNORE(gdk_window_get_unscaled_size)
 
 protected:
   Window(const Glib::RefPtr<Window>& parent, GdkWindowAttr* attributes, int attributes_mask);
@@ -144,9 +144,11 @@ public:
   _WRAP_METHOD(bool get_modal_hint() const, gdk_window_get_modal_hint)
   _WRAP_METHOD(void set_modal_hint(bool modal = true), gdk_window_set_modal_hint)
   _WRAP_METHOD(void set_geometry_hints(const Geometry& geometry, WindowHints geom_mask), 
gdk_window_set_geometry_hints)
-  _WRAP_METHOD(void begin_paint_rect(const Rectangle& rectangle), gdk_window_begin_paint_rect)
-  _WRAP_METHOD(void begin_paint_region(const ::Cairo::RefPtr< ::Cairo::Region>& region), 
gdk_window_begin_paint_region)
-  _WRAP_METHOD(void end_paint(), gdk_window_end_paint)
+  _WRAP_METHOD(void begin_paint_rect(const Rectangle& rectangle), gdk_window_begin_paint_rect,
+    deprecated "Use begin_draw_frame() instead.")
+  _WRAP_METHOD(void begin_paint_region(const ::Cairo::RefPtr< ::Cairo::Region>& region), 
gdk_window_begin_paint_region,
+    deprecated "Use begin_draw_frame() instead.")
+  _WRAP_METHOD(void end_paint(), gdk_window_end_paint, deprecated "Use end_draw_frame() instead.")
   _WRAP_METHOD(void flush(), gdk_window_flush, deprecated "This method does nothing.")
   _WRAP_METHOD(void set_title(const Glib::ustring& title), gdk_window_set_title)
   _WRAP_METHOD(void set_role(const Glib::ustring& role), gdk_window_set_role)
@@ -381,7 +383,8 @@ public:
   _WRAP_METHOD(::Cairo::RefPtr< ::Cairo::Region> get_visible_region() const, gdk_window_get_visible_region)
 
 #m4 _CONVERSION(`cairo_t*',`::Cairo::RefPtr< ::Cairo::Context>',`::Cairo::RefPtr< ::Cairo::Context>(new 
::Cairo::Context($3, true /* has_reference */))')
-  _WRAP_METHOD(::Cairo::RefPtr< ::Cairo::Context> create_cairo_context(), gdk_cairo_create)
+  _WRAP_METHOD(::Cairo::RefPtr< ::Cairo::Context> create_cairo_context(), gdk_cairo_create,
+    deprecated "Use begin_draw_frame() and Gdk::DrawingContext::get_cairo_context() instead.")
 
   //TODO: Wrap these? Find out when they are emitted and if they are useful outside of GTK+, and improve the 
C docs.
   //_WRAP_SIGNAL(Glib::RefPtr<Gdk::Window> pick_embedded_child(double x, double y), pick-embedded-child, 
no_default_handler)
@@ -414,6 +417,9 @@ public:
    */
   _WRAP_METHOD(Glib::RefPtr<Gdk::GLContext> create_gl_context(), gdk_window_create_gl_context, errthrow)
 
+  _WRAP_METHOD(Glib::RefPtr<DrawingContext> begin_draw_frame(const ::Cairo::RefPtr<const ::Cairo::Region>& 
region), gdk_window_begin_draw_frame, refreturn)
+  _WRAP_METHOD(void end_draw_frame(const Glib::RefPtr<DrawingContext>& context), gdk_window_end_draw_frame)
+
   _WRAP_PROPERTY("cursor", Glib::RefPtr<Cursor>)
 };
 
diff --git a/gtk/src/widget.hg b/gtk/src/widget.hg
index 8cbe256..43b2766 100644
--- a/gtk/src/widget.hg
+++ b/gtk/src/widget.hg
@@ -162,7 +162,8 @@ public:
 
   //TODO: Use C++ type
   _WRAP_METHOD(bool event(GdkEvent* gdk_event), gtk_widget_event)
-  _WRAP_METHOD(int send_expose(GdkEvent* gdk_event), gtk_widget_send_expose)
+  _WRAP_METHOD(int send_expose(GdkEvent* gdk_event), gtk_widget_send_expose,
+    deprecated "%Application and widget code should not handle expose events directly; invalidation should 
use the Gtk::Widget API, and drawing should only happen inside signal_draw() implementations.")
   _WRAP_METHOD(bool send_focus_change(GdkEvent* gdk_event), gtk_widget_send_focus_change)
   _WRAP_METHOD(bool activate(), gtk_widget_activate)
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]