]> Pileus Git - ~andy/gtk/blobdiff - gdk/broadway/gdkscreen-broadway.c
Change FSF Address
[~andy/gtk] / gdk / broadway / gdkscreen-broadway.c
index 9df7199548d8d2837b6e3888844d5a9c1e116a98..cf7e6f9ea44c2620e93e50878e000bb6fa87110d 100644 (file)
@@ -16,9 +16,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library 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.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "config.h"
@@ -34,8 +32,8 @@
 #include <stdlib.h>
 #include <string.h>
 
-static void         gdk_broadway_screen_dispose     (GObject             *object);
-static void         gdk_broadway_screen_finalize    (GObject             *object);
+static void   gdk_broadway_screen_dispose     (GObject *object);
+static void   gdk_broadway_screen_finalize    (GObject *object);
 
 G_DEFINE_TYPE (GdkBroadwayScreen, gdk_broadway_screen, GDK_TYPE_SCREEN)
 
@@ -49,59 +47,63 @@ gdk_broadway_screen_init (GdkBroadwayScreen *screen)
 static GdkDisplay *
 gdk_broadway_screen_get_display (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
   return GDK_BROADWAY_SCREEN (screen)->display;
 }
 
 static gint
 gdk_broadway_screen_get_width (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return GDK_BROADWAY_SCREEN (screen)->width;
 }
 
 static gint
 gdk_broadway_screen_get_height (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return GDK_BROADWAY_SCREEN (screen)->height;
 }
 
 static gint
 gdk_broadway_screen_get_width_mm (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return gdk_screen_get_width (screen) * 25.4 / 96;
 }
 
 static gint
 gdk_broadway_screen_get_height_mm (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return gdk_screen_get_height (screen) * 25.4 / 96;
 }
 
 static gint
 gdk_broadway_screen_get_number (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return 0;
 }
 
 static GdkWindow *
 gdk_broadway_screen_get_root_window (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
   return GDK_BROADWAY_SCREEN (screen)->root_window;
 }
 
+void
+_gdk_broadway_screen_size_changed (GdkScreen                       *screen,
+                                   BroadwayInputScreenResizeNotify *msg)
+{
+  GdkBroadwayScreen *broadway_screen = GDK_BROADWAY_SCREEN (screen);
+  gint width, height;
+
+  width = gdk_screen_get_width (screen);
+  height = gdk_screen_get_height (screen);
+
+  broadway_screen->width   = msg->width;
+  broadway_screen->height  = msg->height;
+
+  if (width != gdk_screen_get_width (screen) ||
+      height != gdk_screen_get_height (screen))
+    g_signal_emit_by_name (screen, "size-changed");
+}
+
 static void
 gdk_broadway_screen_dispose (GObject *object)
 {
@@ -133,16 +135,12 @@ gdk_broadway_screen_finalize (GObject *object)
 static gint
 gdk_broadway_screen_get_n_monitors (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return 1;
 }
 
 static gint
 gdk_broadway_screen_get_primary_monitor (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), 0);
-
   return 0;
 }
 
@@ -150,9 +148,6 @@ static gint
 gdk_broadway_screen_get_monitor_width_mm (GdkScreen *screen,
                                          gint       monitor_num)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), -1);
-  g_return_val_if_fail (monitor_num == 0, -1);
-
   return gdk_screen_get_width_mm (screen);
 }
 
@@ -160,9 +155,6 @@ static gint
 gdk_broadway_screen_get_monitor_height_mm (GdkScreen *screen,
                                           gint       monitor_num)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), -1);
-  g_return_val_if_fail (monitor_num == 0, -1);
-
   return gdk_screen_get_height_mm (screen);
 }
 
@@ -170,9 +162,6 @@ static gchar *
 gdk_broadway_screen_get_monitor_plug_name (GdkScreen *screen,
                                           gint       monitor_num)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-  g_return_val_if_fail (monitor_num == 0, NULL);
-
   return g_strdup ("browser");
 }
 
@@ -183,9 +172,6 @@ gdk_broadway_screen_get_monitor_geometry (GdkScreen    *screen,
 {
   GdkBroadwayScreen *broadway_screen = GDK_BROADWAY_SCREEN (screen);
 
-  g_return_if_fail (GDK_IS_SCREEN (screen));
-  g_return_if_fail (monitor_num == 0);
-
   if (dest)
     {
       dest->x = 0;
@@ -198,11 +184,7 @@ gdk_broadway_screen_get_monitor_geometry (GdkScreen    *screen,
 static GdkVisual *
 gdk_broadway_screen_get_rgba_visual (GdkScreen *screen)
 {
-  GdkBroadwayScreen *broadway_screen;
-
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
-  broadway_screen = GDK_BROADWAY_SCREEN (screen);
+  GdkBroadwayScreen *broadway_screen = GDK_BROADWAY_SCREEN (screen);
 
   return broadway_screen->rgba_visual;
 }
@@ -237,12 +219,6 @@ _gdk_broadway_screen_setup (GdkScreen *screen)
 static gboolean
 gdk_broadway_screen_is_composited (GdkScreen *screen)
 {
-  GdkBroadwayScreen *broadway_screen;
-
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE);
-
-  broadway_screen = GDK_BROADWAY_SCREEN (screen);
-
   return FALSE;
 }
 
@@ -250,8 +226,6 @@ gdk_broadway_screen_is_composited (GdkScreen *screen)
 static gchar *
 gdk_broadway_screen_make_display_name (GdkScreen *screen)
 {
-  g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
   return g_strdup ("browser");
 }
 
@@ -308,6 +282,7 @@ gdk_broadway_screen_class_init (GdkBroadwayScreenClass *klass)
   screen_class->get_monitor_height_mm = gdk_broadway_screen_get_monitor_height_mm;
   screen_class->get_monitor_plug_name = gdk_broadway_screen_get_monitor_plug_name;
   screen_class->get_monitor_geometry = gdk_broadway_screen_get_monitor_geometry;
+  screen_class->get_monitor_workarea = gdk_broadway_screen_get_monitor_geometry;
   screen_class->is_composited = gdk_broadway_screen_is_composited;
   screen_class->make_display_name = gdk_broadway_screen_make_display_name;
   screen_class->get_active_window = gdk_broadway_screen_get_active_window;