* 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"
-G_BEGIN_DECLS
-
-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 */
- guint big : 1;
- guint mapped : 1;
- guint 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;
gint8 toplevel_window_type;
gint hint_flags;
GdkGeometry hints;
- GdkWindowTypeHint type_hint;
+ GdkEventMask native_event_mask;
- gboolean extension_events_selected;
+ GdkWindowTypeHint type_hint;
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);
+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__ */