summaryrefslogtreecommitdiff
path: root/gdk/gdkwindow.c
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2000-05-01 22:06:49 +0000
committerTor Lillqvist <tml@src.gnome.org>2000-05-01 22:06:49 +0000
commit1f149b3a8d4180024df25f700307406520159bec (patch)
tree937f197543fe407b6f4d80869f61db344df010c4 /gdk/gdkwindow.c
parent33dc3d6d4cf6ec76376c8ad30e165969db5324e9 (diff)
downloadgdk-pixbuf-1f149b3a8d4180024df25f700307406520159bec.tar.gz
Large changes to the Win32 backend, partially made necessary by the
2000-05-02 Tor Lillqvist <tml@iki.fi> Large changes to the Win32 backend, partially made necessary by the changes to the backend-independent internal structures. Attempts to implement similar backing store stuff as on X11. The current (CVS) version of the Win32 backend is *not* as stable as it was before the no-flicker branch was merged. A zipfile with that version is available from http://www.gimp.org/win32/. That should be use by "production" code until this CVS version is usable. (But note, the Win32 backend has never been claimed to be "production quality".) * README.win32: Add the above comment about versions. * gdk/gdkwindow.c: Don't use backing store for now on Win32. * gdk/gdk.def: Update. * gdk/gdkfont.h: Declare temporary Win32-only functions. Will presumably be replaced by some more better mechanism as 1.4 gets closer to release shape. * gdk/makefile.{cygwin,msc}: Update. * gdk/win32/*.c: Correct inclusions of the backend-specific and internal headers. Change code according to changes in these. Use gdk_drawable_*, not gdk_window_* where necessary. * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not our old DND. * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try to interpret single characters as UTF-8. Thanks to Hans Breuer. Use correct function name in warning messages. * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the GSourceFuncs gdk_event_prepare and gdk_event_check. (gdk_event_get_graphics_expose): Do implement, use PeekMessage. Thanks to Hans Breuer. (event_mask_string): Debugging function to print an GdkEventMask. (gdk_pointer_grab): Use it. * gdk/win32/gdkfont-win32.c: The Unicode subrange that the (old) book I used claimed was Hangul actually is CJK Unified Ideographs Extension A. Also, Hangul Syllables were missing. Improve logging. * gdk/win32/gdkgc-win32.c: Largish changes. * gdk/win32/gdkim-win32.c (gdk_set_locale): Use g_win32_getlocale() from GLib, and not setlocale() to get current locale name. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to gdkwin32.h, similarily as in the X11 backend. * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix, assignment was used instead of equals in if test. Thanks to Hans Breuer. * gdk/win32/makefile.{cygwin,msc} * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the path to the Win32 headers that works also with the mingw compiler. * gtk/gtkstyle.c: Include <string.h>.
Diffstat (limited to 'gdk/gdkwindow.c')
-rw-r--r--gdk/gdkwindow.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index efe2fe57a..3164b8ecf 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -29,6 +29,12 @@
#include "gdk.h" /* For gdk_rectangle_union() */
#include "gdkpixmap.h"
+#ifndef USE_BACKING_STORE
+#ifndef GDK_WINDOWING_WIN32
+#define USE_BACKING_STORE /* Doesn't work yet on Win32 */
+#endif
+#endif
+
typedef struct _GdkWindowPaint GdkWindowPaint;
struct _GdkWindowPaint
@@ -435,6 +441,7 @@ void
gdk_window_begin_paint_region (GdkWindow *window,
GdkRegion *region)
{
+#ifdef USE_BACKING_STORE
GdkWindowPrivate *private = (GdkWindowPrivate *)window;
GdkRectangle clip_box;
GdkWindowPaint *paint;
@@ -520,11 +527,13 @@ gdk_window_begin_paint_region (GdkWindow *window,
gdk_region_destroy (init_region);
private->paint_stack = g_slist_prepend (private->paint_stack, paint);
+#endif /* USE_BACKING_STORE */
}
void
gdk_window_end_paint (GdkWindow *window)
{
+#ifdef USE_BACKING_STORE
GdkWindowPrivate *private = (GdkWindowPrivate *)window;
GdkWindowPaint *paint;
GdkGC *tmp_gc;
@@ -570,6 +579,7 @@ gdk_window_end_paint (GdkWindow *window)
gdk_region_destroy (paint->region);
g_free (paint);
+#endif /* USE_BACKING_STORE */
}
static void