]> Pileus Git - ~andy/gtk/blob - gdk/win32/gdkwindow-win32.h
gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32) Store the type
[~andy/gtk] / gdk / win32 / gdkwindow-win32.h
1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 /*
21  * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
22  * file for a list of people on the GTK+ Team.  See the ChangeLog
23  * files for a list of changes.  These files are distributed with
24  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
25  */
26
27 #ifndef __GDK_WINDOW_WIN32_H__
28 #define __GDK_WINDOW_WIN32_H__
29
30 #include <gdk/win32/gdkdrawable-win32.h>
31
32 G_BEGIN_DECLS
33
34 typedef struct _GdkWin32PositionInfo    GdkWin32PositionInfo;
35
36 struct _GdkWin32PositionInfo
37 {
38   gint x;
39   gint y;
40   gint width;
41   gint height;
42   gint x_offset;                /* Offsets to add to Win32 coordinates */
43   gint y_offset;                /* within window to get GDK coodinates */
44   guint big : 1;
45   guint mapped : 1;
46   guint no_bg : 1;              /* Set when the window background
47                                  * is temporarily unset during resizing
48                                  * and scaling
49                                  */
50   GdkRectangle clip_rect;       /* visible rectangle of window */
51 };
52
53
54 /* Window implementation for Win32
55  */
56
57 typedef struct _GdkWindowImplWin32 GdkWindowImplWin32;
58 typedef struct _GdkWindowImplWin32Class GdkWindowImplWin32Class;
59
60 #define GDK_TYPE_WINDOW_IMPL_WIN32              (_gdk_window_impl_win32_get_type ())
61 #define GDK_WINDOW_IMPL_WIN32(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WINDOW_IMPL_WIN32, GdkWindowImplWin32))
62 #define GDK_WINDOW_IMPL_WIN32_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WINDOW_IMPL_WIN32, GdkWindowImplWin32Class))
63 #define GDK_IS_WINDOW_IMPL_WIN32(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WINDOW_IMPL_WIN32))
64 #define GDK_IS_WINDOW_IMPL_WIN32_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WINDOW_IMPL_WIN32))
65 #define GDK_WINDOW_IMPL_WIN32_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WINDOW_IMPL_WIN32, GdkWindowImplWin32Class))
66
67 struct _GdkWindowImplWin32
68 {
69   GdkDrawableImplWin32 parent_instance;
70
71   gint width;
72   gint height;
73   
74   GdkWin32PositionInfo position_info;
75
76   gint8 toplevel_window_type;
77
78   HCURSOR hcursor;
79   HICON   hicon_big;
80   HICON   hicon_small;
81
82   /* Window size hints */
83   gint hint_flags;
84   GdkGeometry hints;
85
86   GdkWindowTypeHint type_hint;
87
88   gboolean extension_events_selected;
89 };
90  
91 struct _GdkWindowImplWin32Class 
92 {
93   GdkDrawableImplWin32Class parent_class;
94
95 };
96
97 GType _gdk_window_impl_win32_get_type (void);
98
99 G_END_DECLS
100
101 #endif /* __GDK_WINDOW_WIN32_H__ */