mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-23 20:30:15 +00:00
made fil mode GDK_STIPPLED actually work -> check boxes and radio buttons
2001-05-25 Hans Breuer <hans@breuer.org> * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually work -> check boxes and radio buttons are drawn now, even on win9x. Improved line settings a bit, still no clue how to get really dotted lines on win9x, on NT it's PS_ALTERNATE. * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for GDK_HINT_MIN_SIZE as well * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST * gtk/gtk.def : updated * gtk/gtktreeprivate.h : change column_drop_func to be a function pointer not a function pointer pointer * tests/testdnd.c : include <stdlib.h> for putenv prototype * tests/testsocket.c : made it compile on win32 again * tests/makefile.msc : one more test-app uses prop-editor.obj
This commit is contained in:
parent
c436d8e249
commit
b5db5d514d
23
ChangeLog
23
ChangeLog
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -1,3 +1,26 @@
|
||||
2001-05-25 Hans Breuer <hans@breuer.org>
|
||||
|
||||
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
|
||||
work -> check boxes and radio buttons are drawn now, even on win9x.
|
||||
Improved line settings a bit, still no clue how to get really dotted
|
||||
lines on win9x, on NT it's PS_ALTERNATE.
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
|
||||
GDK_HINT_MIN_SIZE as well
|
||||
|
||||
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
|
||||
|
||||
* gtk/gtk.def : updated
|
||||
|
||||
* gtk/gtktreeprivate.h : change column_drop_func to be a function
|
||||
pointer not a function pointer pointer
|
||||
|
||||
* tests/testdnd.c : include <stdlib.h> for putenv prototype
|
||||
|
||||
* tests/testsocket.c : made it compile on win32 again
|
||||
|
||||
* tests/makefile.msc : one more test-app uses prop-editor.obj
|
||||
|
||||
2001-05-22 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_get_child): New function
|
||||
|
@ -20,6 +20,7 @@ EXTRA_DIST = \
|
||||
gdkinput.c \
|
||||
gdkinput-win32.c \
|
||||
gdkinput-win32.h \
|
||||
gdkkeys-win32.c \
|
||||
gdkmain-win32.c \
|
||||
gdkpango-win32.c \
|
||||
gdkpixmap-win32.c \
|
||||
|
@ -277,7 +277,12 @@ gdk_win32_gc_values_to_win32values (GdkGCValues *values,
|
||||
{
|
||||
gdk_drawable_get_size (win32_gc->stipple, &sw, &sh);
|
||||
|
||||
if (sw != 8 || sh != 8)
|
||||
#if 0 /* HB: this size limitation is disabled to make radio and check
|
||||
* buttons work. I got the impression from the API docs, that
|
||||
* it shouldn't be necessary at all, but win9x would do the clipping
|
||||
*/
|
||||
if ( (sw != 8 || sh != 8)
|
||||
&& !IS_WIN_NT ()) /* HB: the MSDN says it's a Win95 limitation */
|
||||
{
|
||||
/* It seems that it *must* be 8x8, at least on my machine.
|
||||
* Thus, tile an 8x8 bitmap with the stipple in case it is
|
||||
@ -304,6 +309,7 @@ gdk_win32_gc_values_to_win32values (GdkGCValues *values,
|
||||
gdk_gc_unref (gc);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
gdk_drawable_ref (win32_gc->stipple);
|
||||
win32_gc->values_mask |= GDK_GC_STIPPLE;
|
||||
GDK_NOTE (MISC,
|
||||
@ -402,19 +408,26 @@ gdk_win32_gc_values_to_win32values (GdkGCValues *values,
|
||||
|
||||
if (mask & GDK_GC_LINE_STYLE)
|
||||
{
|
||||
win32_gc->pen_style &= ~(PS_STYLE_MASK);
|
||||
GDK_NOTE (MISC, (g_print ("%sps|=", s),
|
||||
s = ","));
|
||||
switch (values->line_style)
|
||||
{
|
||||
case GDK_LINE_SOLID:
|
||||
win32_gc->pen_style &= ~(PS_STYLE_MASK);
|
||||
GDK_NOTE (MISC, g_print ("LINE_SOLID"));
|
||||
win32_gc->pen_style |= PS_SOLID;
|
||||
break;
|
||||
case GDK_LINE_ON_OFF_DASH:
|
||||
case GDK_LINE_DOUBLE_DASH: /* ??? */
|
||||
GDK_NOTE (MISC, g_print ("DASH"));
|
||||
win32_gc->pen_style |= PS_DASH;
|
||||
/* only set the linestyle here, if it isn't already set
|
||||
* gdk_win32_gc_set_dashes () knows better
|
||||
*/
|
||||
if (0 == (win32_gc->values_mask & GDK_GC_LINE_STYLE))
|
||||
{
|
||||
win32_gc->pen_style &= ~(PS_STYLE_MASK);
|
||||
GDK_NOTE (MISC, g_print ("DASH"));
|
||||
win32_gc->pen_style |= PS_DASH;
|
||||
}
|
||||
break;
|
||||
}
|
||||
win32_gc->values_mask |= GDK_GC_LINE_STYLE;
|
||||
@ -625,8 +638,10 @@ gdk_win32_gc_set_dashes (GdkGC *gc,
|
||||
|
||||
win32_gc = GDK_GC_WIN32 (gc);
|
||||
|
||||
/* mark as set, see gdk_win32_gc_values_to_win32values () for the reason */
|
||||
win32_gc->values_mask |= GDK_GC_LINE_STYLE;
|
||||
|
||||
win32_gc->pen_style &= ~(PS_STYLE_MASK);
|
||||
win32_gc->pen_style |= PS_DASH;
|
||||
|
||||
/*
|
||||
* Set the extended line style. This could be done by
|
||||
@ -910,6 +925,7 @@ predraw_set_foreground (GdkGC *gc,
|
||||
|
||||
logbrush.lbStyle = BS_SOLID;
|
||||
logbrush.lbColor = fg;
|
||||
logbrush.lbHatch = 0;
|
||||
|
||||
if (*ok && (hpen = ExtCreatePen (win32_gc->pen_style,
|
||||
(win32_gc->pen_width > 0 ? win32_gc->pen_width : 1),
|
||||
@ -924,12 +940,11 @@ predraw_set_foreground (GdkGC *gc,
|
||||
case GDK_OPAQUE_STIPPLED:
|
||||
if (*ok && (hbr = CreatePatternBrush (GDK_PIXMAP_HBITMAP (win32_gc->stipple))) == NULL)
|
||||
WIN32_GDI_FAILED ("CreatePatternBrush"), *ok = FALSE;
|
||||
|
||||
if (*ok && !SetBrushOrgEx(win32_gc->hdc, gc->ts_x_origin,
|
||||
gc->ts_y_origin, NULL))
|
||||
WIN32_GDI_FAILED ("SetBrushOrgEx"), *ok = FALSE;
|
||||
|
||||
break;
|
||||
|
||||
case GDK_SOLID:
|
||||
default:
|
||||
if (*ok && (hbr = CreateSolidBrush (fg)) == NULL)
|
||||
@ -1076,6 +1091,25 @@ gdk_win32_hdc_get (GdkDrawable *drawable,
|
||||
if ((hrgn = ExtCreateRegion (NULL, nbytes, rgndata)) == NULL)
|
||||
WIN32_API_FAILED ("ExtCreateRegion"), ok = FALSE;
|
||||
|
||||
/*
|
||||
* XXX: combine the fillmode-stipple with the clip region possibly
|
||||
* this needs to be done with the hcliprgn below as well, but
|
||||
* the test case here were check boxes and radio buttons ...
|
||||
*/
|
||||
if ( (win32_gc->values_mask & GDK_GC_STIPPLE)
|
||||
&& (win32_gc->values_mask & GDK_GC_FILL) && (win32_gc->fill_style == GDK_STIPPLED))
|
||||
{
|
||||
HRGN hstipplergn = BitmapToRegion ((HBITMAP) GDK_PIXMAP_HBITMAP (win32_gc->stipple));
|
||||
|
||||
if (OffsetRgn (hstipplergn,
|
||||
win32_gc->values_mask & GDK_GC_TS_X_ORIGIN ? gc->ts_x_origin : 0,
|
||||
win32_gc->values_mask & GDK_GC_TS_Y_ORIGIN ? gc->ts_y_origin : 0) == ERROR)
|
||||
WIN32_API_FAILED ("OffsetRgn"), ok = FALSE;
|
||||
if (CombineRgn (hrgn, hrgn, hstipplergn, RGN_AND) == ERROR)
|
||||
WIN32_API_FAILED ("CombineRgn"), ok = FALSE;
|
||||
if (!DeleteObject (hstipplergn))
|
||||
WIN32_API_FAILED ("DeleteObject");
|
||||
}
|
||||
if (ok && SelectClipRgn (win32_gc->hdc, hrgn) == ERROR)
|
||||
WIN32_API_FAILED ("SelectClipRgn"), ok = FALSE;
|
||||
|
||||
@ -1119,8 +1153,10 @@ gdk_win32_hdc_get (GdkDrawable *drawable,
|
||||
PS_GEOMETRIC ? "GEOMETRIC" : "COSMETIC"),
|
||||
((extlogpen.elpPenStyle & PS_STYLE_MASK) ==
|
||||
PS_NULL ? "NULL" :
|
||||
((extlogpen.elpPenStyle & PS_STYLE_MASK) ==
|
||||
PS_SOLID ? "SOLID" : "???")),
|
||||
((extlogpen.elpPenStyle & PS_STYLE_MASK) == PS_SOLID ? "SOLID" :
|
||||
((extlogpen.elpPenStyle & PS_STYLE_MASK) == PS_DOT ? "DOT" :
|
||||
((extlogpen.elpPenStyle & PS_STYLE_MASK) == PS_DASH ? "DASH" :
|
||||
"???")))),
|
||||
((extlogpen.elpPenStyle & PS_ENDCAP_MASK) ==
|
||||
PS_ENDCAP_FLAT ? "FLAT" :
|
||||
((extlogpen.elpPenStyle & PS_ENDCAP_MASK) ==
|
||||
|
@ -1267,7 +1267,7 @@ gdk_window_set_hints (GdkWindow *window,
|
||||
rect.bottom = min_height;
|
||||
dwStyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE);
|
||||
dwExStyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE);
|
||||
AdjustWindowRectEx (&rect, dwStyle, FALSE, dwExStyle);
|
||||
SafeAdjustWindowRectEx (&rect, dwStyle, FALSE, dwExStyle);
|
||||
impl->hint_min_width = rect.right - rect.left;
|
||||
impl->hint_min_height = rect.bottom - rect.top;
|
||||
|
||||
|
13
gtk/gtk.def
13
gtk/gtk.def
@ -135,6 +135,7 @@ EXPORTS
|
||||
gtk_aspect_frame_get_type
|
||||
gtk_aspect_frame_new
|
||||
gtk_aspect_frame_set
|
||||
gtk_bin_get_child
|
||||
gtk_bin_get_type
|
||||
gtk_binary_age
|
||||
gtk_binding_entry_add_signal
|
||||
@ -597,7 +598,7 @@ EXPORTS
|
||||
gtk_image_get_stock
|
||||
gtk_image_get_storage_type
|
||||
gtk_image_get_type
|
||||
gtk_image_menu_item_add_image
|
||||
; gtk_image_menu_item_add_image
|
||||
gtk_image_menu_item_get_image
|
||||
gtk_image_menu_item_get_type
|
||||
gtk_image_menu_item_new
|
||||
@ -1257,7 +1258,7 @@ EXPORTS
|
||||
gtk_text_iter_has_tag
|
||||
gtk_text_iter_in_range
|
||||
gtk_text_iter_is_end
|
||||
gtk_text_iter_is_first
|
||||
; gtk_text_iter_is_first
|
||||
gtk_text_iter_reorder
|
||||
gtk_text_iter_set_line
|
||||
gtk_text_iter_set_line_index
|
||||
@ -1428,6 +1429,7 @@ EXPORTS
|
||||
gtk_tree_model_iter_parent
|
||||
gtk_tree_model_range_changed
|
||||
gtk_tree_model_ref_node
|
||||
gtk_tree_model_reordered
|
||||
gtk_tree_model_sort_convert_path
|
||||
gtk_tree_model_sort_get_model
|
||||
gtk_tree_model_sort_get_type
|
||||
@ -1443,6 +1445,7 @@ EXPORTS
|
||||
gtk_tree_path_new
|
||||
gtk_tree_path_new_from_string
|
||||
gtk_tree_path_prepend_index
|
||||
gtk_tree_view_get_columns
|
||||
gtk_tree_view_set_rows_drag_dest
|
||||
gtk_tree_view_set_rows_drag_source
|
||||
gtk_tree_prepend
|
||||
@ -1740,4 +1743,10 @@ EXPORTS
|
||||
gtk_window_unmaximize
|
||||
gtk_window_unstick
|
||||
|
||||
gtk_image_menu_item_new_with_label
|
||||
gtk_image_menu_item_set_image
|
||||
gtk_size_group_add_widget
|
||||
gtk_size_group_new
|
||||
gtk_text_buffer_remove_all_tags
|
||||
gtk_tree_view_column_set_reorderable
|
||||
|
||||
|
@ -129,7 +129,7 @@ struct _GtkTreeViewPrivate
|
||||
GList *columns;
|
||||
gint header_height;
|
||||
|
||||
GtkTreeViewColumnDropFunc *column_drop_func;
|
||||
GtkTreeViewColumnDropFunc column_drop_func;
|
||||
gpointer column_drop_func_data;
|
||||
GtkDestroyNotify column_drop_func_data_destroy;
|
||||
GList *column_drag_info;
|
||||
|
@ -61,6 +61,10 @@ EXTRA_OBJETCS = prop-editor.obj
|
||||
EXTRA_OBJETCS = prop-editor.obj
|
||||
!ENDIF
|
||||
|
||||
!IFDEF EXTRA_testtext
|
||||
EXTRA_OBJETCS = prop-editor.obj
|
||||
!ENDIF
|
||||
|
||||
$(TESTAPP).exe : ../gtk/gtk-win32-$(GTK_VER).dll $(TESTAPP).obj
|
||||
$(CC) $(CFLAGS) $(TESTAPP).obj $(EXTRA_OBJETCS) $(GTK_LIBS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS)
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <stdlib.h> /* putenv */
|
||||
#include "gtk/gtk.h"
|
||||
|
||||
/* Target side drag signals */
|
||||
|
@ -1,7 +1,13 @@
|
||||
#include <gtk/gtk.h>
|
||||
#include "x11/gdkx.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#if defined (GDK_WINDOWING_X11)
|
||||
#include "x11/gdkx.h"
|
||||
#elif defined (GDK_WINDOWING_WIN32)
|
||||
#include "win32/gdkwin32.h"
|
||||
#define GDK_WINDOW_XWINDOW(w) (guint)GDK_WINDOW_HWND(w)
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user