Reference Manual
Inti Logo
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

screen.h

Go to the documentation of this file.
00001 /*  Inti: Integrated Foundation Classes
00002  *  Copyright (C) 2003 The Inti Development Team.
00003  *  Copyright (C) 2000 Red Hat, Inc.
00004  *
00005  *  This program is free software; you can redistribute it and/or modify
00006  *  it under the terms of the GNU General Public License as published by
00007  *  the Free Software Foundation; either version 2 of the License, or
00008  *  (at your option) any later version.
00009  *
00010  *  This program is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  *  GNU Library General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU Library General Public License
00016  *  along with this program; if not, write to the Free Software
00017  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018  */
00019 
00024 
00025 #ifndef INTI_GDK_SCREEN_H
00026 #define INTI_GDK_SCREEN_H
00027 
00028 #ifndef INTI_G_OBJECT_H
00029 #include <inti/glib/object.h>
00030 #endif
00031 
00032 #ifndef INTI_GDK_TYPES
00033 #include <inti/gdk/types.h>
00034 #endif
00035 
00036 #ifndef _CPP_VECTOR
00037 #include <vector>
00038 #endif
00039 
00040 namespace Inti {
00041 
00042 namespace G {
00043 class Value;
00044 }
00045 
00046 namespace Gdk {
00047 
00048 class Colormap;
00049 class Display;
00050 class Event;
00051 class Rectangle;
00052 class ScreenClass;
00053 class Visual;
00054 class Window;
00055 
00064 
00065 class Screen : public G::Object
00066 {
00067         friend class G::Object;
00068         friend class ScreenClass;
00069 
00070         Screen(const Screen&);
00071         Screen& operator=(const Screen&);
00072 
00073 protected:
00076 
00077         explicit Screen(GdkScreen *screen, bool reference = true);
00084 
00088 
00089         virtual void on_size_changed();
00091 
00093 //  Signals
00094 
00095         typedef G::Signal0<void> SizeChangedSignalType;
00096         typedef G::SignalProxy<TypeInstance, SizeChangedSignalType> SizeChangedSignalProxy;
00097         static const SizeChangedSignalType size_changed_signal;
00098 
00099 public:
00102 
00103         virtual ~Screen();
00105 
00107 
00108         static Screen* get_default();
00111 
00114 
00115         GdkScreen* gdk_screen() const { return (GdkScreen*)instance; }
00117 
00118         GdkScreenClass* gdk_screen_class() const;
00120 
00121         operator GdkScreen* () const;
00123 
00124         Colormap* get_default_colormap() const;
00127 
00128         Colormap* get_system_colormap() const;
00131 
00132         const Visual* get_system_visual() const;
00138 
00139         Window* get_root_window() const;
00142 
00143         Display* get_display() const;
00145 
00146         int get_number() const;
00149         
00150         int get_width() const;
00153 
00154         int get_height() const;
00157 
00158         int get_width_mm() const;
00163 
00164         int get_height_mm() const;
00169 
00170         bool list_visuals(std::vector<const Visual*>& visuals) const;
00178 
00179         bool get_toplevels(std::vector<Window*>& toplevels) const;
00185 
00186         String make_display_name() const;
00190 
00191         int get_n_monitors() const;
00195 
00196         void get_monitor_geometry(int monitor_num, Rectangle& dest) const;
00204 
00205         Rectangle get_monitor_geometry(int monitor_num) const;
00213 
00214         int get_monitor_at_point(int x, int y) const;
00220         
00221         int get_monitor_at_point(const Point& point) const;
00226 
00227         int get_monitor_at_window(const Window& window) const;
00233 
00234         bool get_setting(const char *name, G::Value& value) const;
00240 
00244 
00245         void set_default_colormap(Colormap& colormap);
00248 
00249         void broadcast_client_message(Event& event);
00257 
00261 
00262         const SizeChangedSignalProxy sig_size_changed()
00263         {
00264                 return SizeChangedSignalProxy(this, &size_changed_signal);
00265         }
00267 
00269 };
00270 
00271 } // namespace Gdk
00272 
00273 } // namespace Inti
00274 
00275 #endif // INTI_GDK_SCREEN_H
00276 
00277 
Main Page - Footer


Generated on Sun Sep 14 20:08:03 2003 for Inti by doxygen 1.3.2 written by Dimitri van Heesch, © 1997-2002