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__ */