diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-06-06 00:26:42 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-06-06 00:26:42 +0000 |
commit | aeaaae04ac7b17964764fdeb4a51197022879cfd (patch) | |
tree | 085f854a6dd4077cccd77db764dcc5d8f70170be /gdk/win32/gdkdisplay-win32.c | |
parent | 1df47f17c9879cac7b5ecc3f789cb365854bbedb (diff) | |
download | gtk+-aeaaae04ac7b17964764fdeb4a51197022879cfd.tar.gz |
Changes multihead reorganizing code for win32 support, mostly from a patch
Wed Jun 5 18:34:47 2002 Owen Taylor <otaylor@redhat.com>
Changes multihead reorganizing code for win32 support,
mostly from a patch by Hans Breuer.
* gdk/gdkcolor.c gdk/x11/gdkcolor-x11.c gdk/gdkcursor.c
gdk/x11/gdkcursor-x11.c gdk/gdkevents.c gdk/x11/gdkevents-x11.c
gdk/gdkfont.c gdk/x11/gdkfont-x11.c gdk/gdkkeys.c
gdk/x11/gdkkeys-x11.c gdk/gdkimage.c gdk/x11/gdkimage-x11.c
gdk/gdkscreen.c gdk/x11/gdkmain-x11.c
gdk/gdkdisplay.c gdk/gdkevents-x11.c gdk/gdkpango.c
gdk/x11/gdkpango-x11.c gdk/gdkselection.c
gdk/x11/gdkselection-x11.c gdk/gdkwindow.c
gdk/x11/gdkwindow-x11.c gdk/gdkvisual.c gdk/x11/gdkvisual-x11.c:
Move port-independent singlehead wrapper functions into
port-independent part of GDK. (#80009)
* gdk/win32/gdkcolor-win32.c gdk/win32/gdkcursor-win32.c
gdk/win32/gdkevents-win32.c gdk/win32/gdkfont-win32.c
gdk/win32/gdkimage-win32.c gdk/win32/gdkkeys-win32.c
gdk/win32/gdkmain-win32.c gdk/win32/gdkproperty-win32.c
gdk/win32/gdkselection-win32.c gdk/win32/gkwindow-win32.c:
Turn singlehead functions into "multihead" functions that ignore
their GdkDisplay or GdkScreen arguments.
* gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
gdk/win32/gdkinput-win32.c gdk/win32/gdkprivate-win32.h:
Misc multihead-compatibility changes.
* gtk/gtk.def gdk/gdk.def: Update for multihead functions.
* gdk/gdkcolormap.h gdk/gdkvisual.h gdk/x11/gdkcolormap-x11.c
gdk/x11/gdkvisual-x11.c: Remove the screen fields
from the public parts of the colormap/visual structures, add accessors
instead.
* gdk/gdkpixbuf-render.c gdk/gdkpixmap.c gdk/gdkrgb.c
gdk/x11/gdkcolormap-x11.c gdk/x11/gdkimage-x11.c
gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.h gtk/gtkgc.c
gtk/gtkstyle.c gtk/gtkwidget.c: Use accessors to get the screen
for colormaps, visuals; move the fields into the private
structures for the x11 backend.
* gdk/gdkdisplay.[ch] gdk/x11/gdkdisplay-x11.[ch]
gdk/gdkscreen.[ch] gdk/x11/gdkscreen-x11.c:
Remove virtualization of screen and display functions.
(#79990, patch from Erwann Chenede)
* gdk/win32/gdkdisplay-x11.c gdk/win32/gdkscreen-win32.c
gdk/win32/{Makefile.am, makefile.msc, makefile.mingw}:
New files containing stub implementations of Display,
Screen functions.
* gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
gdk/x11/gdkx.h: Clean up function exports and what
headers they are in. (#79954)
* gdk/x11/gdkx.h: Fix macro that was referring to a non-existant
screen->screen_num. (In the patch for #79972, Erwann Chenede)
* gdk/gdkscreen.c gdk/gdkwindow.c gdk/x11/gdkinternals.h
gdk/x11/gdkscreen-x11.c: Fix gdk_screen_get_window_at_pointer()
to use window hooks. (#79972, patch partly from Erwann Chenede)
* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c: Fix
some warnings.
Diffstat (limited to 'gdk/win32/gdkdisplay-win32.c')
-rw-r--r-- | gdk/win32/gdkdisplay-win32.c | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c new file mode 100644 index 0000000000..54dbe24c62 --- /dev/null +++ b/gdk/win32/gdkdisplay-win32.c @@ -0,0 +1,80 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2002 Hans Breuer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser 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 "gdkdisplay.h" +#include "gdkscreen.h" +#include "gdkprivate-win32.h" + +GdkDisplay *_gdk_display = NULL; +GdkScreen *_gdk_screen = NULL; + +void +_gdk_windowing_set_default_display (GdkDisplay *display) +{ + g_assert (_gdk_display == display); +} + +GdkDisplay * +gdk_open_display (const gchar *display_name) +{ + if (_gdk_display != NULL) + return NULL; /* single display only */ + + _gdk_display = g_object_new (GDK_TYPE_DISPLAY, NULL); + _gdk_screen = g_object_new (GDK_TYPE_SCREEN, NULL); + + gdk_set_default_display (_gdk_display); + + _gdk_visual_init (); + _gdk_windowing_window_init (); + _gdk_windowing_image_init (); + _gdk_events_init (); + _gdk_input_init (); + _gdk_dnd_init (); + + return _gdk_display; +} + +G_CONST_RETURN gchar* +gdk_display_get_display_name (GdkDisplay *display) +{ + return gdk_get_display_arg_name (); +} + +static gint +gdk_display_get_n_screens (GdkDisplay * display) +{ + return 1; +} + +static GdkScreen * +gdk_display_get_screen (GdkDisplay *display, + gint screen_num) +{ + g_return_if_fail (screen_num == 0); + + return _gdk_screen; +} + +static GdkScreen * +gdk_display_get_default_screen (GdkDisplay * display) +{ + return _gdk_screen; +} + |