]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkwindow.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gdk / gdkwindow.h
index 3b6f05cc4590e8780272387d0c9c1b689b90f888..d2ee972cbbb32693f7490f85b960d3910bbf0cea 100644 (file)
@@ -12,9 +12,7 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
+#ifndef __GDK_WINDOW_H__
+#define __GDK_WINDOW_H__
+
 #if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
 #error "Only <gdk/gdk.h> can be included directly."
 #endif
 
-#ifndef __GDK_WINDOW_H__
-#define __GDK_WINDOW_H__
-
+#include <gdk/gdkversionmacros.h>
 #include <gdk/gdktypes.h>
 #include <gdk/gdkevents.h>
+#include <gdk/gdkframeclock.h>
 
 G_BEGIN_DECLS
 
@@ -53,8 +53,8 @@ typedef struct _GdkWindowRedirect    GdkWindowRedirect;
  */
 typedef enum
 {
-  GDK_INPUT_OUTPUT,
-  GDK_INPUT_ONLY
+  GDK_INPUT_OUTPUT, /*< nick=input-output >*/
+  GDK_INPUT_ONLY    /*< nick=input-only >*/
 } GdkWindowWindowClass;
 
 /**
@@ -317,6 +317,22 @@ typedef enum
   GDK_WINDOW_EDGE_SOUTH_EAST  
 } GdkWindowEdge;
 
+/**
+ * GdkFullscreenMode:
+ * @GDK_FULLSCREEN_ON_CURRENT_MONITOR: Fullscreen on current monitor only.
+ * @GDK_FULLSCREEN_ON_ALL_MONITORS: Span across all monitors when fullscreen.
+ *
+ * Indicates which monitor (in a multi-head setup) a window should span over
+ * when in fullscreen mode.
+ *
+ * Since: 3.8
+ **/
+typedef enum
+{
+  GDK_FULLSCREEN_ON_CURRENT_MONITOR,
+  GDK_FULLSCREEN_ON_ALL_MONITORS
+} GdkFullscreenMode;
+
 /**
  * GdkWindowAttr:
  * @title: title of the window (for toplevel windows)
@@ -503,8 +519,9 @@ GdkVisual *   gdk_window_get_visual            (GdkWindow     *window);
 GdkScreen *   gdk_window_get_screen            (GdkWindow     *window);
 GdkDisplay *  gdk_window_get_display           (GdkWindow     *window);
 #ifndef GDK_MULTIDEVICE_SAFE
+GDK_DEPRECATED_IN_3_0_FOR(gdk_device_get_window_at_position)
 GdkWindow*    gdk_window_at_pointer            (gint          *win_x,
-                                                gint          *win_y) G_GNUC_DEPRECATED_FOR(gdk_device_get_window_at_position);
+                                                gint          *win_y);
 #endif /* GDK_MULTIDEVICE_SAFE */
 void          gdk_window_show                  (GdkWindow     *window);
 void          gdk_window_hide                  (GdkWindow     *window);
@@ -656,10 +673,11 @@ void          gdk_window_set_startup_id    (GdkWindow     *window,
                                            const gchar   *startup_id);
 void          gdk_window_set_transient_for (GdkWindow     *window,
                                            GdkWindow     *parent);
+GDK_DEPRECATED_IN_3_4_FOR(gdk_window_set_background_rgba)
 void         gdk_window_set_background  (GdkWindow       *window,
                                          const GdkColor  *color);
-void          gdk_window_set_background_rgba (GdkWindow *window,
-                                              GdkRGBA   *rgba);
+void          gdk_window_set_background_rgba (GdkWindow     *window,
+                                              const GdkRGBA *rgba);
 void         gdk_window_set_background_pattern (GdkWindow       *window,
                                                  cairo_pattern_t *pattern);
 cairo_pattern_t *gdk_window_get_background_pattern (GdkWindow     *window);
@@ -710,10 +728,11 @@ void          gdk_window_get_frame_extents (GdkWindow     *window,
                                             GdkRectangle  *rect);
 
 #ifndef GDK_MULTIDEVICE_SAFE
