diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-03-31 23:10:04 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-04-27 23:18:16 -0400 |
commit | 837244809e4ceca2209fbb513c7c71120e6a9231 (patch) | |
tree | 869e66e8800383e32dc2545320ed3d2d4068f7c8 /gdk/gdkmonitor.h | |
parent | 8fc11ef2a513b3029c208b2d37d3716998a9389c (diff) | |
download | gtk+-837244809e4ceca2209fbb513c7c71120e6a9231.tar.gz |
Add GdkMonitor
Add a simple object representing a monitor.
Diffstat (limited to 'gdk/gdkmonitor.h')
-rw-r--r-- | gdk/gdkmonitor.h | 95 |
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__ */ |