]> Pileus Git - ~andy/gtk/blobdiff - gdk/win32/gdkwindow-win32.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gdk / win32 / gdkwindow-win32.h
index 8583ab35f37e0e6c04911e20781afc4762926d5a..b4960cbfe3e6726c1456b97a0652cb68097187a6 100644 (file)
@@ -12,9 +12,7 @@
  * 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
  */
@@ -66,12 +48,10 @@ typedef struct _GdkWindowImplWin32Class GdkWindowImplWin32Class;
 
 struct _GdkWindowImplWin32
 {
-  GdkDrawableImplWin32 parent_instance;
+  GdkWindowImpl parent_instance;
 
-  gint width;
-  gint height;
-  
-  GdkWin32PositionInfo position_info;
+  GdkWindow *wrapper;
+  HANDLE handle;
 
   gint8 toplevel_window_type;
 
@@ -83,24 +63,43 @@ struct _GdkWindowImplWin32
   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__ */