]> Pileus Git - ~andy/gtk/blobdiff - gdk/win32/gdkwin32.h
Change FSF Address
[~andy/gtk] / gdk / win32 / gdkwin32.h
index 14c91baa4671abef677090f01e90b741e00e832b..cf3f89c2b5adece9923e04ca8e0b0e81be89868a 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
  */
 
 /*
 #ifndef __GDK_WIN32_H__
 #define __GDK_WIN32_H__
 
+#define __GDKWIN32_H_INSIDE__
+
+#include <gdk/win32/gdkwin32cursor.h>
+#include <gdk/win32/gdkwin32display.h>
+#include <gdk/win32/gdkwin32displaymanager.h>
+#include <gdk/win32/gdkwin32dnd.h>
+#include <gdk/win32/gdkwin32keys.h>
+#include <gdk/win32/gdkwin32screen.h>
+#include <gdk/win32/gdkwin32window.h>
+
+#undef __GDKWIN32_H_INSIDE__
+
 #include <gdk/gdkprivate.h>
-#include <gdk/gdkcursor.h>
 
 #ifndef STRICT
 #define STRICT                 /* We want strict type checks */
@@ -42,48 +51,55 @@ 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,
                                               gint        n_targets,
                                               GdkAtom    *targets);
 
+/* For internal GTK use only */
+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__ */