2001-04-14  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.def :
	* gdk/makefile.msc : updated

	* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
	"fill with tile" do so with new helper function	gdk_win32_draw_tiles
	(the testgtk::text backgound pixmap is drawn again)
	Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
	Win32 Pango change
	* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles

	* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
	Not sure if the returned settings have the right unit, because I couldn't
	find any docs for the X version ...

	* gtk/gtk.def :
	* gtk/makefile.msc.in : updated
This commit is contained in:
Hans Breuer 2001-04-13 23:56:19 +00:00 committed by Hans Breuer
parent 21f13fb7e0
commit eed3dbb64c
13 changed files with 273 additions and 27 deletions

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -1,3 +1,22 @@
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Thu Apr 12 17:41:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some

View File

@ -304,17 +304,21 @@ EXPORTS
gdk_win32_hdc_release
gdk_window_add_filter
gdk_window_at_pointer
gdk_window_begin_move_drag
gdk_window_begin_paint_rect
gdk_window_begin_paint_region
gdk_window_begin_resize_drag
gdk_window_clear
gdk_window_clear_area
gdk_window_clear_area_e
gdk_window_constrain_size
gdk_window_destroy
gdk_window_end_paint
gdk_window_foreign_new
gdk_window_get_children
gdk_window_get_deskrelative_origin
gdk_window_get_events
gdk_window_get_frame_extents
gdk_window_get_geometry
gdk_window_get_origin
gdk_window_get_parent
@ -376,7 +380,11 @@ EXPORTS
gdk_window_stick
gdk_window_unmaximize
gdk_window_unstick
gdk_window_begin_move_drag
gdk_window_begin_resize_drag
gdk_window_constrain_size
gdk_window_get_frame_extents
gdk_color_get_type
gdk_event_get_type
gdk_event_mask_get_type
gdk_extension_mode_get_type
gdk_input_condition_get_type
gdk_modifier_type_get_type
gdk_set_double_click_time
gdk_setting_get

View File

@ -36,6 +36,10 @@ LDFLAGS = /link $(LINKDEBUG)
GTK_VER=1.3
GDK_PIXBUF_VER=$(GTK_VER)
!IFNDEF PERL
PERL = perl
!ENDIF
CFLAGS = -I . -I .. $(GLIB_CFLAGS) $(PANGO_CFLAGS) -I ../gdk-pixbuf \
-DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
EXTRALIBS = $(WTKIT)\lib\i386\wntab32x.lib $(GLIB_LIBS) \
@ -44,6 +48,8 @@ EXTRALIBS = $(WTKIT)\lib\i386\wntab32x.lib $(GLIB_LIBS) \
all: \
..\config.h \
gdkconfig.h \
gdkenumtypes.h \
gdkenumtypes.c \
gdk-win32-$(GTK_VER).dll \
testgdk.exe
@ -52,6 +58,7 @@ gdk_OBJECTS = \
gdkcolor.obj \
gdkcursor.obj \
gdkdraw.obj \
gdkenumtypes.obj \
gdkevents.obj \
gdkfont.obj \
gdkgc.obj \
@ -69,6 +76,38 @@ gdk_OBJECTS = \
gdkrgb.obj \
gdkwindow.obj
gdk_public_h_sources = \
gdk.h \
gdkcolor.h \
gdkcompat.h \
gdkcursor.h \
gdkcursors.h \
gdkdnd.h \
gdkdrawable.h \
gdkevents.h \
gdkfont.h \
gdkgc.h \
gdkkeysyms.h \
gdki18n.h \
gdkimage.h \
gdkinput.h \
gdkkeys.h \
gdkpango.h \
gdkpixbuf.h \
gdkpixmap.h \
gdkproperty.h \
gdkregion.h \
gdkrgb.h \
gdkselection.h \
gdktypes.h \
gdkvisual.h \
gdkwindow.h \
gdkenumtypes.h: $(gdk_public_h_sources) makeenums.pl
$(PERL) makeenums.pl include $(gdk_public_h_sources) > gdkenumtypes.h
gdkenumtypes.c: $(gdk_public_h_sources) makeenums.pl
$(PERL) makeenums.pl cfile $(gdk_public_h_sources) > gdkenumtypes.c
..\config.h : ..\config.h.win32
copy ..\config.h.win32 ..\config.h

