summaryrefslogtreecommitdiff
path: root/gdk/gdkmonitor.h
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-03-31 23:10:04 -0400
committerMatthias Clasen <mclasen@redhat.com>2016-04-27 23:18:16 -0400
commit837244809e4ceca2209fbb513c7c71120e6a9231 (patch)
tree869e66e8800383e32dc2545320ed3d2d4068f7c8 /gdk/gdkmonitor.h
parent8fc11ef2a513b3029c208b2d37d3716998a9389c (diff)
downloadgtk+-837244809e4ceca2209fbb513c7c71120e6a9231.tar.gz
Add GdkMonitor
Add a simple object representing a monitor.
Diffstat (limited to 'gdk/gdkmonitor.h')
-rw-r--r--gdk/gdkmonitor.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/gdk/gdkmonitor.h b/gdk/gdkmonitor.h
new file mode 100644
index 0000000000..82b2d18194
--- /dev/null
+++ b/gdk/gdkmonitor.h
@@ -0,0 +1,95 @@
+/*
+ * gdkmonitor.h
+ *
+ * Copyright 2016 Red Hat, Inc.
+ *
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GDK_MONITOR_H__
+#define __GDK_MONITOR_H__
+
+#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
+#include <gdk/gdkversionmacros.h>
+#include <gdk/gdkrectangle.h>
+#include <gdk/gdktypes.h>
+
+G_BEGIN_DECLS
+
+#define GDK_TYPE_MONITOR (gdk_monitor_get_type ())
+#define GDK_MONITOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_MONITOR, GdkMonitor))
+#define GDK_IS_MONITOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_MONITOR))
+
+typedef struct _GdkMonitor GdkMonitor;
+typedef struct _GdkMonitorClass GdkMonitorClass;
+
+/**
+ * GdkSubpixelLayout:
+ * @GDK_SUBPIXEL_LAYOUT_UNKNOWN: The layout is not known
+ * @GDK_SUBPIXEL_LAYOUT_NONE: Not organized in this way
+ * @GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB: The layout is horizontal, the order is RGB
+ * @GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR: The layout is horizontal, the order is BGR
+ * @GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB: The layout is vertical, the order is RGB
+ * @GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR: The layout is vertical, the order is BGR
+ *
+ * This enumeration describes how the red, green and blue components
+ * of physical pixels on an output device are laid out.
+ *
+ * Since: 3.22
+ */
+typedef enum {
+ GDK_SUBPIXEL_LAYOUT_UNKNOWN,
+ GDK_SUBPIXEL_LAYOUT_NONE,
+ GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB,
+ GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR,
+ GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB,
+ GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR
+} GdkSubpixelLayout;
+
+GDK_AVAILABLE_IN_3_22
+GType gdk_monitor_get_type (void) G_GNUC_CONST;
+
+GDK_AVAILABLE_IN_3_22
+GdkDisplay * gdk_monitor_get_display (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+void gdk_monitor_get_geometry (GdkMonitor *monitor,
+ GdkRectangle *geometry);
+GDK_AVAILABLE_IN_3_22
+void gdk_monitor_get_workarea (GdkMonitor *monitor,
+ GdkRectangle *geometry);
+GDK_AVAILABLE_IN_3_22
+int gdk_monitor_get_width_mm (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+int gdk_monitor_get_height_mm (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+const char * gdk_monitor_get_manufacturer (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+const char * gdk_monitor_get_model (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+int gdk_monitor_get_scale_factor (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+int gdk_monitor_get_refresh_rate (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+GdkSubpixelLayout gdk_monitor_get_subpixel_layout (GdkMonitor *monitor);
+GDK_AVAILABLE_IN_3_22
+gboolean gdk_monitor_is_primary (GdkMonitor *monitor);
+
+G_END_DECLS
+
+#endif /* __GDK_MONITOR_H__ */