X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fwin32%2Fgdkwin32.h;h=cf3f89c2b5adece9923e04ca8e0b0e81be89868a;hb=9d0febc9a64a5bfb0fcfc3a88de4757f6c1ff090;hp=06ff05596c44664a557e252a6ab62682f8fafd18;hpb=db58254c5ce8a11c94df356b7bf7947f389bcbb6;p=~andy%2Fgtk
diff --git a/gdk/win32/gdkwin32.h b/gdk/win32/gdkwin32.h
index 06ff05596..cf3f89c2b 100644
--- a/gdk/win32/gdkwin32.h
+++ b/gdk/win32/gdkwin32.h
@@ -12,9 +12,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser 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 .
*/
/*
@@ -27,8 +25,19 @@
#ifndef __GDK_WIN32_H__
#define __GDK_WIN32_H__
+#define __GDKWIN32_H_INSIDE__
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#undef __GDKWIN32_H_INSIDE__
+
#include
-#include
#ifndef STRICT
#define STRICT /* We want strict type checks */
@@ -42,42 +51,39 @@ G_BEGIN_DECLS
#include "gdkprivate-win32.h"
-#undef GDK_ROOT_PARENT /* internal access is direct */
-#define GDK_ROOT_PARENT() ((GdkWindow *) _gdk_parent_root)
-#define GDK_WINDOW_HWND(win) (GDK_DRAWABLE_IMPL_WIN32(((GdkWindowObject *)win)->impl)->handle)
-#define GDK_PIXMAP_HBITMAP(pixmap) (GDK_DRAWABLE_IMPL_WIN32(((GdkPixmapObject *)pixmap)->impl)->handle)
-#define GDK_DRAWABLE_IMPL_WIN32_HANDLE(d) (((GdkDrawableImplWin32 *) d)->handle)
-#define GDK_DRAWABLE_HANDLE(win) (GDK_IS_WINDOW (win) ? GDK_WINDOW_HWND (win) : (GDK_IS_PIXMAP (win) ? GDK_PIXMAP_HBITMAP (win) : (GDK_IS_DRAWABLE_IMPL_WIN32 (win) ? GDK_DRAWABLE_IMPL_WIN32_HANDLE (win) : 0)))
+#define GDK_WINDOW_HWND(win) (GDK_WINDOW_IMPL_WIN32(win->impl)->handle)
#else
/* definition for exported 'internals' go here */
-#define GDK_WINDOW_HWND(d) (gdk_win32_drawable_get_handle (d))
+#define GDK_WINDOW_HWND(d) (gdk_win32_window_get_handle (d))
#endif
-#define GDK_ROOT_WINDOW() ((guint32) HWND_DESKTOP)
-#define GDK_DISPLAY() NULL
-
-/* Return the Gdk* for a particular HANDLE */
-gpointer gdk_win32_handle_table_lookup (GdkNativeWindow handle);
+/* These need to be here so gtkstatusicon.c can pick them up if needed. */
+#ifndef WM_XBUTTONDOWN
+#define WM_XBUTTONDOWN 0x020B
+#endif
+#ifndef WM_XBUTTONUP
+#define WM_XBUTTONUP 0x020C
+#endif
+#ifndef GET_XBUTTON_WPARAM
+#define GET_XBUTTON_WPARAM(w) (HIWORD(w))
+#endif
+#ifndef XBUTTON1
+#define XBUTTON1 1
+#endif
+#ifndef XBUTTON2
+#define XBUTTON2 2
+#endif
-/* Translate from drawable to Windows handle */
-HGDIOBJ gdk_win32_drawable_get_handle (GdkDrawable *drawable);
-/* Return a device context to draw in a drawable, given a GDK GC,
- * and a mask indicating which GC values might be used (for efficiency,
- * no need to muck around with text-related stuff if we aren't going
- * to output text, for instance).
- */
-HDC gdk_win32_hdc_get (GdkDrawable *drawable,
- GdkGC *gc,
- GdkGCValuesMask usage);
+/* Return true if the GdkWindow is a win32 implemented window */
+gboolean gdk_win32_window_is_win32 (GdkWindow *window);
+HWND gdk_win32_window_get_impl_hwnd (GdkWindow *window);
-/* Each HDC returned from gdk_win32_hdc_get must be released with
- * this function
- */
-void gdk_win32_hdc_release (GdkDrawable *drawable,
- GdkGC *gc,
- GdkGCValuesMask usage);
+/* Return the Gdk* for a particular HANDLE */
+gpointer gdk_win32_handle_table_lookup (HWND handle);
+/* Translate from window to Windows handle */
+HGDIOBJ gdk_win32_window_get_handle (GdkWindow *window);
void gdk_win32_selection_add_targets (GdkWindow *owner,
GdkAtom selection,
@@ -89,6 +95,11 @@ GdkPixbuf *gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon);
HICON gdk_win32_pixbuf_to_hicon_libgtk_only (GdkPixbuf *pixbuf);
void gdk_win32_set_modal_dialog_libgtk_only (HWND window);
+GdkWindow * gdk_win32_window_foreign_new_for_display (GdkDisplay *display,
+ HWND anid);
+GdkWindow * gdk_win32_window_lookup_for_display (GdkDisplay *display,
+ HWND anid);
+
G_END_DECLS
#endif /* __GDK_WIN32_H__ */