GFC Logo GFC Title Logo
Reference Manual
Main Page  |  Namespace List  |  Alphabetical List  |  Class List  |  File List

screen.hh

Go to the documentation of this file.
00001 /* GFC-UI: GTK+ Foundation Classes (User Interface Library) 00002 * Copyright (C) 2003-2004 The GFC Development Team. 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00023 00024 #ifndef GFC_GDK_SCREEN_HH 00025 #define GFC_GDK_SCREEN_HH 00026 00027 #ifndef GFC_G_OBJECT_HH 00028 #include <gfc/glib/object.hh> 00029 #endif 00030 00031 #ifndef GFC_GDK_TYPES_HH 00032 #include <gfc/gdk/types.hh> 00033 #endif 00034 00035 #ifndef _CPP_VECTOR 00036 #include <vector> 00037 #endif 00038 00039 namespace GFC { 00040 00041 namespace G { 00042 class Value; 00043 } 00044 00045 namespace Gdk { 00046 00047 class Colormap; 00048 class Display; 00049 class Event; 00050 class Rectangle; 00051 class Visual; 00052 class Window; 00053 00062 00063 class Screen : public G::Object 00064 { 00065 friend class G::Object; 00066 00067 Screen(const Screen&); 00068 Screen& operator=(const Screen&); 00069 00070 protected: 00073 00074 explicit Screen(GdkScreen *screen, bool owns_reference = true); 00081 00085 00086 typedef G::Signal<void> SizeChangedSignalType; 00087 typedef G::SignalProxy<TypeInstance, SizeChangedSignalType> SizeChangedSignalProxy; 00088 static const SizeChangedSignalType size_changed_signal; 00093 00095 00096 public: 00099 00100 virtual ~Screen(); 00102 00104 00105 static Screen* get_default(); 00108 00111 00112 GdkScreen* gdk_screen() const; 00114 00115 operator GdkScreen* () const; 00117 00118 Colormap* get_default_colormap() const; 00121 00122 Colormap* get_system_colormap() const; 00125 00126 const Visual* get_system_visual() const; 00132 00133 Window* get_root_window() const; 00136 00137 Display* get_display() const; 00139 00140 int get_number() const; 00143 00144 int get_width() const; 00147 00148 int get_height() const; 00151 00152 int get_width_mm() const; 00157 00158 int get_height_mm() const; 00163 00164 bool list_visuals(std::vector<const Visual*>& visuals) const; 00172 00173 bool get_toplevels(std::vector<Window*>& toplevels) const; 00179 00180 String make_display_name() const; 00184 00185 int get_n_monitors() const; 00189 00190 void get_monitor_geometry(int monitor_num, Rectangle& dest) const; 00198 00199 Rectangle get_monitor_geometry(int monitor_num) const; 00207 00208 int get_monitor_at_point(int x, int y) const; 00214 00215 int get_monitor_at_point(const Point& point) const; 00220 00221 int get_monitor_at_window(const Window& window) const; 00227 00228 bool get_setting(const char *name, G::Value& value) const; 00229 bool get_setting(const String& name, G::Value& value) const; 00235 00239 00240 void set_default_colormap(Colormap& colormap); 00243 00244 void broadcast_client_message(Event& event); 00252 00256 00257 const SizeChangedSignalProxy sig_size_changed(); 00259 00261 }; 00262 00263 } // namespace Gdk 00264 00265 } // namespace GFC 00266 00267 #include <gfc/gdk/inline/screen.inl> 00268 00269 #endif // GFC_GDK_SCREEN_HH 00270 00271

Generated on Tue Aug 24 00:34:32 2004 for GFC-UI by doxygen 1.3.8