mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
Generate gtk/makefile.mingw.
2000-07-25 Tor Lillqvist <tml@iki.fi> * configure.in: Generate gtk/makefile.mingw. * config.h.win32: Add GETTEXT_PACKAGE. * gdk/gdk.def * gtk/gtk.def: Updates. * gdk/gdkfont.h * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't need them any longer. * gdk/gdkinput.h: Mark gdk_core_pointer for export/import. * gdk/win32/*.c: More work. * gdk/win32/gdkpango-win32.c: New file. * gtk/makefile.mingw.in: New file * gtk/makefile.cygwin: Removed * gtk/Makefile.am: Update accordingly. * gtk/gtkmain.c: Use gtk_win32_get_installation_directory(). * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h is enough. * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
This commit is contained in:
parent
5ac61d3eee
commit
20e675e1a3
27
ChangeLog
27
ChangeLog
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -2,13 +2,21 @@
|
||||
|
||||
* Makefile.am: Include the build directory.
|
||||
|
||||
* configure.in: Generate build/Makefile and build/win32/Makefile.
|
||||
* configure.in: Generate build/Makefile, build/win32/Makefile
|
||||
and gtk/makefile.mingw.
|
||||
|
||||
* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
|
||||
|
||||
Add GETTEXT_PACKAGE.
|
||||
|
||||
* gdk/gdk.def
|
||||
* gtk/gtk.def: Updates.
|
||||
|
||||
* gdk/gdkfont.h
|
||||
* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
|
||||
need them any longer.
|
||||
|
||||
* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
|
||||
|
||||
* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
|
||||
PANGOWIN32_LIBS and gdk_pixbuf.
|
||||
|
||||
@ -22,9 +30,24 @@
|
||||
|
||||
* gdk/win32/gdkinputprivate.h: Remove.
|
||||
|
||||
* gdk/win32/gdkpango-win32.c: New file.
|
||||
|
||||
* gtk/makefile.mingw.in: New file
|
||||
|
||||
* gtk/makefile.cygwin: Removed
|
||||
|
||||
* gtk/Makefile.am: Update accordingly.
|
||||
|
||||
* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
|
||||
made externally visible.
|
||||
|
||||
* gtk/gtkmain.c: Use it.
|
||||
|
||||
* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
|
||||
is enough.
|
||||
|
||||
* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
|
||||
|
||||
2000-07-24 Elliot Lee <sopwith@redhat.com>
|
||||
* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
|
||||
individual backends already.
|
||||
|
@ -195,3 +195,5 @@
|
||||
#define USE_MMX 1
|
||||
|
||||
/* #undef HAVE_SIGSETJMP */
|
||||
|
||||
#define GETTEXT_PACKAGE "gtk20"
|
||||
|
21
gdk/gdk.def
21
gdk/gdk.def
@ -42,6 +42,7 @@ EXPORTS
|
||||
gdk_colors_alloc
|
||||
gdk_colors_free
|
||||
gdk_colors_store
|
||||
gdk_core_pointer
|
||||
gdk_cursor_new
|
||||
gdk_cursor_new_from_pixmap
|
||||
gdk_cursor_ref
|
||||
@ -54,6 +55,7 @@ EXPORTS
|
||||
gdk_dnd_init
|
||||
gdk_drag_abort
|
||||
gdk_drag_begin
|
||||
gdk_drag_context_get_type
|
||||
gdk_drag_context_new
|
||||
gdk_drag_context_ref
|
||||
gdk_drag_context_unref
|
||||
@ -65,9 +67,12 @@ EXPORTS
|
||||
gdk_drag_status
|
||||
gdk_draw_arc
|
||||
gdk_draw_drawable
|
||||
gdk_draw_glyphs
|
||||
gdk_draw_gray_image
|
||||
gdk_draw_image
|
||||
gdk_draw_indexed_image
|
||||
gdk_draw_layout
|
||||
gdk_draw_layout_line
|
||||
gdk_draw_line
|
||||
gdk_draw_lines
|
||||
gdk_draw_point
|
||||
@ -86,6 +91,7 @@ EXPORTS
|
||||
gdk_drawable_get_size
|
||||
gdk_drawable_get_type
|
||||
gdk_drawable_get_visual
|
||||
gdk_drawable_impl_win32_get_type
|
||||
gdk_drawable_ref
|
||||
gdk_drawable_set_colormap
|
||||
gdk_drawable_set_data
|
||||
@ -118,11 +124,10 @@ EXPORTS
|
||||
gdk_exit
|
||||
gdk_flush
|
||||
gdk_font_equal
|
||||
gdk_font_from_description
|
||||
gdk_font_full_name_free
|
||||
gdk_font_full_name_get
|
||||
gdk_font_id
|
||||
gdk_font_list_free
|
||||
gdk_font_list_new
|
||||
gdk_font_load
|
||||
gdk_font_ref
|
||||
gdk_font_unref
|
||||
@ -135,6 +140,7 @@ EXPORTS
|
||||
gdk_gc_new_with_values
|
||||
gdk_gc_ref
|
||||
gdk_gc_set_background
|
||||
gdk_gc_set_colormap
|
||||
gdk_gc_set_clip_mask
|
||||
gdk_gc_set_clip_origin
|
||||
gdk_gc_set_clip_rectangle
|
||||
@ -187,15 +193,19 @@ EXPORTS
|
||||
gdk_key_repeat_restore
|
||||
gdk_keyboard_grab
|
||||
gdk_keyboard_ungrab
|
||||
gdk_keyval_convert_case
|
||||
gdk_keyval_from_name
|
||||
gdk_keyval_is_lower
|
||||
gdk_keyval_is_upper
|
||||
gdk_keyval_name
|
||||
gdk_keyval_to_lower
|
||||
gdk_keyval_to_unicode
|
||||
gdk_keyval_to_upper
|
||||
gdk_list_visuals
|
||||
gdk_mbstowcs
|
||||
gdk_null_window_warnings
|
||||
gdk_pango_context_get
|
||||
gdk_pango_context_set_colormap
|
||||
gdk_parent_root
|
||||
gdk_pixmap_colormap_create_from_xpm
|
||||
gdk_pixmap_colormap_create_from_xpm_d
|
||||
@ -203,6 +213,7 @@ EXPORTS
|
||||
gdk_pixmap_create_from_xpm
|
||||
gdk_pixmap_create_from_xpm_d
|
||||
gdk_pixmap_foreign_new
|
||||
gdk_pixmap_get_type
|
||||
gdk_pixmap_new
|
||||
gdk_pointer_grab
|
||||
gdk_pointer_is_grabbed
|
||||
@ -225,6 +236,7 @@ EXPORTS
|
||||
gdk_region_point_in
|
||||
gdk_region_polygon
|
||||
gdk_region_rect_in
|
||||
gdk_region_rectangle
|
||||
gdk_region_shrink
|
||||
gdk_region_subtract
|
||||
gdk_region_union
|
||||
@ -272,6 +284,7 @@ EXPORTS
|
||||
gdk_threads_enter
|
||||
gdk_threads_leave
|
||||
gdk_threads_mutex
|
||||
gdk_unicode_to_keyval
|
||||
gdk_visual_get_best
|
||||
gdk_visual_get_best_depth
|
||||
gdk_visual_get_best_type
|
||||
@ -308,6 +321,7 @@ EXPORTS
|
||||
gdk_window_get_user_data
|
||||
gdk_window_hide
|
||||
gdk_window_invalidate_rect
|
||||
gdk_window_invalidate_region
|
||||
gdk_window_is_viewable
|
||||
gdk_window_is_visible
|
||||
gdk_window_lower
|
||||
@ -315,6 +329,8 @@ EXPORTS
|
||||
gdk_window_move
|
||||
gdk_window_move_resize
|
||||
gdk_window_new
|
||||
gdk_window_object_get_type
|
||||
gdk_window_peek_children
|
||||
gdk_window_process_all_updates
|
||||
gdk_window_process_updates
|
||||
gdk_window_raise
|
||||
@ -322,6 +338,7 @@ EXPORTS
|
||||
gdk_window_remove_filter
|
||||
gdk_window_reparent
|
||||
gdk_window_resize
|
||||
gdk_window_scroll
|
||||
gdk_window_set_back_pixmap
|
||||
gdk_window_set_background
|
||||
gdk_window_set_child_shapes
|
||||
|
@ -25,13 +25,6 @@ struct _GdkFont
|
||||
gint descent;
|
||||
};
|
||||
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
/* Temporary functions, will be replaced by something else for all backends
|
||||
* eventually. Don't use!
|
||||
*/
|
||||
gchar** gdk_font_list_new (const gchar *font_pattern, gint *n_returned);
|
||||
void gdk_font_list_free (gchar **font_list);
|
||||
#endif
|
||||
GdkFont* gdk_font_load (const gchar *font_name);
|
||||
GdkFont* gdk_fontset_load (const gchar *fontset_name);
|
||||
|
||||
|
@ -125,7 +125,7 @@ void gdk_input_set_extension_events (GdkWindow *window,
|
||||
gint mask,
|
||||
GdkExtensionMode mode);
|
||||
|
||||
extern GdkDevice *gdk_core_pointer;
|
||||
GDKVAR GdkDevice *gdk_core_pointer;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -42,15 +42,6 @@ GdkPixmap* gdk_pixmap_new (GdkWindow *window,
|
||||
gint width,
|
||||
gint height,
|
||||
gint depth);
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
GdkPixmap* gdk_pixmap_create_on_shared_image
|
||||
(GdkImage **image_return,
|
||||
GdkWindow *window,
|
||||
GdkVisual *visual,
|
||||
gint width,
|
||||
gint height,
|
||||
gint depth);
|
||||
#endif
|
||||
GdkBitmap* gdk_bitmap_create_from_data (GdkWindow *window,
|
||||
const gchar *data,
|
||||
gint width,
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "gdkproperty.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkdrawable-win32.h"
|
||||
|
||||
#ifdef OLE2_DND
|
||||
#include <ole2.h>
|
||||
@ -50,7 +49,7 @@
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
|
||||
typedef struct _GdkDragContextPrivate GdkDragContextPrivate;
|
||||
typedef struct _GdkDragContextPrivateWin32 GdkDragContextPrivateWin32;
|
||||
|
||||
typedef enum {
|
||||
GDK_DRAG_STATUS_DRAG,
|
||||
@ -89,10 +88,8 @@ static int nformats;
|
||||
/* Structure that holds information about a drag in progress.
|
||||
* this is used on both source and destination sides.
|
||||
*/
|
||||
struct _GdkDragContextPrivate {
|
||||
GdkDragContext context;
|
||||
|
||||
guint ref_count;
|
||||
struct _GdkDragContextPrivateWin32 {
|
||||
gint ref_count;
|
||||
|
||||
guint16 last_x; /* Coordinates from last event */
|
||||
guint16 last_y;
|
||||
@ -100,65 +97,111 @@ struct _GdkDragContextPrivate {
|
||||
guint drag_status; /* Current status of drag */
|
||||
};
|
||||
|
||||
#define PRIVATE_DATA(context) ((GdkDragContextPrivateWin32 *) GDK_DRAG_CONTEXT (context)->windowing_data)
|
||||
|
||||
GdkDragContext *current_dest_drag = NULL;
|
||||
|
||||
/* Drag Contexts */
|
||||
static void gdk_drag_context_init (GdkDragContext *dragcontext);
|
||||
static void gdk_drag_context_class_init (GdkDragContextClass *klass);
|
||||
static void gdk_drag_context_finalize (GObject *object);
|
||||
|
||||
static gpointer parent_class = NULL;
|
||||
static GList *contexts;
|
||||
|
||||
GType
|
||||
gdk_drag_context_get_type (void)
|
||||
{
|
||||
static GType object_type = 0;
|
||||
|
||||
if (!object_type)
|
||||
{
|
||||
static const GTypeInfo object_info =
|
||||
{
|
||||
sizeof (GdkDragContextClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) gdk_drag_context_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (GdkDragContext),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) gdk_drag_context_init,
|
||||
};
|
||||
|
||||
object_type = g_type_register_static (G_TYPE_OBJECT,
|
||||
"GdkDragContext",
|
||||
&object_info);
|
||||
}
|
||||
|
||||
return object_type;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_drag_context_init (GdkDragContext *dragcontext)
|
||||
{
|
||||
GdkDragContextPrivateWin32 *private = g_new0 (GdkDragContextPrivateWin32, 1);
|
||||
|
||||
dragcontext->windowing_data = private;
|
||||
private->ref_count = 1;
|
||||
|
||||
contexts = g_list_prepend (contexts, dragcontext);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_drag_context_class_init (GdkDragContextClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
object_class->finalize = gdk_drag_context_finalize;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_drag_context_finalize (GObject *object)
|
||||
{
|
||||
GdkDragContext *context = GDK_DRAG_CONTEXT (object);
|
||||
GdkDragContextPrivateWin32 *private = PRIVATE_DATA (context);
|
||||
|
||||
g_list_free (context->targets);
|
||||
|
||||
if (context->source_window)
|
||||
{
|
||||
gdk_window_unref (context->source_window);
|
||||
}
|
||||
|
||||
if (context->dest_window)
|
||||
gdk_window_unref (context->dest_window);
|
||||
|
||||
contexts = g_list_remove (contexts, context);
|
||||
|
||||
g_free (private);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
/* Drag Contexts */
|
||||
|
||||
GdkDragContext *
|
||||
gdk_drag_context_new (void)
|
||||
{
|
||||
GdkDragContextPrivate *result;
|
||||
|
||||
result = g_new0 (GdkDragContextPrivate, 1);
|
||||
|
||||
result->ref_count = 1;
|
||||
|
||||
contexts = g_list_prepend (contexts, result);
|
||||
|
||||
return (GdkDragContext *) result;
|
||||
return g_object_new (gdk_drag_context_get_type (), NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gdk_drag_context_ref (GdkDragContext *context)
|
||||
{
|
||||
g_return_if_fail (context != NULL);
|
||||
g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
|
||||
|
||||
((GdkDragContextPrivate *)context)->ref_count++;
|
||||
g_object_ref (G_OBJECT (context));
|
||||
}
|
||||
|
||||
void
|
||||
gdk_drag_context_unref (GdkDragContext *context)
|
||||
{
|
||||
GdkDragContextPrivate *private = (GdkDragContextPrivate *)context;
|
||||
|
||||
g_return_if_fail (context != NULL);
|
||||
g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
|
||||
|
||||
if (private->ref_count <= 0)
|
||||
abort ();
|
||||
|
||||
private->ref_count--;
|
||||
|
||||
GDK_NOTE (DND, g_print ("gdk_drag_context_unref: %d%s\n",
|
||||
private->ref_count,
|
||||
(private->ref_count == 0 ? " freeing" : "")));
|
||||
|
||||
if (private->ref_count == 0)
|
||||
{
|
||||
g_dataset_destroy (private);
|
||||
|
||||
g_list_free (context->targets);
|
||||
|
||||
if (context->source_window)
|
||||
gdk_drawable_unref (context->source_window);
|
||||
|
||||
if (context->dest_window)
|
||||
gdk_drawable_unref (context->dest_window);
|
||||
|
||||
contexts = g_list_remove (contexts, private);
|
||||
g_free (private);
|
||||
}
|
||||
g_object_unref (G_OBJECT (context));
|
||||
}
|
||||
|
||||
#if 0
|
||||
@ -223,13 +266,13 @@ static ULONG STDMETHODCALLTYPE
|
||||
idroptarget_addref (LPDROPTARGET This)
|
||||
{
|
||||
target_drag_context *ctx = (target_drag_context *) This;
|
||||
GdkDragContextPrivate *private = (GdkDragContextPrivate *) ctx->context;
|
||||
GdkDragContextPrivateWin32 *private = PRIVATE_DATA (ctx->context);
|
||||
int ref_count = ++private->ref_count;
|
||||
|
||||
gdk_drag_context_ref (ctx->context);
|
||||
GDK_NOTE (DND, g_print ("idroptarget_addref %#x %d\n",
|
||||
This, private->ref_count));
|
||||
GDK_NOTE (DND, g_print ("idroptarget_addref %#x %d\n", This, ref_count));
|
||||
|
||||
return private->ref_count;
|
||||
return ref_count;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE
|
||||
@ -268,12 +311,11 @@ static ULONG STDMETHODCALLTYPE
|
||||
idroptarget_release (LPDROPTARGET This)
|
||||
{
|
||||
target_drag_context *ctx = (target_drag_context *) This;
|
||||
GdkDragContextPrivate *private = (GdkDragContextPrivate *) ctx->context;
|
||||
int ref_count = private->ref_count - 1;
|
||||
GdkDragContextPrivateWin32 *private = PRIVATE_DATA (ctx->context);
|
||||
int ref_count = --private->ref_count;
|
||||
|
||||
gdk_drag_context_unref (ctx->context);
|
||||
GDK_NOTE (DND, g_print ("idroptarget_release %#x %d\n",
|
||||
This, ref_count));
|
||||
GDK_NOTE (DND, g_print ("idroptarget_release %#x %d\n", This, ref_count));
|
||||
|
||||
if (ref_count == 0)
|
||||
g_free (This);
|
||||
@ -328,7 +370,7 @@ static ULONG STDMETHODCALLTYPE
|
||||
idropsource_addref (LPDROPSOURCE This)
|
||||
{
|
||||
source_drag_context *ctx = (source_drag_context *) This;
|
||||
GdkDragContextPrivate *private = (GdkDragContextPrivate *) ctx->context;
|
||||
GdkDragContextPrivateWin32 *private = PRIVATE_DATA (ctx->context);
|
||||
|
||||
gdk_drag_context_ref (ctx->context);
|
||||
GDK_NOTE (DND, g_print ("idropsource_addref %#x %d\n",
|
||||
@ -372,12 +414,11 @@ static ULONG STDMETHODCALLTYPE
|
||||
idropsource_release (LPDROPSOURCE This)
|
||||
{
|
||||
source_drag_context *ctx = (source_drag_context *) This;
|
||||
GdkDragContextPrivate *private = (GdkDragContextPrivate *) ctx->context;
|
||||
int ref_count = private->ref_count - 1;
|
||||
GdkDragContextPrivateWin32 *private = PRIVATE_DATA (ctx->context);
|
||||
int ref_count = --private->ref_count;
|
||||
|
||||
gdk_drag_context_unref (ctx->context);
|
||||
GDK_NOTE (DND, g_print ("idropsource_release %#x %d\n",
|
||||
This, ref_count));
|
||||
GDK_NOTE (DND, g_print ("idropsource_release %#x %d\n", This, ref_count));
|
||||
|
||||
if (ref_count == 0)
|
||||
g_free (This);
|
||||
@ -904,7 +945,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
|
||||
gpointer data)
|
||||
{
|
||||
GdkDragContext *context;
|
||||
GdkDragContextPrivate *private;
|
||||
GdkDragContextPrivateWin32 *private;
|
||||
static GdkAtom text_uri_list_atom = GDK_NONE;
|
||||
GString *result;
|
||||
MSG *msg = (MSG *) xev;
|
||||
@ -921,7 +962,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
|
||||
GDK_NOTE (DND, g_print ("WM_DROPFILES: %#x\n", msg->hwnd));
|
||||
|
||||
context = gdk_drag_context_new ();
|
||||
private = (GdkDragContextPrivate *) context;
|
||||
private = PRIVATE_DATA (context);
|
||||
context->protocol = GDK_DRAG_PROTO_WIN32_DROPFILES;
|
||||
context->is_source = FALSE;
|
||||
context->source_window = gdk_parent_root;
|
||||
@ -1108,7 +1149,7 @@ gdk_drag_find_window (GdkDragContext *context,
|
||||
GdkWindow **dest_window,
|
||||
GdkDragProtocol *protocol)
|
||||
{
|
||||
GdkDragContextPrivate *private = (GdkDragContextPrivate *)context;
|
||||
GdkDragContextPrivateWin32 *private = PRIVATE_DATA (context);
|
||||
HWND recipient;
|
||||
POINT pt;
|
||||
|
||||
|
@ -31,8 +31,6 @@
|
||||
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkdrawable-win32.h"
|
||||
#include "gdkpixmap-win32.h"
|
||||
|
||||
static void gdk_win32_draw_rectangle (GdkDrawable *drawable,
|
||||
GdkGC *gc,
|
||||
|
@ -51,9 +51,6 @@
|
||||
|
||||
#include "gdk.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkdrawable-win32.h"
|
||||
#include "gdkwindow-win32.h"
|
||||
#include "gdkpixmap-win32.h"
|
||||
#include "gdkinput-win32.h"
|
||||
|
||||
#include "gdkkeysyms.h"
|
||||
@ -1366,7 +1363,7 @@ gdk_event_translate (GdkEvent *event,
|
||||
GdkWindowImplWin32 *window_impl;
|
||||
#define ASSIGN_WINDOW(rhs) \
|
||||
(window = rhs, \
|
||||
window_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl))
|
||||
window_impl = (window ? GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl) : NULL))
|
||||
|
||||
GdkWindow *orig_window, *new_window;
|
||||
GdkColormapPrivateWin32 *colormap_private;
|
||||
@ -1387,15 +1384,13 @@ gdk_event_translate (GdkEvent *event,
|
||||
if (ret_val_flagp)
|
||||
*ret_val_flagp = FALSE;
|
||||
|
||||
ASSIGN_WINDOW (gdk_win32_handle_table_lookup (msg->hwnd));
|
||||
ASSIGN_WINDOW (gdk_win32_handle_table_lookup ((GdkNativeWindow) msg->hwnd));
|
||||
orig_window = window;
|
||||
|
||||
event->any.window = window;
|
||||
event->any.send_event = FALSE;
|
||||
|
||||
if (window != NULL)
|
||||
gdk_drawable_ref (window);
|
||||
else
|
||||
if (window == NULL)
|
||||
{
|
||||
/* Handle WM_QUIT here ? */
|
||||
if (msg->message == WM_QUIT)
|
||||
@ -1423,6 +1418,8 @@ gdk_event_translate (GdkEvent *event,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gdk_drawable_ref (window);
|
||||
|
||||
if (!GDK_WINDOW_DESTROYED (window))
|
||||
{
|
||||
/* Check for filters for this window */
|
||||
@ -2124,7 +2121,7 @@ gdk_event_translate (GdkEvent *event,
|
||||
if ((hwnd = WindowFromPoint (pt)) == NULL)
|
||||
break;
|
||||
msg->hwnd = hwnd;
|
||||
if ((new_window = gdk_win32_handle_table_lookup (msg->hwnd)) == NULL)
|
||||
if ((new_window = gdk_win32_handle_table_lookup ((GdkNativeWindow) msg->hwnd)) == NULL)
|
||||
break;
|
||||
if (new_window != window)
|
||||
{
|
||||
|
@ -24,11 +24,11 @@
|
||||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <pango/pangowin32.h>
|
||||
|
||||
#include "gdkfont.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
@ -1135,26 +1135,126 @@ check_unicode_subranges (UINT charset,
|
||||
return retval;
|
||||
}
|
||||
|
||||
GdkWin32SingleFont*
|
||||
gdk_font_load_internal (const gchar *font_name)
|
||||
static GdkWin32SingleFont *
|
||||
gdk_font_load_logfont (LOGFONT *lfp)
|
||||
{
|
||||
GdkWin32SingleFont *singlefont;
|
||||
HFONT hfont;
|
||||
LOGFONT logfont;
|
||||
CHARSETINFO csi;
|
||||
DWORD fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet,
|
||||
fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily;
|
||||
HGDIOBJ oldfont;
|
||||
char *lpszFace;
|
||||
int tries;
|
||||
gchar face[100];
|
||||
|
||||
int numfields, n1, n2, tries;
|
||||
for (tries = 0; ; tries++)
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("... trying %d,%d,%d,%d,"
|
||||
"%d,%d,%d,%d,"
|
||||
"%d,%d,%d,"
|
||||
"%d,%#.02x,\"%s\"\n",
|
||||
lfp->lfHeight, lfp->lfWidth,
|
||||
lfp->lfEscapement, lfp->lfOrientation,
|
||||
lfp->lfWeight, lfp->lfItalic,
|
||||
lfp->lfUnderline, lfp->lfStrikeOut,
|
||||
lfp->lfCharSet,
|
||||
lfp->lfOutPrecision, lfp->lfClipPrecision,
|
||||
lfp->lfQuality, lfp->lfPitchAndFamily,
|
||||
lfp->lfFaceName));
|
||||
hfont = CreateFontIndirect (lfp);
|
||||
|
||||
if (hfont != NULL)
|
||||
break;
|
||||
|
||||
/* If we fail, try some similar fonts often found on Windows. */
|
||||
if (tries == 0)
|
||||
{
|
||||
if (g_strcasecmp (lfp->lfFaceName, "helvetica") == 0)
|
||||
strcpy (lfp->lfFaceName, "arial");
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "new century schoolbook") == 0)
|
||||
strcpy (lfp->lfFaceName, "century schoolbook");
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "courier") == 0)
|
||||
strcpy (lfp->lfFaceName, "courier new");
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "lucida") == 0)
|
||||
strcpy (lfp->lfFaceName, "lucida sans unicode");
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "lucidatypewriter") == 0)
|
||||
strcpy (lfp->lfFaceName, "lucida console");
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "times") == 0)
|
||||
strcpy (lfp->lfFaceName, "times new roman");
|
||||
}
|
||||
else if (tries == 1)
|
||||
{
|
||||
if (g_strcasecmp (lfp->lfFaceName, "courier") == 0)
|
||||
{
|
||||
strcpy (lfp->lfFaceName, "");
|
||||
lfp->lfPitchAndFamily |= FF_MODERN;
|
||||
}
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "times new roman") == 0)
|
||||
{
|
||||
strcpy (lfp->lfFaceName, "");
|
||||
lfp->lfPitchAndFamily |= FF_ROMAN;
|
||||
}
|
||||
else if (g_strcasecmp (lfp->lfFaceName, "helvetica") == 0
|
||||
|| g_strcasecmp (lfp->lfFaceName, "lucida") == 0)
|
||||
{
|
||||
strcpy (lfp->lfFaceName, "");
|
||||
lfp->lfPitchAndFamily |= FF_SWISS;
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy (lfp->lfFaceName, "");
|
||||
lfp->lfPitchAndFamily = (lfp->lfPitchAndFamily & 0x0F) | FF_DONTCARE;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
tries++;
|
||||
}
|
||||
|
||||
if (!hfont)
|
||||
return NULL;
|
||||
|
||||
singlefont = g_new (GdkWin32SingleFont, 1);
|
||||
singlefont->hfont = hfont;
|
||||
GetObject (singlefont->hfont, sizeof (logfont), &logfont);
|
||||
oldfont = SelectObject (gdk_display_hdc, singlefont->hfont);
|
||||
memset (&singlefont->fs, 0, sizeof (singlefont->fs));
|
||||
singlefont->charset = GetTextCharsetInfo (gdk_display_hdc, &singlefont->fs, 0);
|
||||
GetTextFace (gdk_display_hdc, sizeof (face), face);
|
||||
SelectObject (gdk_display_hdc, oldfont);
|
||||
if (TranslateCharsetInfo ((DWORD *) singlefont->charset, &csi,
|
||||
TCI_SRCCHARSET)
|
||||
&& singlefont->charset != MAC_CHARSET)
|
||||
singlefont->codepage = csi.ciACP;
|
||||
else
|
||||
singlefont->codepage = 0;
|
||||
|
||||
GDK_NOTE (MISC, (g_print ("... = %#x %s cs %s cp%d\n",
|
||||
singlefont->hfont, face,
|
||||
charset_name (singlefont->charset),
|
||||
singlefont->codepage),
|
||||
g_print ("... Unicode subranges:"),
|
||||
print_unicode_subranges (&singlefont->fs)));
|
||||
if (check_unicode_subranges (singlefont->charset, &singlefont->fs))
|
||||
GDK_NOTE (MISC, (g_print ("... Guesstimated Unicode subranges:"),
|
||||
print_unicode_subranges (&singlefont->fs)));
|
||||
|
||||
return singlefont;
|
||||
}
|
||||
|
||||
static GdkWin32SingleFont *
|
||||
gdk_font_load_internal (const gchar *font_name)
|
||||
{
|
||||
GdkWin32SingleFont *singlefont;
|
||||
|
||||
LOGFONT logfont;
|
||||
|
||||
char *fn;
|
||||
int numfields, n1, n2;
|
||||
char foundry[32], family[100], weight[32], slant[32], set_width[32],
|
||||
spacing[32], registry[32], encoding[32];
|
||||
char pixel_size[10], point_size[10], res_x[10], res_y[10], avg_width[10];
|
||||
int c;
|
||||
char *p;
|
||||
int nHeight, nWidth, nEscapement, nOrientation, fnWeight;
|
||||
int logpixelsy;
|
||||
|
||||
g_return_val_if_fail (font_name != NULL, NULL);
|
||||
@ -1172,20 +1272,22 @@ gdk_font_load_internal (const gchar *font_name)
|
||||
if (numfields == 0)
|
||||
{
|
||||
/* Probably a plain Windows font name */
|
||||
nHeight = 0;
|
||||
nWidth = 0;
|
||||
nEscapement = 0;
|
||||
nOrientation = 0;
|
||||
fnWeight = FW_DONTCARE;
|
||||
fdwItalic = FALSE;
|
||||
fdwUnderline = FALSE;
|
||||
fdwStrikeOut = FALSE;
|
||||
fdwCharSet = ANSI_CHARSET;
|
||||
fdwOutputPrecision = OUT_TT_PRECIS;
|
||||
fdwClipPrecision = CLIP_DEFAULT_PRECIS;
|
||||
fdwQuality = PROOF_QUALITY;
|
||||
fdwPitchAndFamily = DEFAULT_PITCH;
|
||||
lpszFace = g_filename_from_utf8 (font_name);
|
||||
logfont.lfHeight = 0;
|
||||
logfont.lfWidth = 0;
|
||||
logfont.lfEscapement = 0;
|
||||
logfont.lfOrientation = 0;
|
||||
logfont.lfWeight = FW_DONTCARE;
|
||||
logfont.lfItalic = FALSE;
|
||||
logfont.lfUnderline = FALSE;
|
||||
logfont.lfStrikeOut = FALSE;
|
||||
logfont.lfCharSet = ANSI_CHARSET;
|
||||
logfont.lfOutPrecision = OUT_TT_PRECIS;
|
||||
logfont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
|
||||
logfont.lfQuality = PROOF_QUALITY;
|
||||
logfont.lfPitchAndFamily = DEFAULT_PITCH;
|
||||
fn = g_filename_from_utf8 (font_name);
|
||||
strcpy (logfont.lfFaceName, fn);
|
||||
g_free (fn);
|
||||
}
|
||||
else if (numfields != 5)
|
||||
{
|
||||
@ -1238,260 +1340,157 @@ gdk_font_load_internal (const gchar *font_name)
|
||||
|
||||
if (strcmp (pixel_size, "*") == 0)
|
||||
if (strcmp (point_size, "*") == 0)
|
||||
nHeight = 0;
|
||||
logfont.lfHeight = 0;
|
||||
else
|
||||
nHeight = (int) (((double) atoi (point_size))/720.*logpixelsy);
|
||||
logfont.lfHeight = (int) (((double) atoi (point_size))/720.*logpixelsy);
|
||||
else
|
||||
nHeight = atoi (pixel_size);
|
||||
logfont.lfHeight = atoi (pixel_size);
|
||||
|
||||
nWidth = 0;
|
||||
nEscapement = 0;
|
||||
nOrientation = 0;
|
||||
logfont.lfWidth = 0;
|
||||
logfont.lfEscapement = 0;
|
||||
logfont.lfOrientation = 0;
|
||||
|
||||
if (g_strcasecmp (weight, "thin") == 0)
|
||||
fnWeight = FW_THIN;
|
||||
logfont.lfWeight = FW_THIN;
|
||||
else if (g_strcasecmp (weight, "extralight") == 0)
|
||||
fnWeight = FW_EXTRALIGHT;
|
||||
logfont.lfWeight = FW_EXTRALIGHT;
|
||||
else if (g_strcasecmp (weight, "ultralight") == 0)
|
||||
#ifdef FW_ULTRALIGHT
|
||||
fnWeight = FW_ULTRALIGHT;
|
||||
logfont.lfWeight = FW_ULTRALIGHT;
|
||||
#else
|
||||
fnWeight = FW_EXTRALIGHT; /* In fact, FW_ULTRALIGHT really is
|
||||
* defined as FW_EXTRALIGHT anyway.
|
||||
*/
|
||||
logfont.lfWeight = FW_EXTRALIGHT; /* In fact, FW_ULTRALIGHT really is
|
||||
* defined as FW_EXTRALIGHT anyway.
|
||||
*/
|
||||
#endif
|
||||
else if (g_strcasecmp (weight, "light") == 0)
|
||||
fnWeight = FW_LIGHT;
|
||||
logfont.lfWeight = FW_LIGHT;
|
||||
else if (g_strcasecmp (weight, "normal") == 0)
|
||||
fnWeight = FW_NORMAL;
|
||||
logfont.lfWeight = FW_NORMAL;
|
||||
else if (g_strcasecmp (weight, "regular") == 0)
|
||||
fnWeight = FW_REGULAR;
|
||||
logfont.lfWeight = FW_REGULAR;
|
||||
else if (g_strcasecmp (weight, "medium") == 0)
|
||||
fnWeight = FW_MEDIUM;
|
||||
logfont.lfWeight = FW_MEDIUM;
|
||||
else if (g_strcasecmp (weight, "semibold") == 0)
|
||||
fnWeight = FW_SEMIBOLD;
|
||||
logfont.lfWeight = FW_SEMIBOLD;
|
||||
else if (g_strcasecmp (weight, "demibold") == 0)
|
||||
#ifdef FW_DEMIBOLD
|
||||
fnWeight = FW_DEMIBOLD;
|
||||
logfont.lfWeight = FW_DEMIBOLD;
|
||||
#else
|
||||
fnWeight = FW_SEMIBOLD; /* As above */
|
||||
logfont.lfWeight = FW_SEMIBOLD; /* As above */
|
||||
#endif
|
||||
else if (g_strcasecmp (weight, "bold") == 0)
|
||||
fnWeight = FW_BOLD;
|
||||
logfont.lfWeight = FW_BOLD;
|
||||
else if (g_strcasecmp (weight, "extrabold") == 0)
|
||||
fnWeight = FW_EXTRABOLD;
|
||||
logfont.lfWeight = FW_EXTRABOLD;
|
||||
else if (g_strcasecmp (weight, "ultrabold") == 0)
|
||||
#ifdef FW_ULTRABOLD
|
||||
fnWeight = FW_ULTRABOLD;
|
||||
logfont.lfWeight = FW_ULTRABOLD;
|
||||
#else
|
||||
fnWeight = FW_EXTRABOLD; /* As above */
|
||||
logfont.lfWeight = FW_EXTRABOLD; /* As above */
|
||||
#endif
|
||||
else if (g_strcasecmp (weight, "heavy") == 0)
|
||||
fnWeight = FW_HEAVY;
|
||||
logfont.lfWeight = FW_HEAVY;
|
||||
else if (g_strcasecmp (weight, "black") == 0)
|
||||
#ifdef FW_BLACK
|
||||
fnWeight = FW_BLACK;
|
||||
logfont.lfWeight = FW_BLACK;
|
||||
#else
|
||||
fnWeight = FW_HEAVY; /* As above */
|
||||
logfont.lfWeight = FW_HEAVY; /* As above */
|
||||
#endif
|
||||
else
|
||||
fnWeight = FW_DONTCARE;
|
||||
logfont.lfWeight = FW_DONTCARE;
|
||||
|
||||
if (g_strcasecmp (slant, "italic") == 0
|
||||
|| g_strcasecmp (slant, "oblique") == 0
|
||||
|| g_strcasecmp (slant, "i") == 0
|
||||
|| g_strcasecmp (slant, "o") == 0)
|
||||
fdwItalic = TRUE;
|
||||
logfont.lfItalic = TRUE;
|
||||
else
|
||||
fdwItalic = FALSE;
|
||||
fdwUnderline = FALSE;
|
||||
fdwStrikeOut = FALSE;
|
||||
logfont.lfItalic = FALSE;
|
||||
logfont.lfUnderline = FALSE;
|
||||
logfont.lfStrikeOut = FALSE;
|
||||
if (g_strcasecmp (registry, "iso8859") == 0)
|
||||
if (strcmp (encoding, "1") == 0)
|
||||
fdwCharSet = ANSI_CHARSET;
|
||||
logfont.lfCharSet = ANSI_CHARSET;
|
||||
else if (strcmp (encoding, "2") == 0)
|
||||
fdwCharSet = EASTEUROPE_CHARSET;
|
||||
logfont.lfCharSet = EASTEUROPE_CHARSET;
|
||||
else if (strcmp (encoding, "7") == 0)
|
||||
fdwCharSet = GREEK_CHARSET;
|
||||
logfont.lfCharSet = GREEK_CHARSET;
|
||||
else if (strcmp (encoding, "8") == 0)
|
||||
fdwCharSet = HEBREW_CHARSET;
|
||||
logfont.lfCharSet = HEBREW_CHARSET;
|
||||
else if (strcmp (encoding, "9") == 0)
|
||||
fdwCharSet = TURKISH_CHARSET;
|
||||
logfont.lfCharSet = TURKISH_CHARSET;
|
||||
else
|
||||
fdwCharSet = ANSI_CHARSET; /* XXX ??? */
|
||||
logfont.lfCharSet = ANSI_CHARSET; /* XXX ??? */
|
||||
else if (g_strcasecmp (registry, "jisx0208.1983") == 0)
|
||||
fdwCharSet = SHIFTJIS_CHARSET;
|
||||
logfont.lfCharSet = SHIFTJIS_CHARSET;
|
||||
else if (g_strcasecmp (registry, "ksc5601.1987") == 0)
|
||||
fdwCharSet = HANGEUL_CHARSET;
|
||||
logfont.lfCharSet = HANGEUL_CHARSET;
|
||||
else if (g_strcasecmp (registry, "gb2312.1980") == 0)
|
||||
fdwCharSet = GB2312_CHARSET;
|
||||
logfont.lfCharSet = GB2312_CHARSET;
|
||||
else if (g_strcasecmp (registry, "big5") == 0)
|
||||
fdwCharSet = CHINESEBIG5_CHARSET;
|
||||
logfont.lfCharSet = CHINESEBIG5_CHARSET;
|
||||
else if (g_strcasecmp (registry, "windows") == 0
|
||||
|| g_strcasecmp (registry, "microsoft") == 0)
|
||||
if (g_strcasecmp (encoding, "symbol") == 0)
|
||||
fdwCharSet = SYMBOL_CHARSET;
|
||||
logfont.lfCharSet = SYMBOL_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "shiftjis") == 0)
|
||||
fdwCharSet = SHIFTJIS_CHARSET;
|
||||
logfont.lfCharSet = SHIFTJIS_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "gb2312") == 0)
|
||||
fdwCharSet = GB2312_CHARSET;
|
||||
logfont.lfCharSet = GB2312_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "hangeul") == 0)
|
||||
fdwCharSet = HANGEUL_CHARSET;
|
||||
logfont.lfCharSet = HANGEUL_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "big5") == 0)
|
||||
fdwCharSet = CHINESEBIG5_CHARSET;
|
||||
logfont.lfCharSet = CHINESEBIG5_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "johab") == 0)
|
||||
fdwCharSet = JOHAB_CHARSET;
|
||||
logfont.lfCharSet = JOHAB_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "hebrew") == 0)
|
||||
fdwCharSet = HEBREW_CHARSET;
|
||||
logfont.lfCharSet = HEBREW_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "arabic") == 0)
|
||||
fdwCharSet = ARABIC_CHARSET;
|
||||
logfont.lfCharSet = ARABIC_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "greek") == 0)
|
||||
fdwCharSet = GREEK_CHARSET;
|
||||
logfont.lfCharSet = GREEK_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "turkish") == 0)
|
||||
fdwCharSet = TURKISH_CHARSET;
|
||||
logfont.lfCharSet = TURKISH_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "easteurope") == 0)
|
||||
fdwCharSet = EASTEUROPE_CHARSET;
|
||||
logfont.lfCharSet = EASTEUROPE_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "russian") == 0)
|
||||
fdwCharSet = RUSSIAN_CHARSET;
|
||||
logfont.lfCharSet = RUSSIAN_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "mac") == 0)
|
||||
fdwCharSet = MAC_CHARSET;
|
||||
logfont.lfCharSet = MAC_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "baltic") == 0)
|
||||
fdwCharSet = BALTIC_CHARSET;
|
||||
logfont.lfCharSet = BALTIC_CHARSET;
|
||||
else if (g_strcasecmp (encoding, "cp1251") == 0)
|
||||
fdwCharSet = RUSSIAN_CHARSET;
|
||||
logfont.lfCharSet = RUSSIAN_CHARSET;
|
||||
else
|
||||
fdwCharSet = ANSI_CHARSET; /* XXX ??? */
|
||||
logfont.lfCharSet = ANSI_CHARSET; /* XXX ??? */
|
||||
else
|
||||
fdwCharSet = ANSI_CHARSET; /* XXX ??? */
|
||||
fdwOutputPrecision = OUT_TT_PRECIS;
|
||||
fdwClipPrecision = CLIP_DEFAULT_PRECIS;
|
||||
fdwQuality = PROOF_QUALITY;
|
||||
logfont.lfCharSet = ANSI_CHARSET; /* XXX ??? */
|
||||
logfont.lfOutPrecision = OUT_TT_PRECIS;
|
||||
logfont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
|
||||
logfont.lfQuality = PROOF_QUALITY;
|
||||
if (g_strcasecmp (spacing, "m") == 0)
|
||||
fdwPitchAndFamily = FIXED_PITCH;
|
||||
logfont.lfPitchAndFamily = FIXED_PITCH;
|
||||
else if (g_strcasecmp (spacing, "p") == 0)
|
||||
fdwPitchAndFamily = VARIABLE_PITCH;
|
||||
logfont.lfPitchAndFamily = VARIABLE_PITCH;
|
||||
else
|
||||
fdwPitchAndFamily = DEFAULT_PITCH;
|
||||
lpszFace = g_filename_from_utf8 (family);
|
||||
logfont.lfPitchAndFamily = DEFAULT_PITCH;
|
||||
fn = g_filename_from_utf8 (family);
|
||||
strcpy (logfont.lfFaceName, fn);
|
||||
g_free (fn);
|
||||
}
|
||||
|
||||
for (tries = 0; ; tries++)
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("... trying CreateFont(%d,%d,%d,%d,"
|
||||
"%d,%d,%d,%d,"
|
||||
"%d,%d,%d,"
|
||||
"%d,%#.02x,\"%s\")\n",
|
||||
nHeight, nWidth, nEscapement, nOrientation,
|
||||
fnWeight, fdwItalic, fdwUnderline, fdwStrikeOut,
|
||||
fdwCharSet, fdwOutputPrecision, fdwClipPrecision,
|
||||
fdwQuality, fdwPitchAndFamily, lpszFace));
|
||||
hfont = CreateFont (nHeight, nWidth, nEscapement, nOrientation,
|
||||
fnWeight, fdwItalic, fdwUnderline, fdwStrikeOut,
|
||||
fdwCharSet, fdwOutputPrecision, fdwClipPrecision,
|
||||
fdwQuality, fdwPitchAndFamily, lpszFace);
|
||||
/* After the first try lpszFace contains a return value
|
||||
* from g_filename_from_utf8(), so free it.
|
||||
*/
|
||||
if (tries == 0)
|
||||
g_free (lpszFace);
|
||||
|
||||
if (hfont != NULL)
|
||||
break;
|
||||
|
||||
/* If we fail, try some similar fonts often found on Windows. */
|
||||
if (tries == 0)
|
||||
{
|
||||
if (g_strcasecmp (family, "helvetica") == 0)
|
||||
lpszFace = "arial";
|
||||
else if (g_strcasecmp (family, "new century schoolbook") == 0)
|
||||
lpszFace = "century schoolbook";
|
||||
else if (g_strcasecmp (family, "courier") == 0)
|
||||
lpszFace = "courier new";
|
||||
else if (g_strcasecmp (family, "lucida") == 0)
|
||||
lpszFace = "lucida sans unicode";
|
||||
else if (g_strcasecmp (family, "lucidatypewriter") == 0)
|
||||
lpszFace = "lucida console";
|
||||
else if (g_strcasecmp (family, "times") == 0)
|
||||
lpszFace = "times new roman";
|
||||
}
|
||||
else if (tries == 1)
|
||||
{
|
||||
if (g_strcasecmp (family, "courier") == 0)
|
||||
{
|
||||
lpszFace = "";
|
||||
fdwPitchAndFamily |= FF_MODERN;
|
||||
}
|
||||
else if (g_strcasecmp (family, "times new roman") == 0)
|
||||
{
|
||||
lpszFace = "";
|
||||
fdwPitchAndFamily |= FF_ROMAN;
|
||||
}
|
||||
else if (g_strcasecmp (family, "helvetica") == 0
|
||||
|| g_strcasecmp (family, "lucida") == 0)
|
||||
{
|
||||
lpszFace = "";
|
||||
fdwPitchAndFamily |= FF_SWISS;
|
||||
}
|
||||
else
|
||||
{
|
||||
lpszFace = "";
|
||||
fdwPitchAndFamily = (fdwPitchAndFamily & 0x0F) | FF_DONTCARE;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
tries++;
|
||||
}
|
||||
|
||||
if (!hfont)
|
||||
return NULL;
|
||||
|
||||
singlefont = g_new (GdkWin32SingleFont, 1);
|
||||
singlefont->hfont = hfont;
|
||||
GetObject (singlefont->hfont, sizeof (logfont), &logfont);
|
||||
oldfont = SelectObject (gdk_display_hdc, singlefont->hfont);
|
||||
memset (&singlefont->fs, 0, sizeof (singlefont->fs));
|
||||
singlefont->charset = GetTextCharsetInfo (gdk_display_hdc, &singlefont->fs, 0);
|
||||
GetTextFace (gdk_display_hdc, sizeof (face), face);
|
||||
SelectObject (gdk_display_hdc, oldfont);
|
||||
if (TranslateCharsetInfo ((DWORD *) singlefont->charset, &csi,
|
||||
TCI_SRCCHARSET)
|
||||
&& singlefont->charset != MAC_CHARSET)
|
||||
singlefont->codepage = csi.ciACP;
|
||||
else
|
||||
singlefont->codepage = 0;
|
||||
|
||||
GDK_NOTE (MISC, (g_print ("... = %#x %s cs %s cp%d\n",
|
||||
singlefont->hfont, face,
|
||||
charset_name (singlefont->charset),
|
||||
singlefont->codepage),
|
||||
g_print ("... Unicode subranges:"),
|
||||
print_unicode_subranges (&singlefont->fs)));
|
||||
if (check_unicode_subranges (singlefont->charset, &singlefont->fs))
|
||||
GDK_NOTE (MISC, (g_print ("... Guesstimated Unicode subranges:"),
|
||||
print_unicode_subranges (&singlefont->fs)));
|
||||
|
||||
return singlefont;
|
||||
return gdk_font_load_logfont (&logfont);
|
||||
}
|
||||
|
||||
GdkFont*
|
||||
gdk_font_load (const gchar *font_name)
|
||||
static GdkFont *
|
||||
gdk_font_from_one_singlefont (GdkWin32SingleFont *singlefont)
|
||||
{
|
||||
GdkFont *font;
|
||||
GdkFontPrivateWin32 *private;
|
||||
GdkWin32SingleFont *singlefont;
|
||||
HGDIOBJ oldfont;
|
||||
HANDLE *f;
|
||||
TEXTMETRIC textmetric;
|
||||
|
||||
g_return_val_if_fail (font_name != NULL, NULL);
|
||||
|
||||
font = gdk_font_hash_lookup (GDK_FONT_FONTSET, font_name);
|
||||
if (font)
|
||||
return font;
|
||||
|
||||
singlefont = gdk_font_load_internal (font_name);
|
||||
|
||||
private = g_new (GdkFontPrivateWin32, 1);
|
||||
font = (GdkFont*) private;
|
||||
|
||||
@ -1513,9 +1512,71 @@ gdk_font_load (const gchar *font_name)
|
||||
GDK_NOTE (MISC, g_print ("... asc %d desc %d\n",
|
||||
font->ascent, font->descent));
|
||||
|
||||
return font;
|
||||
}
|
||||
|
||||
GdkFont*
|
||||
gdk_font_load (const gchar *font_name)
|
||||
{
|
||||
GdkFont *font;
|
||||
|
||||
g_return_val_if_fail (font_name != NULL, NULL);
|
||||
|
||||
font = gdk_font_hash_lookup (GDK_FONT_FONTSET, font_name);
|
||||
if (font)
|
||||
return font;
|
||||
|
||||
gdk_font_hash_insert (GDK_FONT_FONTSET, font, font_name);
|
||||
|
||||
return font;
|
||||
return gdk_font_from_one_singlefont (gdk_font_load_internal (font_name));
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_font_from_description:
|
||||
* @font_desc: a #PangoFontDescription.
|
||||
*
|
||||
* Load a #GdkFont based on a Pango font description. This font will
|
||||
* only be an approximation of the Pango font, and
|
||||
* internationalization will not be handled correctly. This function
|
||||
* should only be used for legacy code that cannot be easily converted
|
||||
* to use Pango. Using Pango directly will produce better results.
|
||||
*
|
||||
* Return value: the newly loaded font, or %NULL if the font
|
||||
* cannot be loaded.
|
||||
**/
|
||||
GdkFont*
|
||||
gdk_font_from_description (PangoFontDescription *font_desc)
|
||||
{
|
||||
PangoFontMap *font_map;
|
||||
PangoFont *font;
|
||||
GdkFont *result = NULL;
|
||||
|
||||
g_return_val_if_fail (font_desc != NULL, NULL);
|
||||
|
||||
font_map = pango_win32_font_map_for_display ();
|
||||
font = pango_font_map_load_font (font_map, font_desc);
|
||||
|
||||
if (font)
|
||||
{
|
||||
gint n_subfonts;
|
||||
PangoWin32Subfont *subfont_ids;
|
||||
|
||||
n_subfonts = pango_win32_list_subfonts (font, PANGO_WIN32_U_BASIC_LATIN,
|
||||
&subfont_ids);
|
||||
if (n_subfonts > 0)
|
||||
{
|
||||
LOGFONT *lfp =
|
||||
pango_win32_font_subfont_logfont (font, subfont_ids[0]);
|
||||
result = gdk_font_from_one_singlefont (gdk_font_load_logfont (lfp));
|
||||
g_free (lfp);
|
||||
}
|
||||
|
||||
g_free (subfont_ids);
|
||||
|
||||
g_object_unref (G_OBJECT (font));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
GdkFont*
|
||||
|
@ -34,9 +34,6 @@
|
||||
#include "gdkregion-generic.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkdrawable-win32.h"
|
||||
#include "gdkwindow-win32.h"
|
||||
#include "gdkpixmap-win32.h"
|
||||
|
||||
static void gdk_win32_gc_destroy (GdkGC *gc);
|
||||
static void gdk_win32_gc_get_values (GdkGC *gc,
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include "gdkinput.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkwindow-win32.h"
|
||||
#include "gdkinput-win32.h"
|
||||
|
||||
#ifdef HAVE_WINTAB
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "gdkkeysyms.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkwindow-win32.h"
|
||||
#include "gdkinput-win32.h"
|
||||
|
||||
#include <objbase.h>
|
||||
|
28
gdk/win32/gdkpango-win32.c
Normal file
28
gdk/win32/gdkpango-win32.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* GDK - The GIMP Drawing Kit
|
||||
* Copyright (C) 2000 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkpango.h"
|
||||
#include <pango/pangowin32.h>
|
||||
|
||||
PangoContext *
|
||||
gdk_pango_context_get (void)
|
||||
{
|
||||
return pango_win32_get_context ();
|
||||
}
|
@ -34,9 +34,6 @@
|
||||
#include "gdkpixmap.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkdrawable-win32.h"
|
||||
#include "gdkwindow-win32.h"
|
||||
#include "gdkpixmap-win32.h"
|
||||
|
||||
static void gdk_pixmap_impl_win32_get_size (GdkDrawable *drawable,
|
||||
gint *width,
|
||||
|
@ -39,7 +39,7 @@ GdkGC * _gdk_win32_gc_new (GdkDrawable *drawable,
|
||||
GdkGCValuesMask values_mask);
|
||||
COLORREF gdk_colormap_color (GdkColormap *colormap,
|
||||
gulong pixel);
|
||||
HRGN BitmapToRegion (HBITMAP hBmp);
|
||||
HRGN BitmapToRegion (HBITMAP hBmp);
|
||||
|
||||
gchar *gdk_font_full_name_get (GdkFont *font);
|
||||
|
||||
|
@ -36,6 +36,9 @@
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
|
||||
#include <gdk/win32/gdkwindow-win32.h>
|
||||
#include <gdk/win32/gdkpixmap-win32.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
@ -306,11 +309,14 @@ GDKVAR gchar *gdk_progclass;
|
||||
GDKVAR ATOM gdk_selection_property;
|
||||
|
||||
/* Functions to create GDK pixmaps and windows from their native equivalents */
|
||||
GdkPixmap *gdk_pixmap_foreign_new (guint32 anid);
|
||||
GdkWindow *gdk_window_foreign_new (guint32 anid);
|
||||
GdkPixmap *gdk_pixmap_foreign_new (GdkNativeWindow anid);
|
||||
GdkWindow *gdk_window_foreign_new (GdkNativeWindow anid);
|
||||
|
||||
/* Return the Gdk* for a particular HANDLE */
|
||||
gpointer gdk_win32_handle_table_lookup (HANDLE handle);
|
||||
gpointer gdk_win32_handle_table_lookup (GdkNativeWindow handle);
|
||||
|
||||
#define gdk_window_lookup(hwnd) (GdkWindow*) gdk_win32_handle_table_lookup (hwnd)
|
||||
#define gdk_pixmap_lookup(hbm) (GdkPixmap*) gdk_win32_handle_table_lookup (hbm)
|
||||
|
||||
/* 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,
|
||||
|
@ -32,8 +32,6 @@
|
||||
#include "gdkwindow.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkwindow-win32.h"
|
||||
#include "gdkpixmap-win32.h"
|
||||
|
||||
static gboolean gdk_window_gravity_works (void);
|
||||
static void gdk_window_set_static_win_gravity (GdkWindow *window,
|
||||
@ -157,7 +155,7 @@ gdk_window_impl_win32_get_colormap (GdkDrawable *drawable)
|
||||
if (!((GdkWindowObject *) drawable_impl->wrapper)->input_only &&
|
||||
drawable_impl->colormap == NULL)
|
||||
{
|
||||
g_assert_not_reached ();
|
||||
drawable_impl->colormap = gdk_colormap_get_system ();
|
||||
}
|
||||
|
||||
return drawable_impl->colormap;
|
||||
@ -637,7 +635,7 @@ gdk_window_foreign_new (GdkNativeWindow anid)
|
||||
draw_impl = GDK_DRAWABLE_IMPL_WIN32 (private->impl);
|
||||
draw_impl->wrapper = GDK_DRAWABLE (window);
|
||||
|
||||
private->parent = gdk_win32_handle_table_lookup (parent);
|
||||
private->parent = gdk_win32_handle_table_lookup ((GdkNativeWindow) parent);
|
||||
|
||||
parent_private = (GdkWindowObject *)private->parent;
|
||||
|
||||
@ -1638,7 +1636,7 @@ gdk_window_get_pointer (GdkWindow *window,
|
||||
ScreenToClient (hwndc, &point);
|
||||
} while (hwndc != hwnd && (hwnd = hwndc, 1)); /* Ouch! */
|
||||
|
||||
return_val = gdk_win32_handle_table_lookup (hwnd);
|
||||
return_val = gdk_win32_handle_table_lookup ((GdkNativeWindow) hwnd);
|
||||
|
||||
if (mask)
|
||||
{
|
||||
@ -1696,7 +1694,7 @@ gdk_window_at_pointer (gint *win_x,
|
||||
ScreenToClient (hwndc, &point);
|
||||
} while (hwndc != hwnd && (hwnd = hwndc, 1));
|
||||
|
||||
window = gdk_win32_handle_table_lookup (hwnd);
|
||||
window = gdk_win32_handle_table_lookup ((GdkNativeWindow) hwnd);
|
||||
|
||||
if (window && (win_x || win_y))
|
||||
{
|
||||
|
@ -552,6 +552,9 @@ testdnd_LDADD = $(LDADDS)
|
||||
simple_LDADD = $(LDADDS)
|
||||
#testthreads_LDADD = $(LDADDS)
|
||||
|
||||
makefile.mingw: $(top_builddir)/config.status $(top_srcdir)/gtk/makefile.mingw.in
|
||||
cd $(top_builddir) && CONFIG_FILES=gtk/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
.PHONY: files test test-debug
|
||||
|
||||
files:
|
||||
@ -595,7 +598,8 @@ EXTRA_DIST += @STRIP_BEGIN@ \
|
||||
gtk.def \
|
||||
gtk.rc \
|
||||
makefile.msc \
|
||||
makefile.cygwin \
|
||||
makefile.mingw \
|
||||
makefile.mingw.in \
|
||||
$(gtkconf_DATA) \
|
||||
@STRIP_END@
|
||||
|
||||
|
27
gtk/gtk.def
27
gtk/gtk.def
@ -20,22 +20,16 @@ EXPORTS
|
||||
GTK_TYPE_DEBUG_FLAG
|
||||
GTK_TYPE_DEST_DEFAULTS
|
||||
GTK_TYPE_DIRECTION_TYPE
|
||||
GTK_TYPE_FONT_FILTER_TYPE
|
||||
GTK_TYPE_FONT_METRIC_TYPE
|
||||
GTK_TYPE_FONT_TYPE
|
||||
GTK_TYPE_FUNDAMENTAL_TYPE
|
||||
GTK_TYPE_GDK_AXIS_USE
|
||||
GTK_TYPE_GDK_BYTE_ORDER
|
||||
GTK_TYPE_GDK_CAP_STYLE
|
||||
GTK_TYPE_GDK_COLOR
|
||||
GTK_TYPE_GDK_COLORMAP
|
||||
GTK_TYPE_GDK_COLOR_CONTEXT_MODE
|
||||
GTK_TYPE_GDK_CROSSING_MODE
|
||||
GTK_TYPE_GDK_CURSOR_TYPE
|
||||
GTK_TYPE_GDK_DRAG_ACTION
|
||||
GTK_TYPE_GDK_DRAG_CONTEXT
|
||||
GTK_TYPE_GDK_DRAG_PROTOCOL
|
||||
GTK_TYPE_GDK_DRAWABLE_TYPE
|
||||
GTK_TYPE_GDK_EVENT
|
||||
GTK_TYPE_GDK_EVENT_MASK
|
||||
GTK_TYPE_GDK_EVENT_TYPE
|
||||
@ -47,6 +41,7 @@ EXPORTS
|
||||
GTK_TYPE_GDK_FONT_TYPE
|
||||
GTK_TYPE_GDK_FUNCTION
|
||||
GTK_TYPE_GDK_GC_VALUES_MASK
|
||||
GTK_TYPE_GDK_GRAB_STATUS
|
||||
GTK_TYPE_GDK_IC_ATTRIBUTES_TYPE
|
||||
GTK_TYPE_GDK_IMAGE_TYPE
|
||||
GTK_TYPE_GDK_IM_STYLE
|
||||
@ -61,6 +56,7 @@ EXPORTS
|
||||
GTK_TYPE_GDK_PROPERTY_STATE
|
||||
GTK_TYPE_GDK_PROP_MODE
|
||||
GTK_TYPE_GDK_RGB_DITHER
|
||||
GTK_TYPE_GDK_SCROLL_DIRECTION
|
||||
GTK_TYPE_GDK_SELECTION
|
||||
GTK_TYPE_GDK_SELECTION_TYPE
|
||||
GTK_TYPE_GDK_STATUS
|
||||
@ -69,13 +65,12 @@ EXPORTS
|
||||
GTK_TYPE_GDK_VISIBILITY_STATE
|
||||
GTK_TYPE_GDK_VISUAL
|
||||
GTK_TYPE_GDK_VISUAL_TYPE
|
||||
GTK_TYPE_GDK_WINDOW
|
||||
GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE
|
||||
GTK_TYPE_GDK_WINDOW_CLASS
|
||||
GTK_TYPE_GDK_WINDOW_HINTS
|
||||
GTK_TYPE_GDK_WINDOW_TYPE
|
||||
GTK_TYPE_GDK_WM_DECORATION
|
||||
GTK_TYPE_GDK_WM_FUNCTION
|
||||
GTK_TYPE_IDENTIFIER
|
||||
GTK_TYPE_JUSTIFICATION
|
||||
GTK_TYPE_MATCH_TYPE
|
||||
GTK_TYPE_MENU_DIRECTION_TYPE
|
||||
@ -107,10 +102,13 @@ EXPORTS
|
||||
GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY
|
||||
GTK_TYPE_SPIN_TYPE
|
||||
GTK_TYPE_STATE_TYPE
|
||||
GTK_TYPE_STYLE
|
||||
GTK_TYPE_SUBMENU_DIRECTION
|
||||
GTK_TYPE_SUBMENU_PLACEMENT
|
||||
GTK_TYPE_TARGET_FLAGS
|
||||
GTK_TYPE_TEXT_DIRECTION
|
||||
GTK_TYPE_TEXT_VIEW_DELETE_TYPE
|
||||
GTK_TYPE_TEXT_VIEW_MOVEMENT_STEP
|
||||
GTK_TYPE_TEXT_VIEW_SCROLL_TYPE
|
||||
GTK_TYPE_TOOLBAR_CHILD_TYPE
|
||||
GTK_TYPE_TOOLBAR_SPACE_STYLE
|
||||
GTK_TYPE_TOOLBAR_STYLE
|
||||
@ -121,6 +119,7 @@ EXPORTS
|
||||
GTK_TYPE_WIDGET_FLAGS
|
||||
GTK_TYPE_WINDOW_POSITION
|
||||
GTK_TYPE_WINDOW_TYPE
|
||||
GTK_TYPE_WRAP_MODE
|
||||
gtk_accel_group_activate
|
||||
gtk_accel_group_add
|
||||
gtk_accel_group_attach
|
||||
@ -513,7 +512,6 @@ EXPORTS
|
||||
gtk_font_selection_dialog_get_preview_text
|
||||
gtk_font_selection_dialog_get_type
|
||||
gtk_font_selection_dialog_new
|
||||
gtk_font_selection_dialog_set_filter
|
||||
gtk_font_selection_dialog_set_font_name
|
||||
gtk_font_selection_dialog_set_preview_text
|
||||
gtk_font_selection_get_font
|
||||
@ -521,7 +519,6 @@ EXPORTS
|
||||
gtk_font_selection_get_preview_text
|
||||
gtk_font_selection_get_type
|
||||
gtk_font_selection_new
|
||||
gtk_font_selection_set_filter
|
||||
gtk_font_selection_set_font_name
|
||||
gtk_font_selection_set_preview_text
|
||||
gtk_frame_get_type
|
||||
@ -1002,6 +999,7 @@ EXPORTS
|
||||
gtk_scrolled_window_set_hadjustment
|
||||
gtk_scrolled_window_set_placement
|
||||
gtk_scrolled_window_set_policy
|
||||
gtk_scrolled_window_set_shadow_type
|
||||
gtk_scrolled_window_set_vadjustment
|
||||
gtk_selection_add_target
|
||||
gtk_selection_add_targets
|
||||
@ -1241,6 +1239,7 @@ EXPORTS
|
||||
gtk_widget_get_colormap
|
||||
gtk_widget_get_composite_name
|
||||
gtk_widget_get_default_colormap
|
||||
gtk_widget_get_default_direction
|
||||
gtk_widget_get_default_style
|
||||
gtk_widget_get_default_visual
|
||||
gtk_widget_get_events
|
||||
@ -1269,12 +1268,10 @@ EXPORTS
|
||||
gtk_widget_pop_colormap
|
||||
gtk_widget_pop_composite_child
|
||||
gtk_widget_pop_style
|
||||
gtk_widget_pop_visual
|
||||
gtk_widget_popup
|
||||
gtk_widget_push_colormap
|
||||
gtk_widget_push_composite_child
|
||||
gtk_widget_push_style
|
||||
gtk_widget_push_visual
|
||||
gtk_widget_queue_clear
|
||||
gtk_widget_queue_clear_area
|
||||
gtk_widget_queue_draw
|
||||
@ -1293,8 +1290,9 @@ EXPORTS
|
||||
gtk_widget_set_colormap
|
||||
gtk_widget_set_composite_name
|
||||
gtk_widget_set_default_colormap
|
||||
gtk_widget_set_default_direction
|
||||
gtk_widget_set_default_style
|
||||
gtk_widget_set_default_visual
|
||||
gtk_widget_set_direction
|
||||
gtk_widget_set_events
|
||||
gtk_widget_set_extension_events
|
||||
gtk_widget_set_name
|
||||
@ -1307,7 +1305,6 @@ EXPORTS
|
||||
gtk_widget_set_style
|
||||
gtk_widget_set_uposition
|
||||
gtk_widget_set_usize
|
||||
gtk_widget_set_visual
|
||||
gtk_widget_setv
|
||||
gtk_widget_shape_combine_mask
|
||||
gtk_widget_show
|
||||
|
@ -29,7 +29,10 @@
|
||||
|
||||
#if defined (GDK_WINDOWING_X11)
|
||||
#include "x11/gdkx.h"
|
||||
#elif defined (GDK_WINDOWING_WIN32)
|
||||
#include "win32/gdkwin32.h"
|
||||
#endif
|
||||
|
||||
#include "gdk/gdkkeysyms.h"
|
||||
#include "gtkcolorsel.h"
|
||||
#include "gtkhsv.h"
|
||||
|
@ -405,11 +405,11 @@ gtk_init_check (int *argc,
|
||||
#else
|
||||
{
|
||||
/* GTk+ locale dir is %WinDir%\gtk+\locale */
|
||||
extern char *get_gtk_sysconf_directory ();
|
||||
bindtextdomain (GETTEXT_PACKAGE, g_strconcat (get_gtk_sysconf_directory (),
|
||||
G_DIR_SEPARATOR_S,
|
||||
"locale",
|
||||
NULL));
|
||||
bindtextdomain (GETTEXT_PACKAGE,
|
||||
g_strconcat (gtk_win32_get_installation_directory (),
|
||||
G_DIR_SEPARATOR_S,
|
||||
"locale",
|
||||
NULL));
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
@ -317,7 +317,7 @@ gtk_plug_key_press_event (GtkWidget *widget,
|
||||
GDK_WINDOW_XWINDOW (plug->socket_window),
|
||||
RevertToParent, event->time);
|
||||
#elif defined (GDK_WINDOWING_WIN32)
|
||||
SetFocus (GDK_WINDOW_XWINDOW (plug->socket_window));
|
||||
SetFocus (GDK_WINDOW_HWND (plug->socket_window));
|
||||
#endif
|
||||
gdk_flush ();
|
||||
gdk_error_trap_pop ();
|
||||
@ -495,12 +495,12 @@ gtk_plug_forward_key_press (GtkPlug *plug, GdkEventKey *event)
|
||||
break;
|
||||
}
|
||||
|
||||
PostMessage (GDK_WINDOW_XWINDOW (plug->socket_window),
|
||||
PostMessage (GDK_WINDOW_HWND (plug->socket_window),
|
||||
WM_KEYDOWN, wParam, lParam);
|
||||
if (!no_WM_CHAR)
|
||||
PostMessage (GDK_WINDOW_XWINDOW (plug->socket_window),
|
||||
PostMessage (GDK_WINDOW_HWND (plug->socket_window),
|
||||
WM_CHAR, wParam, lParam);
|
||||
PostMessage (GDK_WINDOW_XWINDOW (plug->socket_window),
|
||||
PostMessage (GDK_WINDOW_HWND (plug->socket_window),
|
||||
WM_KEYUP, wParam, lParam);
|
||||
#endif
|
||||
}
|
||||
|
@ -50,8 +50,8 @@
|
||||
|
||||
#include "gtktextdisplay.h"
|
||||
#include "gtktextiterprivate.h"
|
||||
#include <pango/pangox.h>
|
||||
#include "x11/gdkx.h"
|
||||
|
||||
#include <pango/pango.h>
|
||||
|
||||
typedef struct _GtkTextRenderState GtkTextRenderState;
|
||||
|
||||
|
@ -111,7 +111,12 @@ GType GTK_TYPE_IDENTIFIER = 0;
|
||||
|
||||
/* Hack to communicate with GLib object debugging for now
|
||||
*/
|
||||
extern gboolean glib_debug_objects;
|
||||
#ifdef G_OS_WIN32
|
||||
#define IMPORT __declspec(dllimport)
|
||||
#else
|
||||
#define IMPORT
|
||||
#endif
|
||||
extern IMPORT gboolean glib_debug_objects;
|
||||
|
||||
void
|
||||
gtk_type_init (void)
|
||||
|
431
gtk/makefile.mingw.in
Normal file
431
gtk/makefile.mingw.in
Normal file
@ -0,0 +1,431 @@
|
||||
## Makefile for building the GTK DLL with gcc on Win32
|
||||
## Use: make -f makefile.mingw
|
||||
|
||||
## There is no install target, you have to decide where and
|
||||
## how to install for yourself.
|
||||
|
||||
# This is the location of pthreads for Win32,
|
||||
# see http://sourceware.cygnus.com/pthreads-win32/
|
||||
PTHREADS = ../../pthreads-snap-1999-05-30
|
||||
PTHREAD_LIB = -L $(PTHREADS) -lpthread
|
||||
PTHREAD_INC = -I $(PTHREADS)
|
||||
|
||||
OPTIMIZE = -g
|
||||
|
||||
TOP = ../..
|
||||
|
||||
include ../build/win32/make.mingw
|
||||
|
||||
################################################################
|
||||
|
||||
# Possibly override GTK+ version from build/win32/module.defs
|
||||
GTK_VER = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@
|
||||
|
||||
GDK_LIBS = -L ../gdk -lgdk-win32-$(GTK_VER)
|
||||
GTK_LIBS = -L . -lgtk-win32-$(GTK_VER)
|
||||
GDK_PIXBUF_LIBS = -L ../gdk-pixbuf -lgdk_pixbuf-$(GTK_VER)
|
||||
|
||||
# Perl and awk are needed to generate some source files.
|
||||
# These generated source files are distributed with the Win32 GTk+ source
|
||||
# distributions, so don't worry if you don't have perl and awk.
|
||||
PERL = perl
|
||||
AWK = awk
|
||||
|
||||
INCLUDES = -I . -I .. -I ../gdk -I ../gdk-pixbuf
|
||||
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(INTL_CFLAGS)
|
||||
DEFINES = -DGTK_DISABLE_COMPAT_H -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\"
|
||||
|
||||
all : \
|
||||
../config.h \
|
||||
gtkcompat.h \
|
||||
generated \
|
||||
gtk-win32-$(GTK_VER).dll \
|
||||
testcalendar.exe \
|
||||
testdnd.exe \
|
||||
testgtk.exe \
|
||||
testinput.exe \
|
||||
testrgb.exe \
|
||||
testselection.exe \
|
||||
testtext.exe \
|
||||
testtextbuffer.exe
|
||||
simple.exe
|
||||
|
||||
gtk_OBJECTS = \
|
||||
fnmatch.o \
|
||||
gdk-pixbuf-loader.o \
|
||||
gtkaccelgroup.o \
|
||||
gtkaccellabel.o \
|
||||
gtkadjustment.o \
|
||||
gtkalignment.o \
|
||||
gtkarg.o \
|
||||
gtkarrow.o \
|
||||
gtkaspectframe.o \
|
||||
gtkbin.o \
|
||||
gtkbindings.o \
|
||||
gtkbbox.o \
|
||||
gtkbox.o \
|
||||
gtkbutton.o \
|
||||
gtkcalendar.o \
|
||||
gtkcheckbutton.o \
|
||||
gtkcheckmenuitem.o \
|
||||
gtkclist.o \
|
||||
gtkcolorsel.o \
|
||||
gtkcolorseldialog.o \
|
||||
gtkcombo.o \
|
||||
gtkcontainer.o \
|
||||
gtkctree.o \
|
||||
gtkcurve.o \
|
||||
gtkdata.o \
|
||||
gtkdialog.o \
|
||||
gtkdnd.o \
|
||||
gtkdrawingarea.o \
|
||||
gtkeditable.o \
|
||||
gtkentry.o \
|
||||
gtkeventbox.o \
|
||||
gtkfilesel.o \
|
||||
gtkfixed.o \
|
||||
gtkfontsel.o \
|
||||
gtkframe.o \
|
||||
gtkgamma.o \
|
||||
gtkgc.o \
|
||||
gtkhandlebox.o \
|
||||
gtkhbbox.o \
|
||||
gtkhbox.o \
|
||||
gtkhpaned.o \
|
||||
gtkhruler.o \
|
||||
gtkhscale.o \
|
||||
gtkhscrollbar.o \
|
||||
gtkhseparator.o \
|
||||
gtkhsv.o \
|
||||
gtkimage.o \
|
||||
gtkimcontext.o \
|
||||
gtkimcontextsimple.o \
|
||||
gtkimmulticontext.o \
|
||||
gtkinputdialog.o \
|
||||
gtkinvisible.o \
|
||||
gtkitem.o \
|
||||
gtkitemfactory.o \
|
||||
gtklabel.o \
|
||||
gtklayout.o \
|
||||
gtklist.o \
|
||||
gtklistitem.o \
|
||||
gtkmain.o \
|
||||
gtkmarshal.o \
|
||||
gtkmenu.o \
|
||||
gtkmenubar.o \
|
||||
gtkmenufactory.o \
|
||||
gtkmenuitem.o \
|
||||
gtkmenushell.o \
|
||||
gtkmisc.o \
|
||||
gtknotebook.o \
|
||||
gtkobject.o \
|
||||
gtkoptionmenu.o \
|
||||
gtkpacker.o \
|
||||
gtkpaned.o \
|
||||
gtkpixmap.o \
|
||||
gtkplug.o \
|
||||
gtkpreview.o \
|
||||
gtkprogress.o \
|
||||
gtkprogressbar.o \
|
||||
gtkradiobutton.o \
|
||||
gtkradiomenuitem.o \
|
||||
gtkrange.o \
|
||||
gtkrc.o \
|
||||
gtkruler.o \
|
||||
gtkscale.o \
|
||||
gtkscrollbar.o \
|
||||
gtkscrolledwindow.o \
|
||||
gtkselection.o \
|
||||
gtkseparator.o \
|
||||
gtksignal.o \
|
||||
gtksocket.o \
|
||||
gtkspinbutton.o \
|
||||
gtkstyle.o \
|
||||
gtkstatusbar.o \
|
||||
gtktable.o \
|
||||
gtktearoffmenuitem.o \
|
||||
gtktext.o \
|
||||
gtktextbtree.o \
|
||||
gtktextbuffer.o \
|
||||
gtktextchild.o \
|
||||
gtktextdisplay.o \
|
||||
gtktextiter.o \
|
||||
gtktextlayout.o \
|
||||
gtktextmark.o \
|
||||
gtktextsegment.o \
|
||||
gtktexttag.o \
|
||||
gtktexttagtable.o \
|
||||
gtktexttypes.o \
|
||||
gtktextview.o \
|
||||
gtkthemes.o \
|
||||
gtktipsquery.o \
|
||||
gtktogglebutton.o \
|
||||
gtktoolbar.o \
|
||||
gtktooltips.o \
|
||||
gtktree.o \
|
||||
gtktreeitem.o \
|
||||
gtktypeutils.o \
|
||||
gtkvbbox.o \
|
||||
gtkvbox.o \
|
||||
gtkviewport.o \
|
||||
gtkvpaned.o \
|
||||
gtkvruler.o \
|
||||
gtkvscale.o \
|
||||
gtkvscrollbar.o \
|
||||
gtkvseparator.o \
|
||||
gtkwidget.o \
|
||||
gtkwindow.o
|
||||
|
||||
# Source headers which are non-autogenerated headers
|
||||
source_headers = \
|
||||
gtk.h \
|
||||
gtkaccelgroup.h \
|
||||
gtkaccellabel.h \
|
||||
gtkadjustment.h \
|
||||
gtkalignment.h \
|
||||
gtkarg.h \
|
||||
gtkarrow.h \
|
||||
gtkaspectframe.h \
|
||||
gtkbin.h \
|
||||
gtkbindings.h \
|
||||
gtkbbox.h \
|
||||
gtkbox.h \
|
||||
gtkbutton.h \
|
||||
gtkcalendar.h \
|
||||
gtkcheckbutton.h \
|
||||
gtkcheckmenuitem.h \
|
||||
gtkclist.h \
|
||||
gtkcolorsel.h \
|
||||
gtkcolorseldialog.h \
|
||||
gtkcombo.h \
|
||||
gtkcompat.h \
|
||||
gtkcontainer.h \
|
||||
gtkctree.h \
|
||||
gtkcurve.h \
|
||||
gtkdata.h \
|
||||
gtkdebug.h \
|
||||
gtkdialog.h \
|
||||
gtkdnd.h \
|
||||
gtkdrawingarea.h \
|
||||
gtkeditable.h \
|
||||
gtkentry.h \
|
||||
gtkenums.h \
|
||||
gtkeventbox.h \
|
||||
gtkfilesel.h \
|
||||
gtkfixed.h \
|
||||
gtkfontsel.h \
|
||||
gtkframe.h \
|
||||
gtkgamma.h \
|
||||
gtkgc.h \
|
||||
gtkhandlebox.h \
|
||||
gtkhbbox.h \
|
||||
gtkhbox.h \
|
||||
gtkhpaned.h \
|
||||
gtkhruler.h \
|
||||
gtkhscale.h \
|
||||
gtkhscrollbar.h \
|
||||
gtkhseparator.h \
|
||||
gtkhsv.h \
|
||||
gtkimage.h \
|
||||
gtkimcontext.h \
|
||||
gtkimmulticontext.h \
|
||||
gtkinputdialog.h \
|
||||
gtkinvisible.h \
|
||||
gtkitem.h \
|
||||
gtkitemfactory.h \
|
||||
gtklabel.h \
|
||||
gtklayout.h \
|
||||
gtklist.h \
|
||||
gtklistitem.h \
|
||||
gtkmain.h \
|
||||
gtkmenu.h \
|
||||
gtkmenubar.h \
|
||||
gtkmenufactory.h \
|
||||
gtkmenuitem.h \
|
||||
gtkmenushell.h \
|
||||
gtkmisc.h \
|
||||
gtknotebook.h \
|
||||
gtkobject.h \
|
||||
gtkoptionmenu.h \
|
||||
gtkpacker.h \
|
||||
gtkpaned.h \
|
||||
gdk-pixbuf-loader.h \
|
||||
gtkpixmap.h \
|
||||
gtkplug.h \
|
||||
gtkpreview.h \
|
||||
gtkprivate.h \
|
||||
gtkprogress.h \
|
||||
gtkprogressbar.h \
|
||||
gtkradiobutton.h \
|
||||
gtkradiomenuitem.h \
|
||||
gtkrange.h \
|
||||
gtkrc.h \
|
||||
gtkruler.h \
|
||||
gtkscale.h \
|
||||
gtkscrollbar.h \
|
||||
gtkscrolledwindow.h \
|
||||
gtkselection.h \
|
||||
gtkseparator.h \
|
||||
gtksignal.h \
|
||||
gtksocket.h \
|
||||
gtkspinbutton.h \
|
||||
gtkstyle.h \
|
||||
gtkstatusbar.h \
|
||||
gtktable.h \
|
||||
gtktearoffmenuitem.h \
|
||||
gtktextbuffer.h \
|
||||
gtktextiter.h \
|
||||
gtktextmark.h \
|
||||
gtktexttag.h \
|
||||
gtktexttagtable.h \
|
||||
gtktextview.h \
|
||||
gtktext.h \
|
||||
gtkthemes.h \
|
||||
gtktipsquery.h \
|
||||
gtktogglebutton.h \
|
||||
gtktoolbar.h \
|
||||
gtktooltips.h \
|
||||
gtktree.h \
|
||||
gtktreeitem.h \
|
||||
gtktypeutils.h \
|
||||
gtkvbbox.h \
|
||||
gtkvbox.h \
|
||||
gtkviewport.h \
|
||||
gtkvpaned.h \
|
||||
gtkvruler.h \
|
||||
gtkvscale.h \
|
||||
gtkvscrollbar.h \
|
||||
gtkvseparator.h \
|
||||
gtkwidget.h \
|
||||
gtkwindow.h
|
||||
|
||||
# More headers to use when autogenerating.
|
||||
gdk_headers = \
|
||||
../gdk/gdkcc.h \
|
||||
../gdk/gdkcolor.h \
|
||||
../gdk/gdkcursor.h \
|
||||
../gdk/gdkdnd.h \
|
||||
../gdk/gdkdrawable.h \
|
||||
../gdk/gdkevents.h \
|
||||
../gdk/gdkfont.h \
|
||||
../gdk/gdkgc.h \
|
||||
../gdk/gdkim.h \
|
||||
../gdk/gdkimage.h \
|
||||
../gdk/gdkinput.h \
|
||||
../gdk/gdkpixmap.h \
|
||||
../gdk/gdkproperty.h \
|
||||
../gdk/gdkregion.h \
|
||||
../gdk/gdkrgb.h \
|
||||
../gdk/gdkselection.h \
|
||||
../gdk/gdktypes.h \
|
||||
../gdk/gdkvisual.h \
|
||||
../gdk/gdkwindow.h
|
||||
|
||||
../config.h : ../config.h.win32
|
||||
cp $< $@
|
||||
|
||||
gtkcompat.h : gtkcompat.h.win32
|
||||
cp $< $@
|
||||
|
||||
GENERATED = gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c
|
||||
|
||||
#
|
||||
# Generated source files:
|
||||
#
|
||||
generated : $(GENERATED)
|
||||
|
||||
gtk.defs : makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers)
|
||||
$(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) >gd.tmp
|
||||
cat gd.tmp gtk-boxed.defs >gtk.defs
|
||||
rm gd.tmp
|
||||
|
||||
# generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
|
||||
gtktypebuiltins.h: gtk.defs maketypes.awk
|
||||
$(AWK) -f maketypes.awk gtk.defs macros >gtktypebuiltins.h
|
||||
|
||||
# generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
|
||||
gtktypebuiltins_vars.c: gtk.defs maketypes.awk
|
||||
$(AWK) -f maketypes.awk gtk.defs variables >gtktypebuiltins_vars.c
|
||||
|
||||
# generate type entries for type-id registration
|
||||
gtktypebuiltins_ids.c: gtk.defs maketypes.awk
|
||||
$(AWK) -f maketypes.awk gtk.defs entries >gtktypebuiltins_ids.c
|
||||
|
||||
# generate enum value arrays
|
||||
gtktypebuiltins_evals.c: makeenums.pl gtk.defs
|
||||
$(PERL) makeenums.pl arrays $(source_headers) $(gdk_headers) >gtktypebuiltins_evals.c
|
||||
|
||||
gtkmarshal.h gtkmarshal.c : gtkmarshal.list genmarshal.pl
|
||||
$(PERL) genmarshal.pl gtkmarshal.list s-gmh s-gmc
|
||||
-rm gtkmarshal.c
|
||||
mv s-gmc gtkmarshal.c
|
||||
-rm gtkmarshal.h
|
||||
mv s-gmh gtkmarshal.h
|
||||
|
||||
#
|
||||
# Linking:
|
||||
#
|
||||
gtk-win32-$(GTK_VER).dll : generated $(gtk_OBJECTS) gtk.def
|
||||
$(GLIB)/build-dll gtk-win32 $(GTK_VER) gtk.def $(gtk_OBJECTS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) -luser32
|
||||
|
||||
#
|
||||
# Test programs:
|
||||
#
|
||||
testcalendar.exe : testcalendar.o
|
||||
$(CC) $(CFLAGS) -o $@ testcalendar.o $(GTK_LIBS) $(GDK_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
# Must have separate rules for these objects that don't go in the DLL
|
||||
testcalendar.o : testcalendar.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testcalendar\" testcalendar.c
|
||||
|
||||
testdnd.exe : testdnd.o
|
||||
$(CC) $(CFLAGS) -o $@ testdnd.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
testdnd.o : testdnd.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testdnd\" testdnd.c
|
||||
|
||||
testgtk.exe : testgtk.o
|
||||
$(CC) $(CFLAGS) -o $@ testgtk.o $(GTK_LIBS) $(GDK_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
testgtk.o : testgtk.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgtk\" testgtk.c
|
||||
|
||||
testinput.exe : testinput.o
|
||||
$(CC) $(CFLAGS) -o $@ testinput.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
testinput.o : testinput.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testinput\" testinput.c
|
||||
|
||||
testrgb.exe : testrgb.o
|
||||
$(CC) $(CFLAGS) -o $@ testrgb.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
testrgb.o : testrgb.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testrgb\" testrgb.c
|
||||
|
||||
testselection.exe : testselection.o
|
||||
$(CC) $(CFLAGS) -o $@ testselection.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
testselection.o : testselection.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testselection\" testselection.c
|
||||
|
||||
testthreads.exe : testthreads.o
|
||||
$(CC) $(CFLAGS) -o $@ testthreads.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(PTHREAD_LIB) $(LDFLAGS)
|
||||
|
||||
testthreads.o : testthreads.c
|
||||
$(CC) $(CFLAGS) -I$(PTHREAD_INC) -c -DG_LOG_DOMAIN=\"testthreads\" -DUSE_PTHREADS=1 testthreads.c
|
||||
|
||||
simple.exe : simple.o
|
||||
$(CC) $(CFLAGS) -o $@ simple.o $(GTK_LIBS) $(GDK_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
simple.o : simple.c
|
||||
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"simple\" simple.c
|
||||
|
||||
# The rmgen target removes just the generated source files
|
||||
rmgen:
|
||||
-rm $(GENERATED)
|
||||
|
||||
# Hack to get an updated makefile.mingw automatically after updating
|
||||
# makefile.mingw.in. Only for developer use.
|
||||
makefile.mingw: makefile.mingw.in
|
||||
sed -e 's,@GTK_MAJOR[_]VERSION@,@GTK_MAJOR_VERSION@,' \
|
||||
-e 's,@GTK_MINOR[_]VERSION@,@GTK_MINOR_VERSION@,' <$< >$@
|
@ -12,7 +12,7 @@
|
||||
# and LOCALEDIR macros
|
||||
|
||||
ifndef PACKAGE
|
||||
PACKAGE = gtk+
|
||||
PACKAGE = gtk20
|
||||
endif
|
||||
ifndef INSTALLSUBDIR
|
||||
INSTALLSUBDIR = $(PACKAGE)
|
||||
|
Loading…
Reference in New Issue
Block a user