* Library General Public License for more details.
*
* You should have received a copy of the GNU Library 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/>.
*/
/*
#ifndef __GDK_WINDOW_WIN32_H__
#define __GDK_WINDOW_WIN32_H__
-#include <gdk/win32/gdkdrawable-win32.h>
+#include "gdk/win32/gdkprivate-win32.h"
+#include "gdk/gdkwindowimpl.h"
+#include "gdk/gdkcursor.h"
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-typedef struct _GdkWin32PositionInfo GdkWin32PositionInfo;
-
-struct _GdkWin32PositionInfo
-{
- gint x;
- gint y;
- gint width;
- gint height;
- gint x_offset; /* Offsets to add to Win32 coordinates */
- gint y_offset; /* within window to get GDK coodinates */
- gboolean big : 1;
- gboolean mapped : 1;
- gboolean no_bg : 1; /* Set when the window background
- * is temporarily unset during resizing
- * and scaling
- */
- GdkRectangle clip_rect; /* visible rectangle of window */
-};
+#include <windows.h>
+G_BEGIN_DECLS
/* Window implementation for Win32
*/
struct _GdkWindowImplWin32
{
- GdkDrawableImplWin32 parent_instance;
+ GdkWindowImpl parent_instance;
- gint width;
- gint height;
-
- GdkWin32PositionInfo position_info;
+ GdkWindow *wrapper;
+ HANDLE handle;
- /* We must keep the event mask here to filter them ourselves */
- gint event_mask;
+ gint8 toplevel_window_type;
HCURSOR hcursor;
+ HICON hicon_big;
+ HICON hicon_small;
/* Window size hints */
gint hint_flags;
- gint hint_x, hint_y;
- gint hint_min_width, hint_min_height;
- gint hint_max_width, hint_max_height;
+ GdkGeometry hints;
+
+ GdkEventMask native_event_mask;
+
+ GdkWindowTypeHint type_hint;
- gboolean extension_events_selected;
+ GdkWindow *transient_owner;
+ GSList *transient_children;
+ gint num_transients;
+ gboolean changing_state;
+
+ gint initial_x;
+ gint initial_y;
+
+ guint no_bg : 1;
+ guint inhibit_configure : 1;
+ guint override_redirect : 1;
+
+ cairo_surface_t *cairo_surface;
+ HDC hdc;
+ int hdc_count;
+ HBITMAP saved_dc_bitmap; /* Original bitmap for dc */
};
struct _GdkWindowImplWin32Class
{
- GdkDrawableImplWin32Class parent_class;
-
+ GdkWindowImplClass parent_class;
};
GType _gdk_window_impl_win32_get_type (void);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+void _gdk_win32_window_tmp_unset_bg (GdkWindow *window,
+ gboolean recurse);
+void _gdk_win32_window_tmp_reset_bg (GdkWindow *window,
+ gboolean recurse);
+
+void _gdk_win32_window_tmp_unset_parent_bg (GdkWindow *window);
+void _gdk_win32_window_tmp_reset_parent_bg (GdkWindow *window);
+
+G_END_DECLS
#endif /* __GDK_WINDOW_WIN32_H__ */