+GDK_DEPRECATED_IN_3_0_FOR(gdk_window_get_device_position)
 GdkWindow *   gdk_window_get_pointer     (GdkWindow       *window,
                                           gint            *x,
                                           gint            *y,
-                                          GdkModifierType *mask) G_GNUC_DEPRECATED_FOR(gdk_window_get_device_position);
+                                          GdkModifierType *mask);
 #endif /* GDK_MULTIDEVICE_SAFE */
 GdkWindow *   gdk_window_get_device_position (GdkWindow       *window,
                                               GdkDevice       *device,
@@ -771,6 +790,12 @@ void          gdk_window_unstick         (GdkWindow       *window);
 void          gdk_window_maximize        (GdkWindow       *window);
 void          gdk_window_unmaximize      (GdkWindow       *window);
 void          gdk_window_fullscreen      (GdkWindow       *window);
+GDK_AVAILABLE_IN_3_8
+void          gdk_window_set_fullscreen_mode (GdkWindow   *window,
+                                          GdkFullscreenMode mode);
+GDK_AVAILABLE_IN_3_8
+GdkFullscreenMode
+              gdk_window_get_fullscreen_mode (GdkWindow   *window);
 void          gdk_window_unfullscreen    (GdkWindow       *window);
 void          gdk_window_set_keep_above  (GdkWindow       *window,
                                           gboolean         setting);
@@ -782,19 +807,34 @@ void          gdk_window_register_dnd    (GdkWindow       *window);
 
 GdkDragProtocol
               gdk_window_get_drag_protocol(GdkWindow      *window,
-                                          GdkWindow      **target);
-
-void gdk_window_begin_resize_drag (GdkWindow     *window,
-                                   GdkWindowEdge  edge,
-                                   gint           button,
-                                   gint           root_x,
-                                   gint           root_y,
-                                   guint32        timestamp);
-void gdk_window_begin_move_drag   (GdkWindow     *window,
-                                   gint           button,
-                                   gint           root_x,
-                                   gint           root_y,
-                                   guint32        timestamp);
+                                           GdkWindow     **target);
+
+void gdk_window_begin_resize_drag            (GdkWindow     *window,
+                                              GdkWindowEdge  edge,
+                                              gint           button,
+                                              gint           root_x,
+                                              gint           root_y,
+                                              guint32        timestamp);
+GDK_AVAILABLE_IN_3_4
+void gdk_window_begin_resize_drag_for_device (GdkWindow     *window,
+                                              GdkWindowEdge  edge,
+                                              GdkDevice     *device,
+                                              gint           button,
+                                              gint           root_x,
+                                              gint           root_y,
+                                              guint32        timestamp);
+void gdk_window_begin_move_drag              (GdkWindow     *window,
+                                              gint           button,
+                                              gint           root_x,
+                                              gint           root_y,
+                                              guint32        timestamp);
+GDK_AVAILABLE_IN_3_4
+void gdk_window_begin_move_drag_for_device   (GdkWindow     *window,
+                                              GdkDevice     *device,
+                                              gint           button,
+                                              gint           root_x,
+                                              gint           root_y,
+                                              guint32        timestamp);
 
 /* Interface for dirty-region queueing */
 void       gdk_window_invalidate_rect           (GdkWindow          *window,
@@ -844,7 +884,9 @@ void       gdk_window_constrain_size      (GdkGeometry  *geometry,
                                            gint         *new_width,
                                            gint         *new_height);
 
+GDK_DEPRECATED_IN_3_8
 void gdk_window_enable_synchronized_configure (GdkWindow *window);
+GDK_DEPRECATED_IN_3_8
 void gdk_window_configure_finished            (GdkWindow *window);
 
 GdkWindow *gdk_get_default_root_window (void);
@@ -862,6 +904,10 @@ void       gdk_window_set_support_multidevice (GdkWindow *window,
                                                gboolean   support_multidevice);
 gboolean   gdk_window_get_support_multidevice (GdkWindow *window);
 
+/* Frame clock */
+GDK_AVAILABLE_IN_3_8
+GdkFrameClock* gdk_window_get_frame_clock      (GdkWindow     *window);
+
 G_END_DECLS
 
 #endif /* __GDK_WINDOW_H__ */