GdkMonitor

GdkMonitor — Object representing an output

Properties

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── GdkMonitor

Includes

#include <gdk/gdk.h>

Description

GdkMonitor objects represent the individual outputs that are associated with a GdkDisplay. GdkDisplay has APIs to enumerate monitors with gdk_display_get_monitors() and to find particular monitors with gdk_display_get_primary_monitor() or gdk_display_get_monitor_at_window().

GdkMonitor was introduced in GTK+ 3.22 and supersedes earlier APIs in GdkScreen to obtain monitor-related information.

Functions

gdk_monitor_get_display ()

GdkDisplay *
gdk_monitor_get_display (GdkMonitor *monitor);

Gets the display that this monitor belongs to.

Parameters

monitor

a GdkMonitor

 

Returns

the display.

[transfer none]

Since: 3.22


gdk_monitor_get_geometry ()

void
gdk_monitor_get_geometry (GdkMonitor *monitor,
                          GdkRectangle *geometry);

Retrieves the size and position of an individual monitor within the display coordinate space. The returned geometry is in ”application pixels”, not in ”device pixels” (see gdk_monitor_get_scale_factor()).

Parameters

monitor

a GdkMonitor

 

geometry

a GdkRectangle to be filled with the monitor geometry.

[out]

Since: 3.22


gdk_monitor_get_workarea ()

void
gdk_monitor_get_workarea (GdkMonitor *monitor,
                          GdkRectangle *workarea);

Retrieves the size and position of the “work area” on a monitor within the display coordinate space. The returned geometry is in ”application pixels”, not in ”device pixels” (see gdk_monitor_get_scale_factor()).

The work area should be considered when positioning menus and similar popups, to avoid placing them below panels, docks or other desktop components.

Note that not all backends may have a concept of workarea. This function will return the monitor geometry if a workarea is not available, or does not apply.

Parameters

monitor

a GdkMonitor

 

workarea

a GdkRectangle to be filled with the monitor workarea.

[out]

Since: 3.22


gdk_monitor_get_width_mm ()

int
gdk_monitor_get_width_mm (GdkMonitor *monitor);

Gets the width in millimeters of the monitor.

Parameters

monitor

a GdkMonitor

 

Returns

the physical width of the monitor

Since: 3.22


gdk_monitor_get_height_mm ()

int
gdk_monitor_get_height_mm (GdkMonitor *monitor);

Gets the height in millimeters of the monitor.

Parameters

monitor

a GdkMonitor

 

Returns

the physical height of the monitor

Since: 3.22


gdk_monitor_get_manufacturer ()

const char *
gdk_monitor_get_manufacturer (GdkMonitor *monitor);

Gets the name of the monitor's manufacturer, if available.

Parameters

monitor

a GdkMonitor

 

Returns

the name of the manufacturer, or NULL.

[transfer none][nullable]


gdk_monitor_get_model ()

const char *
gdk_monitor_get_model (GdkMonitor *monitor);

Gets the a string identifying the monitor model, if available.

Parameters

monitor

a GdkMonitor

 

Returns

the monitor model, or NULL.

[transfer none][nullable]


gdk_monitor_get_scale_factor ()

int
gdk_monitor_get_scale_factor (GdkMonitor *monitor);

Gets the internal scale factor that maps from monitor coordinates to the actual device pixels. On traditional systems this is 1, but on very high density outputs this can be a higher value (often 2).

This can be used if you want to create pixel based data for a particular monitor, but most of the time you’re drawing to a window where it is better to use gdk_window_get_scale_factor() instead.

Parameters

monitor

a GdkMonitor

 

Returns

the scale factor

Since: 3.22


gdk_monitor_get_refresh_rate ()

int
gdk_monitor_get_refresh_rate (GdkMonitor *monitor);

Gets the refresh rate of the monitor, if available.

The value is in milli-Hertz, so a refresh rate of 60Hz is returned as 60000.

Parameters

monitor

a GdkMonitor

 

Returns

the refresh rate in milli-Hertz, or 0

Since: 3.22


gdk_monitor_get_subpixel_layout ()

GdkSubpixelLayout
gdk_monitor_get_subpixel_layout (GdkMonitor *monitor);

Gets information about the layout of red, green and blue primaries for each pixel in this monitor, if available.

Parameters

monitor

a GdkMonitor

 

Returns

the subpixel layout

Since: 3.22


gdk_monitor_is_primary ()

gboolean
gdk_monitor_is_primary (GdkMonitor *monitor);

Gets whether this monitor should be considered primary (see gdk_display_get_primary_monitor()).

Parameters

monitor

a GdkMonitor

 

Returns

TRUE if monitor is primary

Since: 3.22

Types and Values

GdkMonitor

typedef struct _GdkMonitor GdkMonitor;

enum GdkSubpixelLayout

This enumeration describes how the red, green and blue components of physical pixels on an output device are laid out.

Members

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

 

Since: 3.22

Property Details

The “display” property

  “display”                  GdkDisplay *

The display of the monitor.

Flags: Read / Write / Construct Only


The “geometry” property

  “geometry”                 GdkRectangle *

The geometry of the monitor.

Flags: Read


The “height-mm” property

  “height-mm”                gint

The height of the monitor, in millimeters.

Flags: Read

Allowed values: >= 0

Default value: 0


The “manufacturer” property

  “manufacturer”             gchar *

The manufacturer name.

Flags: Read

Default value: NULL


The “model” property

  “model”                    gchar *

The model name.

Flags: Read

Default value: NULL


The “refresh-rate” property

  “refresh-rate”             gint

The refresh rate, in millihertz.

Flags: Read

Allowed values: >= 0

Default value: 0


The “scale-factor” property

  “scale-factor”             gint

The scale factor.

Flags: Read

Allowed values: >= 0

Default value: 1


The “subpixel-layout” property

  “subpixel-layout”          GdkSubpixelLayout

The subpixel layout.

Flags: Read

Default value: GDK_SUBPIXEL_LAYOUT_UNKNOWN


The “width-mm” property

  “width-mm”                 gint

The width of the monitor, in millimeters.

Flags: Read

Allowed values: >= 0

Default value: 0


The “workarea” property

  “workarea”                 GdkRectangle *

The workarea of the monitor.

Flags: Read

Signal Details

The “invalidate” signal

void
user_function (GdkMonitor *gdkmonitor,
               gpointer    user_data)

Flags: Run First