GDK Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# Windows

## Name

Windows --

## Synopsis

    #include <gdk/gdk.h>

    struct      GdkWindowAttr;
    struct      GdkWindow;
    enum        GdkWindowType;
    enum        GdkWindowClass;
    enum        GdkWindowAttributesType;
    enum        GdkWindowHints;
    struct      GdkGeometry;
    GdkWindow*  gdk_window_new                  (GdkWindow *parent,
                                                 GdkWindowAttr *attributes,
                                                 gint attributes_mask);
    void        gdk_window_destroy              (GdkWindow *window);
    GdkWindow*  gdk_window_ref                  (GdkWindow *window);
    void        gdk_window_unref                (GdkWindow *window);
    GdkWindow*  gdk_window_at_pointer           (gint *win_x,
                                                 gint *win_y);
    void        gdk_window_show                 (GdkWindow *window);
    void        gdk_window_hide                 (GdkWindow *window);
    gboolean    gdk_window_is_visible           (GdkWindow *window);
    gboolean    gdk_window_is_viewable          (GdkWindow *window);
    void        gdk_window_withdraw             (GdkWindow *window);
    void        gdk_window_move                 (GdkWindow *window,
                                                 gint x,
                                                 gint y);
    void        gdk_window_resize               (GdkWindow *window,
                                                 gint width,
                                                 gint height);
    void        gdk_window_move_resize          (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);
    void        gdk_window_reparent             (GdkWindow *window,
                                                 GdkWindow *new_parent,
                                                 gint x,
                                                 gint y);
    void        gdk_window_clear                (GdkWindow *window);
    void        gdk_window_clear_area           (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);
    void        gdk_window_clear_area_e         (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);
    void        gdk_window_copy_area            (GdkWindow *window,
                                                 GdkGC *gc,
                                                 gint x,
                                                 gint y,
                                                 GdkWindow *source_window,
                                                 gint source_x,
                                                 gint source_y,
                                                 gint width,
                                                 gint height);
    void        gdk_window_raise                (GdkWindow *window);
    void        gdk_window_lower                (GdkWindow *window);
    void        gdk_window_register_dnd         (GdkWindow *window);
    void        gdk_window_set_user_data        (GdkWindow *window,
                                                 gpointer user_data);
    void        gdk_window_set_override_redirect
                                                (GdkWindow *window,
                                                 gboolean override_redirect);
    void        gdk_window_add_filter           (GdkWindow *window,
                                                 GdkFilterFunc function,
                                                 gpointer data);
    void        gdk_window_remove_filter        (GdkWindow *window,
                                                 GdkFilterFunc function,
                                                 gpointer data);
    GdkFilterReturn (*GdkFilterFunc)            (GdkXEvent *xevent,
                                                 GdkEvent *event,
                                                 gpointer data);
    enum        GdkFilterReturn;
    typedef     GdkXEvent;
    void        gdk_window_shape_combine_mask   (GdkWindow *window,
                                                 GdkBitmap *shape_mask,
                                                 gint offset_x,
                                                 gint offset_y);
    void        gdk_window_set_child_shapes     (GdkWindow *window);
    void        gdk_window_merge_child_shapes   (GdkWindow *window);
    gboolean    gdk_window_set_static_gravities (GdkWindow *window,
                                                 gboolean use_static);
    void        gdk_window_set_hints            (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint min_width,
                                                 gint min_height,
                                                 gint max_width,
                                                 gint max_height,
                                                 gint flags);
    void        gdk_window_set_title            (GdkWindow *window,
                                                 const gchar *title);
    void        gdk_window_set_background       (GdkWindow *window,
                                                 GdkColor *color);
    void        gdk_window_set_back_pixmap      (GdkWindow *window,
                                                 GdkPixmap *pixmap,
                                                 gint parent_relative);
    #define     GDK_PARENT_RELATIVE
    void        gdk_window_set_cursor           (GdkWindow *window,
                                                 GdkCursor *cursor);
    void        gdk_window_set_colormap         (GdkWindow *window,
                                                 GdkColormap *colormap);
    void        gdk_window_get_user_data        (GdkWindow *window,
                                                 gpointer *data);
    void        gdk_window_get_geometry         (GdkWindow *window,
                                                 gint *x,
                                                 gint *y,
                                                 gint *width,
                                                 gint *height,
                                                 gint *depth);
    void        gdk_window_set_geometry_hints   (GdkWindow *window,
                                                 GdkGeometry *geometry,
                                                 GdkWindowHints flags);
    void        gdk_window_get_position         (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);
    void        gdk_window_get_root_origin      (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);
    void        gdk_window_get_size             (GdkWindow *window,
                                                 gint *width,
                                                 gint *height);
    GdkVisual*  gdk_window_get_visual           (GdkWindow *window);
    GdkColormap* gdk_window_get_colormap        (GdkWindow *window);
    GdkWindowType gdk_window_get_type           (GdkWindow *window);
    gint        gdk_window_get_origin           (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);
    gboolean    gdk_window_get_deskrelative_origin
                                                (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);
    GdkWindow*  gdk_window_get_pointer          (GdkWindow *window,
                                                 gint *x,
                                                 gint *y,
                                                 GdkModifierType *mask);
    enum        GdkModifierType;
    GdkWindow*  gdk_window_get_parent           (GdkWindow *window);
    GdkWindow*  gdk_window_get_toplevel         (GdkWindow *window);
    GList*      gdk_window_get_children         (GdkWindow *window);
    GdkEventMask gdk_window_get_events          (GdkWindow *window);
    void        gdk_window_set_events           (GdkWindow *window,
                                                 GdkEventMask event_mask);
    void        gdk_window_set_icon             (GdkWindow *window,
                                                 GdkWindow *icon_window,
                                                 GdkPixmap *pixmap,
                                                 GdkBitmap *mask);
    void        gdk_window_set_icon_name        (GdkWindow *window,
                                                 gchar *name);
    void        gdk_window_set_transient_for    (GdkWindow *window,
                                                 GdkWindow *leader);
    void        gdk_window_set_role             (GdkWindow *window,
                                                 const gchar *role);
    void        gdk_window_set_group            (GdkWindow *window,
                                                 GdkWindow *leader);
    void        gdk_window_set_decorations      (GdkWindow *window,
                                                 GdkWMDecoration decorations);
    enum        GdkWMDecoration;
    void        gdk_window_set_functions        (GdkWindow *window,
                                                 GdkWMFunction functions);
    enum        GdkWMFunction;
    GList*      gdk_window_get_toplevels        (void);
    struct      GdkDrawable;
    void        gdk_drawable_set_data           (GdkDrawable *drawable,
                                                 const gchar *key,
                                                 gpointer data,
                                                 GDestroyNotify destroy_func);

