Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
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
- newtype Monitor = Monitor (ManagedPtr Monitor)
- class (GObject o, IsDescendantOf Monitor o) => IsMonitor o
- toMonitor :: (MonadIO m, IsMonitor o) => o -> m Monitor
- noMonitor :: Maybe Monitor
- monitorGetDisplay :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Display
- monitorGetGeometry :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle
- monitorGetHeightMm :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetManufacturer :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)
- monitorGetModel :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m (Maybe Text)
- monitorGetRefreshRate :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetScaleFactor :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetSubpixelLayout :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m SubpixelLayout
- monitorGetWidthMm :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Int32
- monitorGetWorkarea :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Rectangle
- monitorIsPrimary :: (HasCallStack, MonadIO m, IsMonitor a) => a -> m Bool
- constructMonitorDisplay :: (IsMonitor o, IsDisplay a) => a -> IO (GValueConstruct o)
- getMonitorDisplay :: (MonadIO m, IsMonitor o) => o -> m Display
- getMonitorGeometry :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle)
- getMonitorHeightMm :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorManufacturer :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)
- getMonitorModel :: (MonadIO m, IsMonitor o) => o -> m (Maybe Text)
- getMonitorRefreshRate :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorScaleFactor :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorSubpixelLayout :: (MonadIO m, IsMonitor o) => o -> m SubpixelLayout
- getMonitorWidthMm :: (MonadIO m, IsMonitor o) => o -> m Int32
- getMonitorWorkarea :: (MonadIO m, IsMonitor o) => o -> m (Maybe Rectangle)
- type C_MonitorInvalidateCallback = Ptr () -> Ptr () -> IO ()
- type MonitorInvalidateCallback = IO ()
- afterMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> MonitorInvalidateCallback -> m SignalHandlerId
- genClosure_MonitorInvalidate :: MonadIO m => MonitorInvalidateCallback -> m (GClosure C_MonitorInvalidateCallback)
- mk_MonitorInvalidateCallback :: C_MonitorInvalidateCallback -> IO (FunPtr C_MonitorInvalidateCallback)
- noMonitorInvalidateCallback :: Maybe MonitorInvalidateCallback
- onMonitorInvalidate :: (IsMonitor a, MonadIO m) => a -> MonitorInvalidateCallback -> m SignalHandlerId
- wrap_MonitorInvalidateCallback :: MonitorInvalidateCallback -> C_MonitorInvalidateCallback
Exported types
Memory-managed wrapper type.
Instances
GObject Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor gobjectType :: IO GType # | |
HasParentTypes Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor | |
type ParentTypes Monitor Source # | |
Defined in GI.Gdk.Objects.Monitor |
class (GObject o, IsDescendantOf Monitor o) => IsMonitor o Source #
Instances
(GObject o, IsDescendantOf Monitor o) => IsMonitor o Source # | |
Defined in GI.Gdk.Objects.Monitor |
Methods
getDisplay
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Display | Returns: the display |
Gets the display that this monitor belongs to.
Since: 3.22
getGeometry
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Int32 | Returns: the physical height of the monitor |
Gets the height in millimeters of the monitor.
Since: 3.22
getManufacturer
monitorGetManufacturer Source #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m (Maybe Text) | Returns: the name of the manufacturer, or |
Gets the name of the monitor's manufacturer, if available.
getModel
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m (Maybe Text) | Returns: the monitor model, or |
Gets the a string identifying the monitor model, if available.
getRefreshRate
monitorGetRefreshRate Source #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Int32 | Returns: the physical width of the monitor |
Gets the width in millimeters of the monitor.
Since: 3.22
getWorkarea
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsMonitor a) | |
=> a |
|
-> m Bool | Returns: |
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, IsDisplay a) => a -> IO (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