1 /* 2 * gdkscreen-broadway.h 3 * 4 * Copyright 2001 Sun Microsystems Inc. 5 * 6 * Erwann Chenede <erwann.chenede@sun.com> 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Library General Public 10 * License as published by the Free Software Foundation; either 11 * version 2 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Library General Public License for more details. 17 * 18 * You should have received a copy of the GNU Library General Public 19 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 20 */ 21 22 #ifndef __GDK_BROADWAY_SCREEN_H__ 23 #define __GDK_BROADWAY_SCREEN_H__ 24 25 #include <gdk/gdkscreenprivate.h> 26 #include <gdk/gdkvisual.h> 27 #include "gdkprivate-broadway.h" 28 29 G_BEGIN_DECLS 30 31 typedef struct _GdkBroadwayScreen GdkBroadwayScreen; 32 typedef struct _GdkBroadwayScreenClass GdkBroadwayScreenClass; 33 34 #define GDK_TYPE_BROADWAY_SCREEN (gdk_broadway_screen_get_type ()) 35 #define GDK_BROADWAY_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_BROADWAY_SCREEN, GdkBroadwayScreen)) 36 #define GDK_BROADWAY_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_BROADWAY_SCREEN, GdkBroadwayScreenClass)) 37 #define GDK_IS_BROADWAY_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_BROADWAY_SCREEN)) 38 #define GDK_IS_BROADWAY_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_BROADWAY_SCREEN)) 39 #define GDK_BROADWAY_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_BROADWAY_SCREEN, GdkBroadwayScreenClass)) 40 41 typedef struct _GdkBroadwayMonitor GdkBroadwayMonitor; 42 43 struct _GdkBroadwayScreen 44 { 45 GdkScreen parent_instance; 46 47 GdkDisplay *display; 48 GdkWindow *root_window; 49 50 int width; 51 int height; 52 53 /* Visual Part */ 54 GdkVisual **visuals; 55 gint nvisuals; 56 GdkVisual *system_visual; 57 GdkVisual *rgba_visual; 58 gint available_depths[7]; 59 gint navailable_depths; 60 GdkVisualType available_types[6]; 61 gint navailable_types; 62 }; 63 64 struct _GdkBroadwayScreenClass 65 { 66 GdkScreenClass parent_class; 67 68 void (* window_manager_changed) (GdkBroadwayScreen *screen); 69 }; 70 71 GType gdk_broadway_screen_get_type (void); 72 GdkScreen * _gdk_broadway_screen_new (GdkDisplay *display, 73 gint screen_number); 74 void _gdk_broadway_screen_setup (GdkScreen *screen); 75 76 G_END_DECLS 77 78 #endif /* __GDK_BROADWAY_SCREEN_H__ */ 79