## Description

## Details

### struct GdkWindowAttr

    struct GdkWindowAttr
    {
      gchar *title;
      gint event_mask;
      gint16 x, y;
      gint16 width;
      gint16 height;
      GdkWindowClass wclass;
      GdkVisual *visual;
      GdkColormap *colormap;
      GdkWindowType window_type;
      GdkCursor *cursor;
      gchar *wmclass_name;
      gchar *wmclass_class;
      gboolean override_redirect;
    };

### struct GdkWindow

    struct GdkWindow
    {
      gpointer user_data;
    };

### enum GdkWindowType

    typedef enum
    {
      GDK_WINDOW_ROOT,
      GDK_WINDOW_TOPLEVEL,
      GDK_WINDOW_CHILD,
      GDK_WINDOW_DIALOG,
      GDK_WINDOW_TEMP,
      GDK_WINDOW_PIXMAP,
      GDK_WINDOW_FOREIGN
    } GdkWindowType;

### enum GdkWindowClass

    typedef enum
    {
      GDK_INPUT_OUTPUT,
      GDK_INPUT_ONLY
    } GdkWindowClass;

### enum GdkWindowAttributesType

    typedef enum
    {
      GDK_WA_TITLE	  = 1 << 1,
      GDK_WA_X	  = 1 << 2,
      GDK_WA_Y	  = 1 << 3,
      GDK_WA_CURSOR	  = 1 << 4,
      GDK_WA_COLORMAP = 1 << 5,
      GDK_WA_VISUAL	  = 1 << 6,
      GDK_WA_WMCLASS  = 1 << 7,
      GDK_WA_NOREDIR  = 1 << 8
    } GdkWindowAttributesType;

### enum GdkWindowHints

    typedef enum
    {
      GDK_HINT_POS	      = 1 << 0,
      GDK_HINT_MIN_SIZE   = 1 << 1,
      GDK_HINT_MAX_SIZE   = 1 << 2,
      GDK_HINT_BASE_SIZE  = 1 << 3,
      GDK_HINT_ASPECT     = 1 << 4,
      GDK_HINT_RESIZE_INC = 1 << 5
    } GdkWindowHints;

