gi-gdk-3.0.23: Gdk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gdk.Objects.Monitor

Description

GdkMonitor objects represent the individual outputs that are associated with a Display. GdkDisplay has APIs to enumerate monitors with displayGetNMonitors and displayGetMonitor, and to find particular monitors with displayGetPrimaryMonitor or displayGetMonitorAtWindow.

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

Synopsis

Exported types

newtype Monitor Source #

Memory-managed wrapper type.

Constructors

Monitor (ManagedPtr Monitor) 

Instances

Instances details
Eq Monitor Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

Methods

(==) :: Monitor -> Monitor -> Bool

(/=) :: Monitor -> Monitor -> Bool

GObject Monitor Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

ManagedPtrNewtype Monitor Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

Methods

toManagedPtr :: Monitor -> ManagedPtr Monitor

TypedObject Monitor Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

Methods

glibType :: IO GType

IsGValue Monitor Source #

Convert Monitor to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gdk.Objects.Monitor

Methods

toGValue :: Monitor -> IO GValue

fromGValue :: GValue -> IO Monitor

HasParentTypes Monitor Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

type ParentTypes Monitor Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

type ParentTypes Monitor = '[Object]

class (GObject o, IsDescendantOf Monitor o) => IsMonitor o Source #

Type class for types which can be safely cast to Monitor, for instance with toMonitor.

Instances

Instances details
(GObject o, IsDescendantOf Monitor o) => IsMonitor o Source # 
Instance details

Defined in GI.Gdk.Objects.Monitor

toMonitor :: (MonadIO m, IsMonitor o) => o -> m Monitor Source #

Cast to Monitor, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

getDisplay

monitorGetDisplay Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Display

Returns: the display

Gets the display that this monitor belongs to.

Since: 3.22

getGeometry

monitorGetGeometry Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Rectangle 

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 monitorGetScaleFactor).

Since: 3.22

getHeightMm

monitorGetHeightMm Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Int32

Returns: the physical height of the monitor

Gets the height in millimeters of the monitor.

Since: 3.22

getManufacturer

monitorGetManufacturer Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m (Maybe Text)

Returns: the name of the manufacturer, or Nothing

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

Note that this value might also vary depending on actual display backend.

PNP ID registry is located at https://uefi.org/pnp_id_list

getModel

monitorGetModel Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m (Maybe Text)

Returns: the monitor model, or Nothing

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

getRefreshRate

monitorGetRefreshRate Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Int32

Returns: the refresh rate in milli-Hertz, or 0

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.

Since: 3.22

getScaleFactor

monitorGetScaleFactor Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Int32

Returns: the scale factor

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 windowGetScaleFactor instead.

Since: 3.22

getSubpixelLayout

monitorGetSubpixelLayout Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m SubpixelLayout

Returns: the subpixel layout

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

Since: 3.22

getWidthMm

monitorGetWidthMm Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Int32

Returns: the physical width of the monitor

Gets the width in millimeters of the monitor.

Since: 3.22

getWorkarea

monitorGetWorkarea Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Rectangle 

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 monitorGetScaleFactor).

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.

Since: 3.22

isPrimary

monitorIsPrimary Source #

Arguments

:: (HasCallStack, MonadIO m, IsMonitor a) 
=> a

monitor: a Monitor

-> m Bool

Returns: True if monitor is primary

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

Since: 3.22

Properties

display

No description available in the introspection data.

constructMonitorDisplay :: (IsMonitor o, MonadIO m, IsDisplay a) => a -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “display” property. This is rarely needed directly, but it is used by new.

getMonitorDisplay :: (MonadIO m, IsMonitor o) => o -> m Display Source #

Get the value of the “display” property. When overloading is enabled, this is equivalent to

get monitor #display

geometry

No description available in the introspection data.

getMonitorGeometry :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle) Source #

Get the value of the “geometry” property. When overloading is enabled, this is equivalent to

get monitor #geometry

heightMm

No description available in the introspection data.

getMonitorHeightMm :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #

Get the value of the “height-mm” property. When overloading is enabled, this is equivalent to

get monitor #heightMm

manufacturer

No description available in the introspection data.

getMonitorManufacturer :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text) Source #

Get the value of the “manufacturer” property. When overloading is enabled, this is equivalent to

get monitor #manufacturer

model

No description available in the introspection data.

getMonitorModel :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text) Source #

Get the value of the “model” property. When overloading is enabled, this is equivalent to

get monitor #model

refreshRate

No description available in the introspection data.

getMonitorRefreshRate :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #

Get the value of the “refresh-rate” property. When overloading is enabled, this is equivalent to

get monitor #refreshRate

scaleFactor

No description available in the introspection data.

getMonitorScaleFactor :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #

Get the value of the “scale-factor” property. When overloading is enabled, this is equivalent to

get monitor #scaleFactor

subpixelLayout

No description available in the introspection data.

getMonitorSubpixelLayout :: (MonadIO m, IsMonitor o) => o -> m SubpixelLayout Source #

Get the value of the “subpixel-layout” property. When overloading is enabled, this is equivalent to

get monitor #subpixelLayout

widthMm

No description available in the introspection data.

getMonitorWidthMm :: (MonadIO m, IsMonitor o) => o -> m Int32 Source #

Get the value of the “width-mm” property. When overloading is enabled, this is equivalent to

get monitor #widthMm

workarea

No description available in the introspection data.

getMonitorWorkarea :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle) Source #

Get the value of the “workarea” property. When overloading is enabled, this is equivalent to

get monitor #workarea

Signals

invalidate

type C_MonitorInvalidateCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type MonitorInvalidateCallback = IO () Source #

No description available in the introspection data.

afterMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> MonitorInvalidateCallback -> m SignalHandlerId Source #

Connect a signal handler for the invalidate signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after monitor #invalidate callback

genClosure_MonitorInvalidate :: MonadIO m => MonitorInvalidateCallback -> m (GClosure C_MonitorInvalidateCallback) Source #

Wrap the callback into a GClosure.

mk_MonitorInvalidateCallback :: C_MonitorInvalidateCallback -> IO (FunPtr C_MonitorInvalidateCallback) Source #

Generate a function pointer callable from C code, from a C_MonitorInvalidateCallback.

noMonitorInvalidateCallback :: Maybe MonitorInvalidateCallback Source #

A convenience synonym for Nothing :: Maybe MonitorInvalidateCallback.

onMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> MonitorInvalidateCallback -> m SignalHandlerId Source #

Connect a signal handler for the invalidate signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on monitor #invalidate callback