View File

@ -233,6 +233,15 @@ gdk_win32_draw_rectangle (GdkDrawable *drawable,
(filled ? "fill " : ""),
width, height, x, y));
if (filled
&& (gc_private->tile)
&& (gc_private->values_mask & GDK_GC_TILE)
&& (gc_private->values_mask & GDK_GC_FILL))
{
gdk_win32_draw_tiles (drawable, gc, gc_private->tile, x, y, width, height);
return;
}
hdc = gdk_win32_hdc_get (drawable, gc, mask);
#if 0
@ -629,6 +638,7 @@ gdk_win32_draw_drawable (GdkDrawable *drawable,
src_rgn = CreateRectRgn (0, 0, src_width + 1, src_height + 1);
draw_rgn = CreateRectRgn (xsrc, ysrc, xsrc + width + 1, ysrc + height + 1);
#if 0 /* HB: I dont't see reason to do this ... */
if (GDK_IS_WINDOW_IMPL_WIN32 (drawable))
{
/* If we are drawing on a window, calculate the region that is
@ -652,6 +662,7 @@ gdk_win32_draw_drawable (GdkDrawable *drawable,
if (!DeleteObject (outside_rgn))
WIN32_GDI_FAILED ("DeleteObject");
}
#endif
#if 1 /* Don't know if this is necessary */
if (CombineRgn (draw_rgn, draw_rgn, src_rgn, RGN_AND) == COMPLEXREGION)
@ -746,6 +757,44 @@ gdk_win32_draw_drawable (GdkDrawable *drawable,
gdk_win32_hdc_release (drawable, gc, 0);
}
void
gdk_win32_draw_tiles (GdkDrawable *drawable,
GdkGC *gc,
GdkPixmap *tile,
gint x_from,
gint y_from,
gint max_width,
gint max_height)
{
gint x = x_from, y = y_from;
gint tile_width, tile_height;
gint width, height;
gdk_drawable_get_size (drawable, &width, &height);
gdk_drawable_get_size (tile, &tile_width, &tile_height);
width = MIN (width, max_width);
height = MIN (height, max_height);
tile_width = MIN (tile_width, max_width);
tile_height = MIN (tile_height, max_height);
while (y < height)
{
x = x_from;
while (x < width)
{
gdk_win32_draw_drawable (drawable, gc, tile,
x % tile_width, /* xsrc */
y % tile_height, /* ysrc */
x, y, /* dest */
tile_width, tile_height);
x += tile_width;
}
y += tile_height;
}
}
static void
gdk_win32_draw_points (GdkDrawable *drawable,
GdkGC *gc,
@ -893,7 +942,7 @@ gdk_win32_draw_glyphs (GdkDrawable *drawable,
if (SetBkMode (hdc, TRANSPARENT) == 0)
WIN32_GDI_FAILED ("SetBkMode");
if (GDI_ERROR == SetTextAlign (hdc, TA_LEFT|TA_BOTTOM|TA_NOUPDATECP))
if (GDI_ERROR == SetTextAlign (hdc, TA_LEFT|TA_BASELINE|TA_NOUPDATECP))
WIN32_GDI_FAILED ("SetTextAlign");
pango_win32_render (hdc, font, glyphs, x, y);

View File

@ -43,6 +43,15 @@ void _gdk_window_process_expose (GdkWindow *window,
gulong serial,
GdkRectangle *area);
/* gdkdrawable-win32.c, background draw helper */
void gdk_win32_draw_tiles (GdkDrawable *drawable,
GdkGC *gc,
GdkPixmap *tile,
gint x,
gint y,
gint width,
gint height);
void gdk_win32_selection_init (void);
void gdk_win32_dnd_exit (void);

View File

@ -233,3 +233,25 @@ gdk_property_delete (GdkWindow *window,
else
g_warning ("gdk_property_delete: General case not implemented");
}
gboolean
gdk_setting_get (const gchar *name,
GValue *value)
{
/*
* XXX : if these values get changed through the Windoze UI the
* respective gdk_events are not generated yet.
*/
if (strcmp ("double-click-timeout", name) == 0)
{
g_value_set_int (value, GetDoubleClickTime ());
return TRUE;
}
else if (strcmp ("drag-threshold", name) == 0)
{
g_value_set_int (value, MAX(GetSystemMetrics (SM_CXDRAG), GetSystemMetrics (SM_CYDRAG)));
return TRUE;
}
else
return FALSE;
}

View File

@ -27,19 +27,19 @@ EXPORTS
GTK_TYPE_GDK_AXIS_USE
GTK_TYPE_GDK_BYTE_ORDER
GTK_TYPE_GDK_CAP_STYLE
GTK_TYPE_GDK_COLOR
; GTK_TYPE_GDK_COLOR
GTK_TYPE_GDK_CROSSING_MODE
GTK_TYPE_GDK_CURSOR_TYPE
GTK_TYPE_GDK_DRAG_ACTION
GTK_TYPE_GDK_DRAG_PROTOCOL
GTK_TYPE_GDK_EVENT
; GTK_TYPE_GDK_EVENT
GTK_TYPE_GDK_EVENT_MASK
GTK_TYPE_GDK_EVENT_TYPE
GTK_TYPE_GDK_EXTENSION_MODE
GTK_TYPE_GDK_FILL
GTK_TYPE_GDK_FILL_RULE
GTK_TYPE_GDK_FILTER_RETURN
GTK_TYPE_GDK_FONT
; GTK_TYPE_GDK_FONT
GTK_TYPE_GDK_FONT_TYPE
GTK_TYPE_GDK_FUNCTION
GTK_TYPE_GDK_GC_VALUES_MASK
@ -64,7 +64,7 @@ EXPORTS
GTK_TYPE_GDK_SUBWINDOW_MODE
GTK_TYPE_GDK_TARGET
GTK_TYPE_GDK_VISIBILITY_STATE
GTK_TYPE_GDK_VISUAL
; GTK_TYPE_GDK_VISUAL
GTK_TYPE_GDK_VISUAL_TYPE
GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE
GTK_TYPE_GDK_WINDOW_CLASS
@ -779,14 +779,6 @@ EXPORTS
gtk_menu_bar_prepend
gtk_menu_bar_set_shadow_type
gtk_menu_detach
gtk_menu_factory_add_entries
gtk_menu_factory_add_subfactory
gtk_menu_factory_destroy
gtk_menu_factory_find
gtk_menu_factory_new
gtk_menu_factory_remove_entries
gtk_menu_factory_remove_paths
gtk_menu_factory_remove_subfactory
gtk_menu_get_accel_group
gtk_menu_get_active
gtk_menu_get_attach_widget
@ -928,13 +920,8 @@ EXPORTS
gtk_paned_get_type
gtk_paned_pack1
gtk_paned_pack2
gtk_paned_set_handle_size
; gtk_paned_set_handle_size
gtk_paned_set_position
gtk_pattern_match
gtk_pattern_match_simple
gtk_pattern_match_string
gtk_pattern_spec_free_segs
gtk_pattern_spec_init
gtk_pixmap_get
gtk_pixmap_get_type
gtk_pixmap_new
@ -1503,7 +1490,6 @@ EXPORTS
gtk_widget_pop_colormap
gtk_widget_pop_composite_child
gtk_widget_pop_style
gtk_widget_popup
gtk_widget_push_colormap
gtk_widget_push_composite_child
gtk_widget_push_style
@ -1557,7 +1543,7 @@ EXPORTS
gtk_window_add_accel_group
gtk_window_add_embedded_xid
gtk_window_deiconify
gtk_window_get_location
; gtk_window_get_location
gtk_window_get_type
gtk_window_iconify
gtk_window_maximize
@ -1571,11 +1557,11 @@ EXPORTS
gtk_window_set_focus
gtk_window_set_geometry_hints
gtk_window_set_gravity
gtk_window_set_location
; gtk_window_set_location
gtk_window_set_modal
gtk_window_set_policy
gtk_window_set_position
gtk_window_set_size
; gtk_window_set_size
gtk_window_set_title
gtk_window_set_transient_for
gtk_window_set_wmclass