[gtkmm] Gdk::Window, Gtk::Widget: Deprecate and add
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] Gdk::Window, Gtk::Widget: Deprecate and add
- Date: Thu, 16 Jun 2016 16:30:45 +0000 (UTC)
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]