* 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"
#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)
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)
{
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;
}
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);
}
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);
}
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");
}
{
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;
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;
}
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;
}
static gchar *
gdk_broadway_screen_make_display_name (GdkScreen *screen)
{
- g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
-
return g_strdup ("browser");
}
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;