gdkmonitor.h 3.43 KB
Newer Older
Matthias Clasen's avatar
Matthias Clasen committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
 * 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__

25
#if !defined (__GDK_H_INSIDE__) && !defined (GTK_COMPILATION)
Matthias Clasen's avatar
Matthias Clasen committed
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#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.
 */
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;

Matthias Clasen's avatar
Matthias Clasen committed
63
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
64
65
GType             gdk_monitor_get_type            (void) G_GNUC_CONST;

Matthias Clasen's avatar
Matthias Clasen committed
66
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
67
GdkDisplay  *     gdk_monitor_get_display         (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
68
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
69
70
void              gdk_monitor_get_geometry        (GdkMonitor   *monitor,
                                                   GdkRectangle *geometry);
Matthias Clasen's avatar
Matthias Clasen committed
71
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
72
int               gdk_monitor_get_width_mm        (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
73
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
74
int               gdk_monitor_get_height_mm       (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
75
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
76
const char *      gdk_monitor_get_manufacturer    (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
77
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
78
const char *      gdk_monitor_get_model           (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
79
GDK_AVAILABLE_IN_ALL
80
81
const char *      gdk_monitor_get_connector       (GdkMonitor   *monitor);
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
82
int               gdk_monitor_get_scale_factor    (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
83
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
84
int               gdk_monitor_get_refresh_rate    (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
85
GDK_AVAILABLE_IN_ALL
Matthias Clasen's avatar
Matthias Clasen committed
86
GdkSubpixelLayout gdk_monitor_get_subpixel_layout (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
87
GDK_AVAILABLE_IN_ALL
88
gboolean          gdk_monitor_is_valid            (GdkMonitor   *monitor);
Matthias Clasen's avatar
Matthias Clasen committed
89
90
91
92

G_END_DECLS

#endif  /* __GDK_MONITOR_H__ */