[gtk+] [gdk] Add gdk_window_has_native() function



commit df106318f8a62bb9bb4b1afe04a9b7f2919eb98d
Author: Javier Jardón <jjardon gnome org>
Date:   Tue Jun 29 00:31:39 2010 +0200

    [gdk] Add gdk_window_has_native() function
    
    https://bugzilla.gnome.org/show_bug.cgi?id=622677

 docs/reference/gdk/gdk3-sections.txt |    1 +
 gdk/gdk.symbols                      |    1 +
 gdk/gdkwindow.c                      |   23 +++++++++++++++++++++++
 gdk/gdkwindow.h                      |    1 +
 4 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt
index 89b53bb..b253eae 100644
--- a/docs/reference/gdk/gdk3-sections.txt
+++ b/docs/reference/gdk/gdk3-sections.txt
@@ -595,6 +595,7 @@ gdk_window_move_resize
 gdk_window_scroll
 gdk_window_move_region
 gdk_window_flush
+gdk_window_has_native
 gdk_window_ensure_native
 gdk_window_reparent
 gdk_window_clear
diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols
index 59f172d..ca44318 100644
--- a/gdk/gdk.symbols
+++ b/gdk/gdk.symbols
@@ -661,6 +661,7 @@ gdk_window_get_root_coords
 gdk_window_get_deskrelative_origin
 gdk_window_set_support_multidevice
 gdk_window_get_support_multidevice
+gdk_window_has_native
 gdk_window_set_background
 gdk_window_set_back_pixmap
 gdk_window_set_cursor
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index afb2d42..8d45b87 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2400,6 +2400,29 @@ from_embedder (GdkWindowObject *window,
 }
 
 /**
+ * gdk_window_has_native:
+ * @window: a #GdkWindow
+ *
+ * Checks whether the window has a native window or not. Note that
+ * you can use gdk_window_ensure_native() if a native window is needed.
+ *
+ * Returns: %TRUE if the %window has a native window, %FALSE otherwise.
+ *
+ * Since: 2.22
+ */
+gboolean
+gdk_window_has_native (GdkWindow *window)
+{
+  GdkWindowObject *w;
+
+  g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
+
+  w = GDK_WINDOW_OBJECT (window);
+
+  return w->parent == NULL || w->parent->impl != w->impl;
+}
+
+/**
  * gdk_window_get_position:
  * @window: a #GdkWindow
  * @x: X coordinate of window
diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h
index 6013a7f..1e15438 100644
--- a/gdk/gdkwindow.h
+++ b/gdk/gdkwindow.h
@@ -716,6 +716,7 @@ GdkWindow*    gdk_window_lookup_for_display (GdkDisplay      *display,
 
 /* GdkWindow */
 
+gboolean      gdk_window_has_native         (GdkWindow       *window);
 void              gdk_window_set_type_hint (GdkWindow        *window,
                                             GdkWindowTypeHint hint);
 GdkWindowTypeHint gdk_window_get_type_hint (GdkWindow        *window);



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