### struct GdkGeometry

    struct GdkGeometry {
      gint min_width;
      gint min_height;
      gint max_width;
      gint max_height;
      gint base_width;
      gint base_height;
      gint width_inc;
      gint height_inc;
      gdouble min_aspect;
      gdouble max_aspect;
      /* GdkGravity gravity; */
    };

### gdk_window_new ()

    GdkWindow*  gdk_window_new                  (GdkWindow *parent,
                                                 GdkWindowAttr *attributes,
                                                 gint attributes_mask);

`parent` : |
`attributes` : |
`attributes_mask` : |
Returns : |

### gdk_window_destroy ()

    void        gdk_window_destroy              (GdkWindow *window);

`window` : |

### gdk_window_ref ()

    GdkWindow*  gdk_window_ref                  (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_unref ()

    void        gdk_window_unref                (GdkWindow *window);

`window` : |

### gdk_window_at_pointer ()

    GdkWindow*  gdk_window_at_pointer           (gint *win_x,
                                                 gint *win_y);

`win_x` : |
`win_y` : |
Returns : |

### gdk_window_show ()

    void        gdk_window_show                 (GdkWindow *window);

`window` : |

### gdk_window_hide ()

    void        gdk_window_hide                 (GdkWindow *window);

`window` : |

### gdk_window_is_visible ()

    gboolean    gdk_window_is_visible           (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_is_viewable ()

    gboolean    gdk_window_is_viewable          (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_withdraw ()

    void        gdk_window_withdraw             (GdkWindow *window);

`window` : |

### gdk_window_move ()

    void        gdk_window_move                 (GdkWindow *window,
                                                 gint x,
                                                 gint y);

`window` : |
`x` : |
`y` : |

### gdk_window_resize ()

    void        gdk_window_resize               (GdkWindow *window,
                                                 gint width,
                                                 gint height);

`window` : |
`width` : |
`height` : |

### gdk_window_move_resize ()

    void        gdk_window_move_resize          (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);

`window` : |
`x` : |
`y` : |
`width` : |
`height` : |

### gdk_window_reparent ()

    void        gdk_window_reparent             (GdkWindow *window,
                                                 GdkWindow *new_parent,
                                                 gint x,
                                                 gint y);

`window` : |
`new_parent` : |
`x` : |
`y` : |

### gdk_window_clear ()

    void        gdk_window_clear                (GdkWindow *window);

`window` : |

### gdk_window_clear_area ()

    void        gdk_window_clear_area           (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);

`window` : |
`x` : |
`y` : |
`width` : |
`height` : |

### gdk_window_clear_area_e ()

    void        gdk_window_clear_area_e         (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint width,
                                                 gint height);

`window` : |
`x` : |
`y` : |
`width` : |
`height` : |

### gdk_window_copy_area ()

    void        gdk_window_copy_area            (GdkWindow *window,
                                                 GdkGC *gc,
                                                 gint x,
                                                 gint y,
                                                 GdkWindow *source_window,
                                                 gint source_x,
                                                 gint source_y,
                                                 gint width,
                                                 gint height);

`window` : |
`gc` : |
`x` : |
`y` : |
`source_window` : |
`source_x` : |
`source_y` : |
`width` : |
`height` : |

### gdk_window_raise ()

    void        gdk_window_raise                (GdkWindow *window);

`window` : |

### gdk_window_lower ()

    void        gdk_window_lower                (GdkWindow *window);

`window` : |

### gdk_window_register_dnd ()

    void        gdk_window_register_dnd         (GdkWindow *window);

`window` : |

### gdk_window_set_user_data ()

    void        gdk_window_set_user_data        (GdkWindow *window,
                                                 gpointer user_data);

`window` : |
`user_data` : |

### gdk_window_set_override_redirect ()

    void        gdk_window_set_override_redirect
                                                (GdkWindow *window,
                                                 gboolean override_redirect);

`window` : |
`override_redirect` : |

### gdk_window_add_filter ()

    void        gdk_window_add_filter           (GdkWindow *window,
                                                 GdkFilterFunc function,
                                                 gpointer data);

`window` : |
`function` : |
`data` : |

### gdk_window_remove_filter ()

    void        gdk_window_remove_filter        (GdkWindow *window,
                                                 GdkFilterFunc function,
                                                 gpointer data);

`window` : |
`function` : |
`data` : |

### GdkFilterFunc ()

    GdkFilterReturn (*GdkFilterFunc)            (GdkXEvent *xevent,
                                                 GdkEvent *event,
                                                 gpointer data);

`xevent` : |
`event` : |
`data` : |
Returns : |

### enum GdkFilterReturn

    typedef enum {
      GDK_FILTER_CONTINUE,	  /* Event not handled, continue processesing */
      GDK_FILTER_TRANSLATE,	  /* Translated event stored */
      GDK_FILTER_REMOVE	  /* Terminate processing, removing event */
    } GdkFilterReturn;

### GdkXEvent

    typedef void GdkXEvent;	  /* Can be cast to XEvent */

### gdk_window_shape_combine_mask ()

    void        gdk_window_shape_combine_mask   (GdkWindow *window,
                                                 GdkBitmap *shape_mask,
                                                 gint offset_x,
                                                 gint offset_y);

`window` : |
`shape_mask` : |
`offset_x` : |
`offset_y` : |

### gdk_window_set_child_shapes ()

    void        gdk_window_set_child_shapes     (GdkWindow *window);

`window` : |

### gdk_window_merge_child_shapes ()

    void        gdk_window_merge_child_shapes   (GdkWindow *window);

`window` : |

### gdk_window_set_static_gravities ()

    gboolean    gdk_window_set_static_gravities (GdkWindow *window,
                                                 gboolean use_static);

`window` : |
`use_static` : |
Returns : |

### gdk_window_set_hints ()

    void        gdk_window_set_hints            (GdkWindow *window,
                                                 gint x,
                                                 gint y,
                                                 gint min_width,
                                                 gint min_height,
                                                 gint max_width,
                                                 gint max_height,
                                                 gint flags);

`window` : |
`x` : |
`y` : |
`min_width` : |
`min_height` : |
`max_width` : |
`max_height` : |
`flags` : |

### gdk_window_set_title ()

    void        gdk_window_set_title            (GdkWindow *window,
                                                 const gchar *title);

`window` : |
`title` : |

### gdk_window_set_background ()

    void        gdk_window_set_background       (GdkWindow *window,
                                                 GdkColor *color);

`window` : |
`color` : |

### gdk_window_set_back_pixmap ()

    void        gdk_window_set_back_pixmap      (GdkWindow *window,
                                                 GdkPixmap *pixmap,
                                                 gint parent_relative);

`window` : |
`pixmap` : |
`parent_relative` : |

### GDK_PARENT_RELATIVE

    #define GDK_PARENT_RELATIVE  1L

### gdk_window_set_cursor ()

    void        gdk_window_set_cursor           (GdkWindow *window,
                                                 GdkCursor *cursor);

`window` : |
`cursor` : |

### gdk_window_set_colormap ()

    void        gdk_window_set_colormap         (GdkWindow *window,
                                                 GdkColormap *colormap);

`window` : |
`colormap` : |

### gdk_window_get_user_data ()

    void        gdk_window_get_user_data        (GdkWindow *window,
                                                 gpointer *data);

`window` : |
`data` : |

### gdk_window_get_geometry ()

    void        gdk_window_get_geometry         (GdkWindow *window,
                                                 gint *x,
                                                 gint *y,
                                                 gint *width,
                                                 gint *height,
                                                 gint *depth);

`window` : |
`x` : |
`y` : |
`width` : |
`height` : |
`depth` : |

### gdk_window_set_geometry_hints ()

    void        gdk_window_set_geometry_hints   (GdkWindow *window,
                                                 GdkGeometry *geometry,
                                                 GdkWindowHints flags);

`window` : |
`geometry` : |
`flags` : |

### gdk_window_get_position ()

    void        gdk_window_get_position         (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);

`window` : |
`x` : |
`y` : |

### gdk_window_get_root_origin ()

    void        gdk_window_get_root_origin      (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);

`window` : |
`x` : |
`y` : |

### gdk_window_get_size ()

    void        gdk_window_get_size             (GdkWindow *window,
                                                 gint *width,
                                                 gint *height);

`window` : |
`width` : |
`height` : |

### gdk_window_get_visual ()

    GdkVisual*  gdk_window_get_visual           (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_get_colormap ()

    GdkColormap* gdk_window_get_colormap        (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_get_type ()

    GdkWindowType gdk_window_get_type           (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_get_origin ()

    gint        gdk_window_get_origin           (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);

`window` : |
`x` : |
`y` : |
Returns : |

### gdk_window_get_deskrelative_origin ()

    gboolean    gdk_window_get_deskrelative_origin
                                                (GdkWindow *window,
                                                 gint *x,
                                                 gint *y);

`window` : |
`x` : |
`y` : |
Returns : |

### gdk_window_get_pointer ()

    GdkWindow*  gdk_window_get_pointer          (GdkWindow *window,
                                                 gint *x,
                                                 gint *y,
                                                 GdkModifierType *mask);

`window` : |
`x` : |
`y` : |
`mask` : |
Returns : |

### enum GdkModifierType

    typedef enum
    {
      GDK_SHIFT_MASK    = 1 << 0,
      GDK_LOCK_MASK	    = 1 << 1,
      GDK_CONTROL_MASK  = 1 << 2,
      GDK_MOD1_MASK	    = 1 << 3,
      GDK_MOD2_MASK	    = 1 << 4,
      GDK_MOD3_MASK	    = 1 << 5,
      GDK_MOD4_MASK	    = 1 << 6,
      GDK_MOD5_MASK	    = 1 << 7,
      GDK_BUTTON1_MASK  = 1 << 8,
      GDK_BUTTON2_MASK  = 1 << 9,
      GDK_BUTTON3_MASK  = 1 << 10,
      GDK_BUTTON4_MASK  = 1 << 11,
      GDK_BUTTON5_MASK  = 1 << 12,
      GDK_RELEASE_MASK  = 1 << 13,
      GDK_MODIFIER_MASK = 0x3fff
    } GdkModifierType;

### gdk_window_get_parent ()

    GdkWindow*  gdk_window_get_parent           (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_get_toplevel ()

    GdkWindow*  gdk_window_get_toplevel         (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_get_children ()

    GList*      gdk_window_get_children         (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_get_events ()

    GdkEventMask gdk_window_get_events          (GdkWindow *window);

`window` : |
Returns : |

### gdk_window_set_events ()

    void        gdk_window_set_events           (GdkWindow *window,
                                                 GdkEventMask event_mask);

`window` : |
`event_mask` : |

### gdk_window_set_icon ()

    void        gdk_window_set_icon             (GdkWindow *window,
                                                 GdkWindow *icon_window,
                                                 GdkPixmap *pixmap,
                                                 GdkBitmap *mask);

`window` : |
`icon_window` : |
`pixmap` : |
`mask` : |

### gdk_window_set_icon_name ()

    void        gdk_window_set_icon_name        (GdkWindow *window,
                                                 gchar *name);

`window` : |
`name` : |

### gdk_window_set_transient_for ()

    void        gdk_window_set_transient_for    (GdkWindow *window,
                                                 GdkWindow *leader);

`window` : |
`leader` : |

### gdk_window_set_role ()

    void        gdk_window_set_role             (GdkWindow *window,
                                                 const gchar *role);

`window` : |
`role` : |

### gdk_window_set_group ()

    void        gdk_window_set_group            (GdkWindow *window,
                                                 GdkWindow *leader);

`window` : |
`leader` : |

### gdk_window_set_decorations ()

    void        gdk_window_set_decorations      (GdkWindow *window,
                                                 GdkWMDecoration decorations);

`window` : |
`decorations` : |

### enum GdkWMDecoration

    typedef enum
    {
      GDK_DECOR_ALL		= 1 << 0,
      GDK_DECOR_BORDER	= 1 << 1,
      GDK_DECOR_RESIZEH	= 1 << 2,
      GDK_DECOR_TITLE	= 1 << 3,
      GDK_DECOR_MENU	= 1 << 4,
      GDK_DECOR_MINIMIZE	= 1 << 5,
      GDK_DECOR_MAXIMIZE	= 1 << 6
    } GdkWMDecoration;

### gdk_window_set_functions ()

    void        gdk_window_set_functions        (GdkWindow *window,
                                                 GdkWMFunction functions);

`window` : |
`functions` : |

### enum GdkWMFunction

    typedef enum
    {
      GDK_FUNC_ALL		= 1 << 0,
      GDK_FUNC_RESIZE	= 1 << 1,
      GDK_FUNC_MOVE		= 1 << 2,
      GDK_FUNC_MINIMIZE	= 1 << 3,
      GDK_FUNC_MAXIMIZE	= 1 << 4,
      GDK_FUNC_CLOSE	= 1 << 5
    } GdkWMFunction;

### gdk_window_get_toplevels ()

    GList*      gdk_window_get_toplevels        (void);

Returns : |

### struct GdkDrawable

    struct GdkDrawable
    {
      gpointer user_data;
    };

### gdk_drawable_set_data ()

    void        gdk_drawable_set_data           (GdkDrawable *drawable,
                                                 const gchar *key,
                                                 gpointer data,
                                                 GDestroyNotify destroy_func);

`drawable` : |
`key` : |
`data` : |
`destroy_func` : |

<<< Previous Page | Home | Up | Next Page >>>
Cursors | Events