mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 05:50:10 +00:00
1f149b3a8d
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>.
113 lines
2.8 KiB
Plaintext
113 lines
2.8 KiB
Plaintext
## Makefile for building the machine dependent part of GDK on Win32 with gcc
|
|
## Use: make -f makefile.cygwin
|
|
|
|
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
|
|
# We use the wntab32x.lib archive library directly (copy it as libwntab32x.a).
|
|
WTKIT = ../../../wtkit126
|
|
|
|
OPTIMIZE = -g
|
|
|
|
################################################################
|
|
|
|
# Nothing much configurable below
|
|
|
|
CC = gcc -mno-cygwin -mpentium -fnative-struct
|
|
|
|
GLIB_VER=1.3
|
|
GTK_VER=1.3
|
|
|
|
GLIB = ../../../glib
|
|
CFLAGS = $(OPTIMIZE) -I . -I .. -I ../.. -I $(WTKIT)/include -I $(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
|
|
|
|
all: \
|
|
../../config.h \
|
|
../gdkconfig.h \
|
|
libgdk-win32.a \
|
|
gdk-win32res.o \
|
|
libwntab32x.a
|
|
|
|
gdk_win32_OBJECTS = \
|
|
gdkcc-win32.o \
|
|
gdkcolor-win32.o \
|
|
gdkcursor-win32.o \
|
|
gdkdnd-win32.o \
|
|
gdkdrawable-win32.o \
|
|
gdkevents-win32.o \
|
|
gdkfont-win32.o \
|
|
gdkgc-win32.o \
|
|
gdkgeometry-win32.o \
|
|
gdkglobals-win32.o \
|
|
gdkim-win32.o \
|
|
gdkimage-win32.o \
|
|
gdkinput-win32.o \
|
|
gdkmain-win32.o \
|
|
gdkpixmap-win32.o \
|
|
gdkproperty-win32.o \
|
|
gdkpolyreg-generic.o \
|
|
gdkregion-generic.o \
|
|
gdkselection-win32.o \
|
|
gdkvisual-win32.o \
|
|
gdkwin32id.o \
|
|
gdkwindow-win32.o
|
|
|
|
../../config.h : ../../config.h.win32
|
|
cp $< $@
|
|
|
|
../gdkconfig.h : ../gdkconfig.h.win32
|
|
cp $< $@
|
|
|
|
gdkregion-generic.c: ../x11/gdkregion-generic.c
|
|
cp $< $@
|
|
|
|
gdkpolyreg-generic.c: ../x11/gdkpolyreg-generic.c
|
|
cp $< $@
|
|
|
|
gdkregion-generic.h: ../x11/gdkregion-generic.h
|
|
cp $< $@
|
|
|
|
gdkpoly-generic.h: ../x11/gdkpoly-generic.h
|
|
cp $< $@
|
|
|
|
gdkgc-win32.o:: gdkregion-generic.h
|
|
gdkpolyreg-generic.o:: gdkpoly-generic.h
|
|
|
|
# Kludge to get the path to the win32 headers
|
|
WIN32APIHEADERS = $(shell echo "\#include <winver.h>" | $(CC) -M -E - | tail -1 | sed -e 's![\\/]winver.h!!' | tr -d '\015')
|
|
|
|
gdk-win32res.o : rc/gdk.rc gdk-build.tmp
|
|
m4 -DBUILDNUMBER=`cat gdk-build.tmp` <rc/gdk.rc >gdk-win32res.rc
|
|
windres --include-dir rc --include-dir $(WIN32APIHEADERS) gdk-win32res.rc gdk-win32res.o
|
|
rm gdk-build.tmp gdk-win32res.rc
|
|
|
|
# The *.stamp files aren't distributed. Thus, this takes care of only
|
|
# tml building libraries with nonzero build number.
|
|
|
|
ifeq ($(wildcard gdk-build.stamp),gdk-build.stamp)
|
|
# Magic to bump the build number
|
|
gdk-build.tmp :
|
|
bash -c "read number && echo $$[number+1]" <gdk-build.stamp >gdk-build.tmp
|
|
cp gdk-build.tmp gdk-build.stamp
|
|
else
|
|
# Use zero as build number.
|
|
gdk-build.tmp :
|
|
echo 0 >gdk-build.tmp
|
|
endif
|
|
|
|
libgdk-win32.a : $(gdk_win32_OBJECTS)
|
|
-rm -f $@
|
|
$(AR) rv $@ $(gdk_win32_OBJECTS)
|
|
|
|
libwntab32x.a : $(WTKIT)/lib/i386/wntab32x.lib
|
|
cp $(WTKIT)/lib/i386/wntab32x.lib libwntab32x.a
|
|
|
|
.SUFFIXES: .c .o .i
|
|
|
|
.c.o :
|
|
$(CC) $(CFLAGS) -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $<
|
|
|
|
.c.i :
|
|
$(CC) $(CFLAGS) -E -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $< >$@
|
|
|
|
clean:
|
|
-rm *.exe *.o *.dll *.a *.exp *.base
|