Screen property types

Properties that are associated with Screen API objects

Description:

Each property description includes the following:
  • a general description of the property
  • an indicator of whether the property is configurable
    • Some properties are configurable through the graphics.conf configuration file. At each display's and window's initialization, the value that's set at configuration applies to all displays and windows of a specified class. See "Configure winmgr section" for more details.
  • its default privileges
    • Each property comes with default privileges that define what type of access the user, the manager, and the consumer has. See "Permissions and Privileges" for more details. The privileges are a combination of r (read), w (write), x (execute), and - (no privilege) for the user, the manager, and the consumer respectively. The API object owner can change the user privilege at any time if it chooses to do so.
  • an indicator of whether the property sends a change event
    • Some properties invoke a SCREEN_EVENT_PROPERTY event to be sent when their values are changed. Screen directs this event to those that are impacted by the change in the property. For example, if the visibility of a window changes, Screen notifies its manager (or parent) so that it can handle any layout adjustments accordingly.
  • a list of Screen API objects that the property applies to
    • When one property applies to multiple API objects, its meaning may vary between each object. Variations, if any, from the general property definition are described in correspondence with the listed API objects.

Synopsis:

#include <screen/screen.h>
enum {
    SCREEN_PROPERTY_ALPHA_MODE = 1,
    SCREEN_PROPERTY_GAMMA = 2,
    SCREEN_PROPERTY_BRIGHTNESS = 3,
    SCREEN_PROPERTY_BUFFER_COUNT = 4,
    SCREEN_PROPERTY_BUFFER_SIZE = 5,
    SCREEN_PROPERTY_BUTTONS = 6,
    SCREEN_PROPERTY_CLASS = 7,
    SCREEN_PROPERTY_COLOR_SPACE = 8,
    SCREEN_PROPERTY_CONTRAST = 9,
    SCREEN_PROPERTY_DEVICE = 10,
    SCREEN_PROPERTY_DISPLAY = 11,
    SCREEN_PROPERTY_EGL_HANDLE = 12,
    SCREEN_PROPERTY_FLIP = 13,
    SCREEN_PROPERTY_FORMAT = 14,
    SCREEN_PROPERTY_FRONT_BUFFER = 15,
    SCREEN_PROPERTY_GLOBAL_ALPHA = 16,
    SCREEN_PROPERTY_PIPELINE = 17,
    SCREEN_PROPERTY_GROUP = 18,
    SCREEN_PROPERTY_HUE = 19,
    SCREEN_PROPERTY_ID_STRING = 20,
    SCREEN_PROPERTY_INPUT_VALUE = 21,
    SCREEN_PROPERTY_INTERLACED = 22,
    SCREEN_PROPERTY_JOG_COUNT = 23,
    SCREEN_PROPERTY_KEY_CAP = 24,
    SCREEN_PROPERTY_FLAGS = 25,
    SCREEN_PROPERTY_MODIFIERS = 26,
    SCREEN_PROPERTY_SCAN = 27,
    SCREEN_PROPERTY_SYM = 28,
    SCREEN_PROPERTY_MIRROR = 29,
    SCREEN_PROPERTY_NAME = 30,
    SCREEN_PROPERTY_OWNER_PID = 31,
    SCREEN_PROPERTY_PHYSICALLY_CONTIGUOUS = 32,
    SCREEN_PROPERTY_PLANAR_OFFSETS = 33,
    SCREEN_PROPERTY_POINTER = 34,
    SCREEN_PROPERTY_POSITION = 35,
    SCREEN_PROPERTY_PROTECTED = 36,
    SCREEN_PROPERTY_RENDER_BUFFERS = 37,
    SCREEN_PROPERTY_ROTATION = 38,
    SCREEN_PROPERTY_SATURATION = 39,
    SCREEN_PROPERTY_SIZE = 40,
    SCREEN_PROPERTY_SOURCE_POSITION = 41,
    SCREEN_PROPERTY_SOURCE_SIZE = 42,
    SCREEN_PROPERTY_STATIC = 43,
    SCREEN_PROPERTY_STRIDE = 44,
    SCREEN_PROPERTY_SWAP_INTERVAL = 45,
    SCREEN_PROPERTY_TRANSPARENCY = 46,
    SCREEN_PROPERTY_TYPE = 47,
    SCREEN_PROPERTY_USAGE = 48,
    SCREEN_PROPERTY_USER_DATA = 49,
    SCREEN_PROPERTY_USER_HANDLE = 50,
    SCREEN_PROPERTY_VISIBLE = 51,
    SCREEN_PROPERTY_WINDOW = 52,
    SCREEN_PROPERTY_RENDER_BUFFER_COUNT = 53,
    SCREEN_PROPERTY_ZORDER = 54,
    SCREEN_PROPERTY_PHYSICAL_ADDRESS = 55,
    SCREEN_PROPERTY_SCALE_QUALITY = 56,
    SCREEN_PROPERTY_SENSITIVITY = 57,
    SCREEN_PROPERTY_SCALE_MODE = 58,
    SCREEN_PROPERTY_DISPLAY_COUNT = 59,
    SCREEN_PROPERTY_DISPLAYS = 60,
    SCREEN_PROPERTY_CBABC_MODE = 61,
    SCREEN_PROPERTY_FLOATING = 63,
    SCREEN_PROPERTY_ATTACHED = 64,
    SCREEN_PROPERTY_DETACHABLE = 65,
    SCREEN_PROPERTY_NATIVE_RESOLUTION = 66,
    SCREEN_PROPERTY_PROTECTION_ENABLE = 67,
    SCREEN_PROPERTY_SOURCE_CLIP_POSITION = 68,
    SCREEN_PROPERTY_PHYSICAL_SIZE = 69,
    SCREEN_PROPERTY_FORMAT_COUNT = 70,
    SCREEN_PROPERTY_FORMATS = 71,
    SCREEN_PROPERTY_SOURCE_CLIP_SIZE = 72,
    SCREEN_PROPERTY_TOUCH_ID = 73,
    SCREEN_PROPERTY_VIEWPORT_POSITION = 74,
    SCREEN_PROPERTY_VIEWPORT_SIZE = 75,
    SCREEN_PROPERTY_TOUCH_ORIENTATION = 76,
    SCREEN_PROPERTY_TOUCH_PRESSURE = 77,
    SCREEN_PROPERTY_TIMESTAMP = 78,
    SCREEN_PROPERTY_SEQUENCE_ID = 79,
    SCREEN_PROPERTY_IDLE_MODE = 80,
    SCREEN_PROPERTY_IDLE_STATE = 81,
    SCREEN_PROPERTY_KEEP_AWAKES = 82,
    SCREEN_PROPERTY_IDLE_TIMEOUT = 83,
    SCREEN_PROPERTY_FOCUS = 84,
    SCREEN_PROPERTY_MTOUCH_FOCUS = 85,
    SCREEN_PROPERTY_POINTER_FOCUS = 86,
    SCREEN_PROPERTY_ID = 87,
    SCREEN_PROPERTY_POWER_MODE = 88,
    SCREEN_PROPERTY_MODE_COUNT = 89,
    SCREEN_PROPERTY_MODE = 90,
    SCREEN_PROPERTY_CLIP_POSITION = 91,
    SCREEN_PROPERTY_CLIP_SIZE = 92,
    SCREEN_PROPERTY_COLOR = 93,
    SCREEN_PROPERTY_MOUSE_WHEEL = 94,
    SCREEN_PROPERTY_CONTEXT = 95,
    SCREEN_PROPERTY_DEBUG = 96,
    SCREEN_PROPERTY_ALTERNATE = 97,
    SCREEN_PROPERTY_DEVICE_COUNT = 98,
    SCREEN_PROPERTY_OBJECT_TYPE = 100,
    SCREEN_PROPERTY_DEVICES = 101,
    SCREEN_PROPERTY_KEYMAP_PAGE = 102,
    SCREEN_PROPERTY_SELF_LAYOUT = 103,
    SCREEN_PROPERTY_GROUP_COUNT = 104,
    SCREEN_PROPERTY_GROUPS = 105,
    SCREEN_PROPERTY_PIXMAP_COUNT = 106,
    SCREEN_PROPERTY_PIXMAPS = 107,
    SCREEN_PROPERTY_WINDOW_COUNT = 108,
    SCREEN_PROPERTY_WINDOWS = 109,
    SCREEN_PROPERTY_KEYMAP = 110,
    SCREEN_PROPERTY_MOUSE_HORIZONTAL_WHEEL = 111,
    SCREEN_PROPERTY_TOUCH_TYPE = 112,
    SCREEN_PROPERTY_NATIVE_IMAGE = 113,
    SCREEN_PROPERTY_SCALE_FACTOR = 114,
    SCREEN_PROPERTY_DPI = 115,
    SCREEN_PROPERTY_METRIC_COUNT = 116,
    SCREEN_PROPERTY_METRICS = 117,
    SCREEN_PROPERTY_BUTTON_COUNT = 118,
    SCREEN_PROPERTY_VENDOR = 119,
    SCREEN_PROPERTY_PRODUCT = 120,
    SCREEN_PROPERTY_BRUSH_CLIP_POSITION = 121,
    SCREEN_PROPERTY_BRUSH_CLIP_SIZE = 122,
    SCREEN_PROPERTY_ANALOG0 = 123,
    SCREEN_PROPERTY_ANALOG1 = 124,
    SCREEN_PROPERTY_BRUSH = 125,
    SCREEN_PROPERTY_MAXIMUM_TOUCH_ID = 126,
    SCREEN_PROPERTY_TRANSFORM = 127,
    SCREEN_PROPERTY_KEY_ALTERNATE_SYM = 128,
    SCREEN_PROPERTY_TECHNOLOGY = 129,
    SCREEN_PROPERTY_PERMISSIONS = 131,
    SCREEN_PROPERTY_STICKY_MODIFIERS = 132,
    SCREEN_PROPERTY_INTENSITY = 133,
    SCREEN_PROPERTY_SESSION = 137,
    SCREEN_PROPERTY_GESTURE_PARAMETERS = 139,
    SCREEN_PROPERTY_DURATION = 140,
    SCREEN_PROPERTY_DISPLACEMENT = 141,
    SCREEN_PROPERTY_SPEED = 142,
    SCREEN_PROPERTY_ACCELERATION = 143,
    SCREEN_PROPERTY_BALLISTIC_COEFFICIENTS = 144,
    SCREEN_PROPERTY_BUTTON_MAP = 146,
    SCREEN_PROPERTY_CURSOR = 149,
    SCREEN_PROPERTY_MIRROR_MODE = 150,
    SCREEN_PROPERTY_EVENT = 151,
    SCREEN_PROPERTY_MANAGER_STRING = 152,
    SCREEN_PROPERTY_SUBTYPE = 153,
    SCREEN_PROPERTY_STATUS = 154,
    SCREEN_PROPERTY_FRONT_BUFFER_COUNT = 156,
    SCREEN_PROPERTY_STREAM = 157,
    SCREEN_PROPERTY_PARENT = 158,
    SCREEN_PROPERTY_RED_GAMMA_CURVE = 159,
    SCREEN_PROPERTY_GREEN_GAMMA_CURVE = 160,
    SCREEN_PROPERTY_BLUE_GAMMA_CURVE = 161,
    SCREEN_PROPERTY_PIXMAP = 162,
    SCREEN_PROPERTY_SESSION_COUNT = 163,
    SCREEN_PROPERTY_SESSIONS = 164,
    SCREEN_PROPERTY_STREAM_COUNT = 165,
    SCREEN_PROPERTY_STREAMS = 166,
    SCREEN_PROPERTY_KEY_PAGE = 167,
    SCREEN_PROPERTY_BUFFERS = 168,
    SCREEN_PROPERTY_REPEAT_DELAY = 169,
    SCREEN_PROPERTY_REPEAT_RATE = 170,
    SCREEN_PROPERTY_FRONT_BUFFERS = 171,
    SCREEN_PROPERTY_ANALOG_COUNT = 172,
    SCREEN_PROPERTY_WINDOW_MANAGER_ID = 173,
    SCREEN_PROPERTY_FD = 174,
    SCREEN_MAX_PROPERTY
};

Data:

SCREEN_PROPERTY_ALPHA_MODE
A single integer that defines how alpha should be interpreted.
The alpha mode must be of type Screen alpha mode types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (alpha-mode)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • pixmap
    • stream
    • window
SCREEN_PROPERTY_GAMMA
A single integer representing the fixed-point gamma value of the current display.
The gamma value, typically a real number, is constrained and stored as an integer (i.e., SCREEN_PROPERTY_GAMMA is the result of your display's gamma value * 256.0f + 0.5). When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: Yes (gamma)
  • Default privileges:
    r--rw-rw- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_BRIGHTNESS
A single integer in the range [-255, 255] that's used to adjust the brightness of an object.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (brightness)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
    • window
SCREEN_PROPERTY_BUFFER_COUNT
A single integer that indicates the number of buffers that were created or attached to the object.
When retrieving this property type, ensure that you have sufficient storage for one integer. Also note that this property is local to the API object. This means that a query for this property won't trigger a flush of the command buffer despite that get functions are usually flushing execution.
  • Configurable: Yes (buffer-count)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • stream
    • window
SCREEN_PROPERTY_BUFFER_SIZE
A pair of integers containing the width and height, in pixels, of the buffer.
When retrieving or setting this property type, ensure that you provide sufficient storage for two integers.
  • Configurable: Yes (buffer-size)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • buffer
    • pixmap
    • stream
    • window
SCREEN_PROPERTY_BUTTONS
A single integer which is a bitmask indicating which buttons are pressed; a property of an object.
Note that D-pad, A, B, X, Y, Start, Select, Left, and Right are all considered buttons on gamepads. When retrieving this property type, ensure that you provide sufficient storage for one integer.
SCREEN_PROPERTY_CLASS
The name of a class corresponding to one that's defined in the configuration file, graphics.conf.
The class specifies a set of window property and value pairs which is applied to the window as initial or default values. When retrieving or setting this property type, ensure that you have sufficient storage for a character buffer. Screen permits a maximum size of 63 bytes and a terminating null character (64 bytes in total) for SCREEN_PROPERTY_CLASS.
  • Configurable: No
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_COLOR_SPACE
A single integer that indicates the color space of a buffer.
The color space must be of type Screen color space types. The default value is SCREEN_COLOR_SPACE_UNCORRECTED. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
    • pixmap
    • stream
    • window
SCREEN_PROPERTY_CONTRAST
A single integer in the range [-128, 127] that is used to adjust the contrast of an object.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (contrast)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
    • window
SCREEN_PROPERTY_DEVICE
The input device, or the handle for the input device that the event came from.
SCREEN_PROPERTY_DISPLAY
A display handle.
When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer. If you're setting another display and the pipeline for the display, set the display first and the pipeline later.
  • Configurable: Yes (display)
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • device: The display that's the focus for the specified input device. A value of NULL indicates that the input device is focused on the default display.
    • event:
      • SCREEN_EVENT_PROPERTY event: The property of either a device or a window, depending on the recipient object of the event.
      • SCREEN_EVENT_DISPLAY event: The handle of the new external display that's been detected.
      • SCREEN_EVENT_IDLE event:The handle of the display on which a window entered an idle state.
    • pixmap: The display that's used to set buffer properties against, in the cases where the buffers may be displayed through either sharing or reattaching to a window.
    • session: The display that's associated with the specified input session if the session is active. When a session is linked to a window, the session and the window have the same display.
    • stream: The display that's used to set buffer properties against, in the cases where the buffers may be displayed through either sharing or reattaching to a window.
    • window: The display on which the specified window is shown if the window is visible. A value of NULL indicates that the window is shown on the default display. Note that setting SCREEN_PROPERTY_DISPLAY invalidates the pipeline.
SCREEN_PROPERTY_EGL_HANDLE
A handle to the EGL driver.
When retrieving or setting this property type, ensure that you provide sufficient storage for one void pointer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_FLIP
A single integer that indicates whether the window content is flipped (content that's reflected across a horizontal axis).
Any non-zero integer value indicates that the content is flipped. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_FORMAT
A single integer that indicates the pixel format of the buffer.
The format must be of type Screen pixel format types. When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
SCREEN_PROPERTY_FRONT_BUFFER
A handle to the last buffer of the window that's been posted.
When retrieving this property type, ensure that you have sufficient storage for one void pointer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_GLOBAL_ALPHA
A single integer in the range [0, 255] that indicates the global alpha value to be applied to the window.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (global-alpha)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_PIPELINE
A single integer that contains the pipeline ID.

It's important to understand the difference between pipeline ordering and the z-ordering of windows. Pipeline ordering refers to the hardware layering that is specific to your target. The z-ordering of windows refers to the layering Screen uses to arrange windows. Your application can specify both the pipeline and the z-order.

If your application assigns pipelines manually (by means of setting the SCREEN_PROPERTY_PIPELINE property), Screen respects the pipeline assignment. However, your application must ensure that the z-order values make sense with regard to the pipeline order of your target hardware. Your pipeline assignment takes precedence over z-ordering operations in Screen. Set the SCREEN_USAGE_OVERLAY flag in SCREEN_PROPERTY_USAGE if you're manually assigning the pipeline.

For example, if you assign a framebuffer to the top layer in a graphics configuration on a non-composited window which doesn't have the correct z-order set, a new window (no matter its z-order) can't be blended above the framebuffer. The same constraint applies if you assign a framebuffer to the bottom layer of a graphics configuration; your application's window can't be blended below the framebuffer. In these cases, Screen punches holes in the framebuffer in order to preserve the z-order.

To set the pipeline on another display, you need to first set the display and then the pipeline.

Screen respects your pipeline assignment unless the option -strict-pipelines is set to 0 in your configuration file. In this case, Screen uses a composition strategy that aims to optimize for the current scene while taking memory bandwidth and available pipelines into consideration. That is, if your visible application windows can't be displayed on the pipeline to which it was assigned, Screen uses other composition paths.

When retrieving or setting this property type, ensure that you have sufficient storage for one integer.

  • Configurable: Yes (pipeline)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_GROUP
The group that the API object is associated with.

When retrieving or setting this property type, ensure that you have sufficient storage according to the definition of the property for the specific API object. When you retrieve this property, as a pointer, at any point in your application, Screen locally allocates resources to track this group. You must call screen_destroy_group() to free up these resources when you've finished using this group. Also note that Screen permits a maximum size of 63 bytes and a terminating null character (64 bytes in total) for SCREEN_PROPERTY_GROUP as a name.

SCREEN_PROPERTY_HUE
A single integer in the range [-128, 127] that is used to adjust the hue.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (hue)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
    • window
SCREEN_PROPERTY_ID_STRING
A string that can be used by window manager or parent to identify the contents of an object.
When retrieving or setting this property type, ensure that you provide sufficient storage for a character buffer. Screen permits a maximum size of 63 bytes and a terminating null character (64 bytes in total) for SCREEN_PROPERTY_ID_STRING.
  • Configurable: Yes (id_string)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
    • display: This property can be only retrieved, and not set for a display
    • group
    • pixmap
    • session
    • stream
    • window
SCREEN_PROPERTY_INPUT_VALUE
A single integer that indicates the input value associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event
    This property is applicable to only a SCREEN_EVENT_INPUT event.
SCREEN_PROPERTY_INTERLACED
A single integer that indicates whether or not the buffer contains interlaced fields instead of progressive data.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_JOG_COUNT
A single integer that indicates the jog count associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event
    This property is applicable to only a SCREEN_EVENT_JOG event.
SCREEN_PROPERTY_KEY_CAP
A single integer that indicates the keyboard cap associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event
    This property is applicable to only a SCREEN_EVENT_KEYBOARD event.
SCREEN_PROPERTY_FLAGS
A single integer that indicates the flags associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
SCREEN_PROPERTY_MODIFIERS
A single integer that indicates the modifiers associated with an object.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
SCREEN_PROPERTY_SCAN
A single integer that indicates the scan code associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
  • event: This property is applicable to only the following events:
SCREEN_PROPERTY_SYM
A single integer that indicates the symbols associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
  • event: This property is applicable to only the following events:
SCREEN_PROPERTY_MIRROR
A single integer (0 or 1) that indicates whether or not contents of the API object are mirrored (a reflection of the original content across the vertical axis).
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_NAME
The name of a window group or property.
When retrieving or setting this property type, ensure you provide sufficient storage a character buffer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event: This property applicable to the following events
    • group: When setting this property, note that lower case and special characters are permitted. However, the string must be unique within your system and must not start with __scrn-.
SCREEN_PROPERTY_OWNER_PID
A single integer that indicates the process id of the process responsible for creating the API object.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • devices
    • displays
    • group
    • pixmaps
    • session
    • stream
    • window
SCREEN_PROPERTY_PHYSICALLY_CONTIGUOUS
A single integer that indicates whether or not the buffer is physically contiguous.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_PLANAR_OFFSETS
Three integers that provide the offset from the base address for each of the Y, U and V components of planar YUV formats.
When retrieving or setting this property type, ensure that you have sufficient storage for three integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_POINTER
A pointer that can be used by software renderers to read from and/or write to the buffer.
When retrieving or setting this property, ensure that you have sufficient storage space for one void pointer. You must have created or attached the buffer with a usage that includes SCREEN_USAGE_READ and/or SCREEN_USAGE_WRITE to be able to use this property.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_POSITION
A pair of integers that define position of the screen coordinates of the related API object.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
  • Configurable: Yes (window_position)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • event: The x and y values for the contact point of the mtouch or pointer. This property is applicable to only the following events:
    • session: The x and y positions of the input region. The position is expressed relative to the top left corner of the window buffer if the session is associated with a window. Otherwise, the position is in display coordinates.
    • window: The x and y positions of the window screen coordinates. Remember that the position of child and embedded windows are relative to the parent window. For example, if the position of the application window is {10, 10} and the position of the child window is {10, 10}, then the position of the child window on the physical display is actually {20, 20}.
SCREEN_PROPERTY_PROTECTED
A single integer that specifies whether or not there is protection for the buffer.
Screen won't display the content of the buffer unless there's a secure link present. Operations on the buffer, such as reading from, writing to, or mapping a region of the buffer to a different address space are prohibited. Note that setting protection on a buffer doesn't invoke a request for authentication. Typically, the window that owns the buffer will have its window property, SCREEN_PROPERTY_PROTECTION_ENABLE, set. The request for authentication is made when the you post the window and its SCREEN_PROPERTY_VISIBLE property indicates that the window is visible. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_RENDER_BUFFERS
A handle to the buffer or buffers available for rendering.
When retrieving this property type, ensure that you provide sufficient storage according to the API object type.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • pixmap: Only one buffer is allowed for a pixmap object. When retrieving this property for a pixmap, ensure that you have sufficient storage for one void pointer.
    • stream: Multiple buffers may be available for rendering for a stream object. When retrieving SCREEN_PROPERTY_RENDER_BUFFERS for a stream, ensure that you have sufficient storage for one void pointer for each available buffer. Use the SCREEN_PROPERTY_RENDER_BUFFER_COUNT property to determine the number of buffers that are available for rendering.
    • window: Multiple buffers may be available for rendering for a window object. When retrieving SCREEN_PROPERTY_RENDER_BUFFERS for a window, ensure that you have sufficient storage for one void pointer for each available buffer. Use the SCREEN_PROPERTY_RENDER_BUFFER_COUNT property to determine the number of buffers that are available for rendering.
SCREEN_PROPERTY_ROTATION
A single integer that defines the desired rotation of the API object.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: Yes (rotation (window) or rotation (display))
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • display: The desired rotation, in degrees clockwise, of the display. The rotation value is one of: 0, 90, 180, 270. Changing the display rotation doesn't implicitly change any window properties.
    • window: The desired rotation, in degrees clockwise, of the window's content. Window rotation doesn't affect the the size or position of the window; only the content of the window is rotated. Screen applies scaling on the content to fit the bounds of the window where applicable. The rotation value is one of: 0, 90, 180, 270.
SCREEN_PROPERTY_SATURATION
A single integer in the range [-128, 127] that is used to adjust the saturation.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (saturation)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • displays
    • window
SCREEN_PROPERTY_SIZE
The size of the associated API object.
When retrieving or setting this property type, ensure that you provide sufficient storage according to the API object.
  • Configurable: Yes (window-size)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer: A single integer that indicates the size, in bytes, of the buffer. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
    • device: A pair of integers that specify the values of a logical minimum and maximum displacement for gamepad, jog, and joystick devices. If your device supports multiple degrees of freedom, Screen applies the values of this property to all axes. When you change this property, you affect the SCREEN_PROPERTY_DISPLACEMENT property for the devices. Screen uses the larger of the two integers that you specify as the logical maximum, and the smaller of the two integers as the logical minimum. Change this property of a gamepad, jog, or joystick device to control its sensitivity. Screen defines the rest position of a device (i.e., no displacement) as zero; zero is used as the midpoint between the logical maximum and minimum. This property is applicable to only the following devices:
    • display: A pair of integers that define the width and height, in pixels, of the current video resolution. When retrieving this property type, ensure that you have sufficient storage for two integers. Note that the display size changes with the display rotation. For example, if the video mode is 1024x768 and the rotation is 0 degrees, the display size will indicate 1024x768. When the display rotation is set to 90 degrees, the display size will become 768x1024. This property can be only retrieved, and not set for a display.
    • event: A pair of integers that define the width and height, in pixels, of the touch or contact area. This property is applicable to only the following events:
    • session: A pair of integers that define the width and height, in pixels, of the input region. The dimensions are expressed in buffer coordinates if the session is associated with a window. Otherwise, the size is in display coordinates. When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
    • window: A pair of integers that define the width and height, in pixels, of the window. When retrieving this property type, ensure that you have sufficient storage for two integers.
SCREEN_PROPERTY_SOURCE_POSITION
A pair of integers that define the x and y position of a source viewport within the window buffers.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
SCREEN_PROPERTY_SOURCE_SIZE
A pair of integers that define the width and height, pixels, of a source viewport within the window buffers.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
SCREEN_PROPERTY_STATIC
A single integer that indicates whether or not the contents of a window are expected to change.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (static)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_STRIDE
A single integer that indicates the number of bytes between the same pixels on adjacent rows.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_SWAP_INTERVAL
A single integer that specifies the minimum number of vsync periods between posts.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (interval)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • streams
    • window
SCREEN_PROPERTY_TRANSPARENCY
A single integer that defines the transparency type of an API object.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display: How multiple layers are combined. The transparencies that are applicable to a display object are: This property can be only retrieved, and not set for a display.
    • window: How the alpha channel of the window is used to combine a window with other windows or the background color underneath it. Although the window transparency property can be set, the actual transparency applied is dependent on hardware. If the hardware supports it, the transparency specified by this property is applied, otherwise a best effort algorithm is used to apply the window transparency. Transparency must be of the type Screen transparency types. This property is set to SCREEN_TRANSPARENCY_SOURCE_OVER as a convenience when you set SCREEN_PROPERTY_FORMAT to a format with alpha (e.g., SCREEN_FORMAT_RGBA4444). Therefore, if this isn't your intention, then we recommend that you use a pixel format type that disregards the alpha channel (e.g. SCREEN_FORMAT_RGBX4444).
SCREEN_PROPERTY_TYPE
A single integer that indicates the type of the specified object.
When retrieving this property type, ensure that you provide sufficient storage for one integer.
SCREEN_PROPERTY_USAGE
A single integer that is a bitmask indicating the intended usage for the buffers associated with the API object.
The default usage for a buffer is SCREEN_USAGE_READ | SCREEN_USAGE_WRITE. SCREEN_PROPERTY_USAGE must be a combination of type Screen usage flag types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer. Note that changing SCREEN_PROPERTY_USAGE affects the pipeline when the overlay usage bit (SCREEN_USAGE_OVERLAY) is added or removed.
  • Configurable: Yes (usage)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • pixmap
    • stream
    • window
SCREEN_PROPERTY_USER_DATA
An array of four integers containing data associated with the user.
This property can be queried or set in association with an event of type SCREEN_EVENT_USER. When retrieving or setting this property type, ensure that you have sufficient storage for four integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event
SCREEN_PROPERTY_USER_HANDLE
A handle to associate the API object with application-specific user data.
When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
    • group
    • stream
    • window
SCREEN_PROPERTY_VISIBLE
A single integer that specifies whether an API object is visible (or active).
Any non-zero integer value indicates that the API object is visible. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (visible)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • session
    • window
SCREEN_PROPERTY_WINDOW
A pointer to a window.

When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer. When you retrieve this property at any point in your application, Screen locally allocates resources to track this window. You must call screen_destroy_window() to free up these resources when you've finished using this window.

SCREEN_PROPERTY_RENDER_BUFFER_COUNT
A single integer that indicates he number of render buffers associated with the API object.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • stream
    • window
SCREEN_PROPERTY_ZORDER
A single integer in the range [INT_MIN, INT_MAX] that indicates the distance (from the bottom) that's used when ordering API objects amongst each other.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (order)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • session: A window can have multiple input sessions. When regions of these multiple sessions overlap, this property is used to determine which session is on top. The session whose SCREEN_PROPERTY_ZORDER is the highest is the session that receives the input event.
    • window: The z-order of a window is relative to its parent window. For example, a positive value will place the child on top of (or above) its associated parent window. Conversely, a negative z-order puts the child window underneath the parent window. The z-order has no units associated with it. In the case that there's a window manager in the system, the z-order of application windows are relative to 0.
SCREEN_PROPERTY_PHYSICAL_ADDRESS
A single long long integer that corresponds to the physical address of the buffer.
This property is valid only when the buffer is physically contiguous. When retrieving or setting this property type, ensure that you provide sufficient storage for one long integer.
  • Configurable: No
  • Default privileges:
    r--rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_SCALE_QUALITY
A single integer that indicates the amount of filtering performed by Screen when scaling is required to draw the window.
The scale quality must be of type Screen scale quality types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_SENSITIVITY
A single integer that indicates the API object input behavior.
The sensitivity must be of type Screen sensitivity types or an integer that is a bitmask combination of Screen sensitivity masks. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (sensitivity)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • session
    • window
SCREEN_PROPERTY_SCALE_MODE
A single integer that specifies the scaling mode.
The scale mode must be of type Screen scale types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_DISPLAY_COUNT
A single integer containing the number of displays associated with this context.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_DISPLAYS
An array of display pointers.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each display. Retrieve the SCREEN_PROPERTY_DISPLAY_COUNT property to determine the number of displays associated with this context. Once you know the number of displays, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_DISPLAYS.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_CBABC_MODE
A single integer that indicates what the window's content mode is.
The content mode must be of type Screen content mode types. When getting or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (cbabc)
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_FLOATING
A single integer that indicates whether or not the API object is floating.
Any non-zero integer value indicates that the API object is floating. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • device: This property is applicable to a SCREEN_EVENT_POINTER device only. When a pointer device is floating, you can change positions of the icon that's representing your cursor.
    • window: This property can be set only on windows of type SCREEN_APPLICATION_WINDOW. An application window that's floating behaves similarly to that of a window of type SCREEN_CHILD_WINDOW. An application window that's non-floating is similar to window of type SCREEN_EMBEDDED_WINDOW whose data is clipped to the boundaries of its parent window. In addition, this property is considered only if the application window is in a window group where it has a parent.
SCREEN_PROPERTY_ATTACHED
A single integer that indicates whether or not the display is currently attached.
Any non-zero integer value indicates that the display is attached. When retrieving or setting this property type, ensure you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display: Indicates whether or not the display is connected. This property is used mostly for displays that are detachable. For displays that are not detachable (have a value of 0 for its SCREEN_PROPERTY_DETACHABLE property), their SCREEN_PROPERTY_ATTACHED property is always non-zeroeven when the display is physically disconnected.
    • event:
      • SCREEN_EVENT_DISPLAY: Indicates that a display has changed its state; the display has either connected or disconnected.
      • SCREEN_EVENT_DEVICE: Indicates that either a new device has been created, and is now connected, or that a device has disconnected and been deleted. Unlike displays, device objects only exist in a context if they are attached. This property can be retrieved or set for an event object.
SCREEN_PROPERTY_DETACHABLE
A single integer that indicates whether or not the display can be detached.
Any non-zero integer value indicates that the display is detachable. If a display is detachable, Screen sends events of type SCREEN_EVENT_DISPLAY to privileged contexts of type SCREEN_DISPLAY_MANAGER_CONTEXT upon connections and disconnections of the display. For displays that are not detachable, their SCREEN_PROPERTY_ATTACHED property is always non-zeroeven when the display is physically disconnected. this property type, ensure you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_NATIVE_RESOLUTION
A pair of integers that define the width and height of the native video resolution.
When retrieving this property type, ensure that you have sufficient storage for two integers.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_PROTECTION_ENABLE
A single integer that indicates whether or not content protection is enabled for the API object.
Any non-zero integer value indicates that content protection is enabled. You require a secure link in order to have protection enabled. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • display: Indicates whether High-Bandwidth Digital Content Protection (HDCP) content protection is needed for the window(s) on the display. HDCP is considered enabled as long as one window on the display has its content protection enabled and its SCREEN_PROPERTY_VISIBLE property indicates that the window is visible. This property is dynamic and its value depends on the SCREEN_PROPERTY_PROTECTION_ENABLE property of the window(s) that are on the display. This property can be only retrieved and can't be set for a display. A value of 1 indicates that HDCP is enabled, and a value of 0 indicates that HDCP is disabled.
    • event: This property is applicable only to SCREEN_EVENT_DISPLAY event. Indicates that the disabling of content protection is detected. This is likely due to the loss of a secure link to the display.
    • stream: Indicates whether protection is to be requested before the stream is used. A value of 1 indicates that protection is requested; otherwise indicates that protection isn't required.
    • window: Indicates whether authentication is to be requested before the content of the window can be displayed. Authentication is requested when the window is posted and its SCREEN_PROPERTY_VISIBLE property indicates that the window is visible. A value of zero indicates that authentication isn't required, otherwise authentication is requested.
SCREEN_PROPERTY_SOURCE_CLIP_POSITION
A pair of integers that define the x and y position of a clipped source rectangular viewport within the source buffers.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • stream
    • window
SCREEN_PROPERTY_PHYSICAL_SIZE
A pair of integers that define the width and height, in millimeters, of the region that's relevant to the Screen API object.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: Applies only to devices of type SCREEN_EVENT_MTOUCH_TOUCH where SCREEN_PROPERTY_PHYSICAL_SIZE refers to the size of the touch-sensitive area.
    • display: For display objects, this property refers to the size of the display area.
SCREEN_PROPERTY_FORMAT_COUNT
A single integer that indicates the number of formats that the display supports.
When retrieving this property type, ensure that you have sufficient storage for at least one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_FORMATS
An array of integers of size SCREEN_PROPERTY_FORMAT_COUNT that defines the formats supported by the display.
If the display has many layers, the list is the union of all the formats supported on all layers. Formats are of type Screen pixel format types. When retrieving this property type, ensure that you have sufficient storage for one integer for each supported format.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_SOURCE_CLIP_SIZE
A pair of integers, with initialization value as [SHRT_MIN, SHRT_MIN] and each in the range [0, SHRT_MAX], that define the width and height, in pixels, of a clipped source rectangular viewport within the source buffers.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers. Specify the width and height as [SHRT_MIN, SHRT_MIN] to disable the source clip rectangle.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • stream
    • window
SCREEN_PROPERTY_TOUCH_ID
A single integer that indicates the multi-touch contact id associated with the specific event.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_VIEWPORT_POSITION
A pair of integers that define the x and y position of a rectangular region within the API object.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display: The x and y coordinates of the top left corner of a rectangular region within the display that's intended to be mapped to and redrawn to the display. In order for you to access this display property, you need to be working within a privileged context. That is, a the context in which you are accessing this display property must have been created with at least the bit mask of SCREEN_DISPLAY_MANAGER_CONTEXT.
    • window: The x and y coordinates of the top left corner of a viewport rectangle. This viewport rectangle is used to position child windows of type SCREEN_EMBEDDED_WINDOW (windows that are non-floating). The destination rectangle of this child window, as defined by SCREEN_PROPERTY_POSITION and SCREEN_PROPERTY_SIZE, is relative to the viewport rectangle. Adjusting the position of the parent's viewport rectangle causes the embedded window's position to change even if its destination rectangle, or the destination and source rectangles of the parent, aren't changing. You typically use the viewport rectangle to achieve the effect of scrolling or panning a source whose size is larger than the size of your window buffer.
SCREEN_PROPERTY_VIEWPORT_SIZE
A pair of integers that define the width and height of a rectangular region within the API object.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers. A width and height of INT_MIN indicates that the viewport is disabled.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display: The width and height, in pixels, of a rectangular region within the display that is intended to be mapped to and redrawn to the display. In order for you to access this display property, you need to be working within a privileged context. That is, the context in which you are accessing this display property must have been created with at least the bit mask of SCREEN_DISPLAY_MANAGER_CONTEXT.
    • window: The width and height, in pixels, of a viewport rectangle. This viewport rectangle is used to position child windows of type SCREEN_EMBEDDED_WINDOW (windows that are non-floating). The destination rectangle of this child window, as defined by SCREEN_PROPERTY_POSITION and SCREEN_PROPERTY_SIZE, is relative to the viewport rectangle. You typically use the viewport rectangle to achieve the effect of scrolling or panning a source whose size is larger than the size of your window buffer.
SCREEN_PROPERTY_TOUCH_ORIENTATION
A single integer that indicates the multi-touch orientation associated with the specific event.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_TOUCH_PRESSURE
A single integer that indicates the multi-touch pressure associated with the specific event.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_TIMESTAMP
A single long long integer that indicates a timestamp associated with the API object.
Screen uses the realtime clock and not the monotonic clock when calculating the timestamp. When retrieving or setting this property type, ensure that you have sufficient storage for one long long integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event: The timestamp (in milliseconds) at which the event was received by Screen This property can be retrieved or set for an event object.
    • stream and window: The timestamp (in nanoseconds) to indicate the start of a frame. The The application can set this timestamp to any specific time. Note that Screen automatically calculates and sets this property to the current time when NULL is specified for this property.For example, an application can measure the CPU time that's elapsed between when it starts rendering and when it posts the window or stream. In this case, the application specifies NULL when setting the SCREEN_PROPERTY_TIMESTAMP property of the window or stream. The application, then uses the screen_get_*_property_llv() function to retrieve the SCREEN_PROPERTY_METRICS property of the window or stream to look at the timestamp for comparison to the timestamp that was previously set.
SCREEN_PROPERTY_SEQUENCE_ID
A single integer that is associated with the specific API object.
Don't confuse this identifier with SCREEN_PROPERTY_ID, which is an identifier that's used by applications to identify specific API objects. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_IDLE_MODE
A single integer indicating the idle mode of the window.
The idle mode must be of type Screen idle mode types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_IDLE_STATE
A single integer that indicates the idle state of the API object.
The idle state is 1 if the system is idle. An idle system means that no input is received after the idle timeout period (SCREEN_PROPERTY_IDLE_TIMEOUT). The idle state 0 if an input event is received prior to the idle timeout period expiring. When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: The idle state that's applicable to the entire device.
    • context and display: The idle state that's applicable to the entire display. In the case of a context, the idle state is associated with the default display only.
    • event: Indicates that an idle state change has taken place for either a display or group object. Query the SCREEN_PROPERTY_OBJECT_TYPE property of the event to determine the object type of this event. This property is applicable to only the SCREEN_EVENT_IDLE event.
    • group: The idle state that's applicable to only the group. A group is considered in idle state if none of the windows that are part of the group receive input after the idle timeout period for the group.
SCREEN_PROPERTY_KEEP_AWAKES
A single integer that indicates the number of windows with an idle mode of type SCREEN_IDLE_MODE_KEEP_AWAKE that are visible on a display.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_IDLE_TIMEOUT
A single long long integer that indicates the amount of time, in nanoseconds, after which the system will enter an idle state.
When retrieving or setting this property type, ensure that you have sufficient storage for one long long integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context: The amount of time after which the display of the context will enter an idle state.
    • device: The amount of time after which the device will enter an idle state.
    • display: The amount of time after which the display will enter an idle state.
    • group: The amount of time after which the group will enter in an idle state.
SCREEN_PROPERTY_FOCUS
A handle or an indicator which corresponds to the object that currently has any type of input focus, such as keyboard, or mouse - with the exception of touch or pointer focus.
When retrieving or setting this property type, ensure that you have sufficient storage according to the definition of the property for the specific API object.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • context and display: A handle to the top-level window (application window) on the display that currently has focus. You must be working within a privileged context of type SCREEN_DISPLAY_MANAGER_CONTEXT to be able to use this property. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
    • group: A handle to the immediate window in the group that currently has focus. You must be the owner of the group, screen_group_t, to be able to set this property. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
    • session and window: A single integer (0 or 1) that indicates whether the session currently has focus (e.g., 0 = doesn't have focus, and 1 = has focus). When retrieving this property type, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_MTOUCH_FOCUS
A handle or an indicator which corresponds to the API object that currently has mtouch focus.
When retrieving or setting this property type, ensure that you have sufficient storage according to the definition of the property for the specific API object.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • context and display: A handle to the top-level window (application window) on the display that currently has the mtouch focus. You must be working within a privileged context of type SCREEN_DISPLAY_MANAGER_CONTEXT to be able to use this property. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
    • group: A handle to the immediate window in the group that currently has the mtouch focus. You must be the owner of the group, screen_group_t, to be able to set this property. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
    • session and window: A single integer (0 or 1) to indicate whether the input session currently has the mtouch focus (e.g., 0 = doesn't have focus, and 1 = has focus).
SCREEN_PROPERTY_POINTER_FOCUS
A handle or an indicator which corresponds to the API object that currently has pointer focus.
When retrieving or setting this property type, ensure that you have sufficient storage according to the definition of the property for the specific API object.
  • Configurable: No
  • Default privileges:
    r--rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • context and display: A handle to the top-level window (application window) on the display that currently has the pointer focus. You must be working within a privileged context of type SCREEN_DISPLAY_MANAGER_CONTEXT to be able to use this property. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
    • group: A handle to the immediate window in the group that currently has the pointer focus. You must be the owner of the group, screen_group_t, to be able to set this property. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
    • session and window: A single integer (0 or 1) to indicate whether the input session currently has the pointer focus (e.g., 0 = doesn't have focus, and 1 = has focus).
SCREEN_PROPERTY_ID
A unique integer, or string, that indicates the identification of the API object.
This identifier is generated by Screen. Use this property, as a string, when setting permissions, and when child windows are joining a window hierarchy. This is the string that should be communicated to any window that wants to join a window group as a child. When retrieving this property type, ensure that you have sufficient storage for one integer, or a character buffer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer (can be retrieved as an integer only)
    • context
    • device
    • display
    • group
    • pixmap
    • session
    • stream
    • window
SCREEN_PROPERTY_POWER_MODE
A single integer that defines the power mode.
Power modes must be of type Screen power mode types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (power-mode)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
    • display
SCREEN_PROPERTY_MODE_COUNT
A single integer that indicates the number of modes supported by the display.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_MODE
The mode associated with the API object.
  • Configurable: No
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_CLIP_POSITION
A pair of integers that define the x and y position of a clipped rectangular viewport within the window buffers.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
  • Configurable: Yes (clip-position)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_CLIP_SIZE
A pair of integers, each in the range [0, INT_MAX/256], that define the width and height, in pixels, of a clipped rectangular viewport within the window buffers.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers. Specify the width and height as [INT_MIN, INT_MIN] to disable the clip rectangle.
  • Configurable: Yes (clip-size)
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_COLOR
A single integer that indicates the background color of the window; The color format is alpha value in bits 24 to 31, red in bits 16 to 23, green in bits 8 to 15 and blue in bits 0 to 7.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (color)
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_MOUSE_WHEEL
A single integer that indicates the number and direction of mouse wheel ticks in a vertical direction.
Wheel ticks in an upward direction are indicated by a negative (-) number, while those in the downward direction are indicated by a positive (+) one. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_CONTEXT
A pointer to the context associated with the API object.
When retrieving this property type, ensure that you have sufficient storage for a void pointer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
    • display
    • event
    • group
    • pixmap
    • session
    • stream
    • window
SCREEN_PROPERTY_DEBUG
A single integer that enables an on-screen plot or a list of window statistics as a debugging aid.
The debug type must be a bitmask that represents a combination of the types Screen debug graph types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_ALTERNATE
A handle to an alternate screen object.
When retrieving or setting this property type, ensure that you have sufficient storage for a void pointer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • window
    • session
SCREEN_PROPERTY_DEVICE_COUNT
A single integer containing the number of devices associated with this object.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context: The number of input devices associated with this context.
    • session: The number of input devices associated with this session.
SCREEN_PROPERTY_OBJECT_TYPE
A single integer that indicates the object type associated the with the specific event.
When retrieving this property type, ensure that you have sufficient storage for one integer. Object types must be of type Screen object types.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event
SCREEN_PROPERTY_DEVICES
An array of device pointers.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each device. Retrieve the SCREEN_PROPERTY_DEVICE_COUNT property to find out how many devices are associated with this API object. Once you know the number of devices, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_DEVICES.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_KEYMAP_PAGE
A single integer that indicates which page of a multi-page keymap must be used to translate scan codes into key caps and key symbols.
Setting this property on a USB or Bluetooth keyboard device has no effect. The privileged context (SCREEN_INPUT_PROVIDER_CONTEXT) that created the external keyboard device (by calling screen_create_device_type()) receives a notification of changes made to this property. When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
SCREEN_PROPERTY_SELF_LAYOUT
A single integer that indicates whether the window has self layout capabilities.
When set to true(1), the owner of the window can set properties that could otherwise only be changed by its manager. When set to false(0), the owner of the window is permitted to change only certain window properties. Note that only a window manager (parent) can set this property. The following are properties that can be set by the owner of the window only if SCREEN_PROPERTY_SELF_LAYOUT is set to true(1): When these layout-related properties are changed, a SCREEN_EVENT_PROPERTY event is sent to notify the window manager (or parent) of the property change.
When retrieving or setting SCREEN_PROPERTY_SELF_LAYOUT, ensure that you have sufficient storage for one integer.
  • Configurable: Yes (self-layout)
  • Default privileges:
    r--rw-r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_GROUP_COUNT
A single integer containing the number of groups associated with this context.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_GROUPS
An array of group pointers.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each group. Retrieve the SCREEN_PROPERTY_GROUP_COUNT property to determine the number of groups that are associated with this context. Once you know the number of groups, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_GROUPS.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_PIXMAP_COUNT
A single integer containing the number of pixmaps associated with this context.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_PIXMAPS
An array of pixmap pointers; a property of a context object.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each pixmap. Retrieve the SCREEN_PROPERTY_PIXMAP_COUNT property to determine the number of pixmaps are associated with this context. Once you know the number of pixmaps, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_PIXMAPS.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_WINDOW_COUNT
A single integer containing the number of windows associated with this context.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_WINDOWS
An array of window pointers.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each window. Retrieve the SCREEN_PROPERTY_WINDOW_COUNT property to determine the number of windows are associated with this context. Once you know the number of windows, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_WINDOWS.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_KEYMAP
A character string specifying a keymap filename without the .kbd extension.
The .kbd extension is appended to the provided filename. You must be working from within a privileged context to be able to set this property. When retrieving or setting this property type, ensure that you provide a character buffer. Screen permits a maximum size of 63 bytes and a terminating null character (64 bytes in total) for SCREEN_PROPERTY_KEYMAP.
  • Configurable: Yes (keymap)
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context: The default keymap. Unless specifically assigned, this keymap is applied to all input devices.
    • device: The keymap that's assigned to the specified input device. The keymap is applicable to only that device, and it isn't persistent. For example, if the input device is removed, and then replaced, the default keymap is applied to it until a keymap is specifically set for the input device again.
SCREEN_PROPERTY_MOUSE_HORIZONTAL_WHEEL
A single integer that indicates the number and direction of mouse wheel ticks in a horizontal direction.
Wheel ticks toward the left are indicated by a negative (-) number, while those toward the right are indicated by a positive (+) one. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_TOUCH_TYPE
A single integer that indicates the touch type associated the with the specific event.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer. Touch types must be of type Screen touch types.
SCREEN_PROPERTY_NATIVE_IMAGE
A pointer an opaque type.
Use this for drivers only. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_PROPERTY_SCALE_FACTOR
A single integer that indicates the number of bits of the desired sub-pixel precision.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: The default value is 16. Note that setting this property prior to retrieving SCREEN_PROPERTY_TRANSFORM or SCREEN_PROPERTY_BALLISTIC_COEFFICIENTS will affect the values for transformation and ballistic coefficients matrices respectively.
    • display: The default value is 16.
    • session: The default value is 16.
    • event: The default value is 0.
    • window: The default value is 16. Note that setting this property prior to retrieving SCREEN_PROPERTY_TRANSFORM will affect the values for the transformation matrix.
SCREEN_PROPERTY_DPI
A pair of integers which represent the dpi measurement; a property of a display object.
The dpi is calculated from the physical dimensions and resolution of the display. When retrieving this property type, ensure that you have sufficient storage for two integers.
  • Configurable: No
  • Default privileges:
    rw-r--r--
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
    • display
SCREEN_PROPERTY_METRIC_COUNT
A single integer that indicates the number of metrics associated with an API object.
Note that the metric count may vary between API objects. When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
    • display
    • pixmap
    • stream
    • window
SCREEN_PROPERTY_METRICS
A array of metrics associated with an API object.
Note that the size of the array of metrics may vary between API objects. When retrieving this property type, ensure that you have sufficient storage for one void pointer for each metric. Retrieve the SCREEN_PROPERTY_METRIC_COUNT property to find out how many metrics are associated with the API object; once you know the number of metrics, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_METRICS.
  • Configurable: No
  • Default privileges:
    r--r--rw- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
    • display
    • pixmap
    • session
    • stream
    • window
SCREEN_PROPERTY_BUTTON_COUNT
A single integer that indicates the number of buttons on the input device.
You can set this property on input devices you create. In the case of mtouch, this property refers to the number of buttons on the stylus, not necessarily the touch points. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
SCREEN_PROPERTY_VENDOR
An integer or a string that can be used to identify the vendor of the specified API object.
When retrieving or setting this property type as a character array, Screen permits a maximum size of 63 bytes and a terminating null character (64 bytes in total).
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: The integer variation of this property can provide information that's more specific than that of its string variation. When retrieving or setting this property type, ensure that you provide sufficient storage for a single integer or a character buffer.
    • display: For display objects, this property can only be retrieved as a string. When retrieving this property type, ensure that you provide a character buffer.
SCREEN_PROPERTY_PRODUCT
An integer or a string that can be used to identify the product of the specified API object.
When retrieving or setting this property type as a character array, Screen permits a maximum size of 63 bytes and a terminating null character (64 bytes in total).
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: The integer variation of this property can provide information that's more specific than that of its string variation. When retrieving or setting this property type, ensure that you provide sufficient storage for a single integer or a character buffer.
    • display: For display objects, this property can only be retrieved as a string. When retrieving this property type, ensure that you provide a character buffer.
SCREEN_PROPERTY_BRUSH_CLIP_POSITION
A pair of integers that define the x and y position of a clipped rectangular area within the window buffers where brush strokes are allowed to be drawn.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
SCREEN_PROPERTY_BRUSH_CLIP_SIZE
A pair of integers that define the width and height, in pixels, of a clipped rectangular area within the window buffers where brush strokes are allowed to be drawn.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
SCREEN_PROPERTY_ANALOG0
The x, y and z values for one analog controller.
For analog controllers that don't have three degrees of freedom, only x and y values are valid; z has a value of 0. Regardless of two or three degrees of freedom of your analog controller(s), when retrieving or setting this property type, ensure that you have sufficient storage for three integers.
SCREEN_PROPERTY_ANALOG1
The x, y, and z values for a second analog controller.
For analog controllers that don't have three degrees of freedom, only x and y values are valid; z has a value of 0. Regardless of two or three degrees of freedom of your analog controller(s), when retrieving or setting this property type, ensure that you have sufficient storage for three integers.
SCREEN_PROPERTY_BRUSH
The pixmap that contains the brush to be used when the property, SCREEN_PROPERTY_SENSITIVITY, has a brush bit set, and the corresponding type of input event is delivered to the API object.
The sensitivity values that can be set to enable brush drawing in your sensitivity mask are: The pixmap can use an RGB color format for color information. The alpha channel can be used to define the brush shape. The pixmap buffer size determines the size of the brush. No drawing will occur if the window has a brush sensitivity bit set, but no brush pixmap. When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_MAXIMUM_TOUCH_ID
A single integer that indicates the index of the highest possible touch ID.
This property can be queried only from an input device that supports mtouch (i.e., a device of type SCREEN_EVENT_MTOUCH_TOUCH). When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_TRANSFORM
A set of integers that represent the 3x3 transformation matrix used to convert buffer or device coordinates to display coordinates.
The transformation matrix is stored in column-major order. This property is typically used when you have a known coordinate and need to know where it would be located on the display screen. Screen creates a vector V=(X, Y, 1.0) from the raw coordinates, (X, Y). Then, Screen multiplies the transformation matrix T with this vector (T x V) to achieve a resultant vector of (Xa, Ya, Wa). This resultant vector is then divided by Wa to result in (Xab, Yab, 1.0), which provides (Xab, Yab) as the transformed display coordinates. When retrieving this property, ensure that you have sufficient storage for 9 integers. When you set the SCREEN_PROPERTY_SCALE_FACTOR property of a window, or device, prior to retrieving this property, you affect the values of this transformation matrix.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: This property is applicable to only input devices of type SCREEN_EVENT_MTOUCH_TOUCH. When setting this property, the last row of the transformation matrix must be [0, 0, 65536].
    • window: This property can be only retrieved, and not set for a window.
    • session: This property can be only retrieved, and not set for a session.
SCREEN_PROPERTY_KEY_ALTERNATE_SYM
A single integer that provides an alternate key symbol associated to the event.
On reduced keyboards with a limited number of keys, the alternate key symbol can correspond to a non-printable shortcut or command symbol while the main key symbol would be suitable for text entry. The alternate key symbol can be identical to the primary key symbol. When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_TECHNOLOGY
An integer that is used to identify the display technology used by a particular object handle.
For the list of display technologies types, see Screen display technology types. When retrieving this property type, ensure that you provide enough storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_PERMISSIONS
A single integer bitmask, or a string, indicating the permissions associated with an API object.
As an integer, SCREEN_PROPERTY_PERMISSIONS must be a combination of type Screen permission masks. As a string, you can refine the permissions more than you can if you set SCREEN_PROPERTY_PERMISSIONS as an integer. When retrieving or setting this property as an integer or string, ensure that you provide sufficient storage for one integer, or a character buffer respectively. Refer to the Screen Developer's Guide for more information on how to set permissions.
  • Configurable: Yes (permissions)
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
    • device
    • group
    • pixmap
    • session
    • stream
    • window
SCREEN_PROPERTY_STICKY_MODIFIERS
A single integer bitmask indicating which modifiers associated with a device should have a sticky behavior.
Refer to sys/keycodes.h for valid keyboard modifiers. A sticky modifier turns on its corresponding locked modifier automatically, which then gets cleared on the 'key press + key release' sequence immediately following. When multiple modifiers are set to be sticky, they can be compounded, allowing <Shift Down>, <Shift Up>, <Alt Down>, <Alt Up>, <A> to produce the same results as <Shift Down>, <Alt Down>, <A>, <Shift Up>, <Alt Up>. When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device: From sys/keycodes.h, the valid modifiers for a device are:
      • KEYMOD_SHIFT
      • KEYMOD_CTRL
      • KEYMOD_ALT
      • KEYMOD_ALTGR
      • KEYMOD_SHL3
      • KEYMOD_MOD6
      • KEYMOD_MOD7
      • KEYMOD_MOD8
      • KEYMOD_SHIFT_LOCK
      • KEYMOD_CTRL_LOCK
      • KEYMOD_ALT_LOCK
      • KEYMOD_ALTGR_LOCK
      • KEYMOD_SHL3_LOCK
      • KEYMOD_MOD6_LOCK
      • KEYMOD_MOD7_LOCK
      • KEYMOD_MOD8_LOCK
      • KEYMOD_CAPS_LOCK
      • KEYMOD_NUM_LOCK
      • KEYMOD_SCROLL_LOCK
SCREEN_PROPERTY_INTENSITY
A single integer in the range [-1, 100000] that controls the brightness of a display, if that display allows its brightness to be controlled.
The default value of -1 implies that Screen automatically sets the display intensity based on ambient lighting. When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_SESSION
A pointer to a session.

When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer. When you retrieve this property at any point in your application, Screen locally allocates resources to track this session. You must call screen_destroy_session() to free up these resources when you've finished using this session.

SCREEN_PROPERTY_GESTURE_PARAMETERS
A tuple of integers that indicates the minimum and maximum distance, in units produced by speed and acceleration, for swipes and a timeout value (in milliseconds).
This property controls the amount of displacement allowed before a tap becomes a swipe, and a threshold displacement at which point a gesture becomes multiple gestures. When retrieving or setting this property type, ensure that you have sufficient storage for three integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • session: The tuple of integers, minimum, maximum, and timeout values are used.
    • device: Only the first two integers are used, which are the minimum and maximum values.
SCREEN_PROPERTY_DURATION
A single long long integer that indicates a time duration, in nanoseconds.
When retrieving or setting this property type, ensure that you have sufficient storage for one long long integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_DISPLACEMENT
A pair of integers that define the x and y coordinates of events with relative displacement.
When retrieving or setting this property type, ensure that you have sufficient storage for two integers.
SCREEN_PROPERTY_SPEED
Two integers that represents the x, y speed of an input device.
When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_ACCELERATION
An array of six integers that define the acceleration of an input device ([A, B, C, D, E, F]).


The first and second values to the linear coefficients for x and y respectively. The third and fourth values correspond to the quadratic coefficients for x and y respectively. The fifth and sixth values are the minimum and maximum thresholds for the velocity respectively. Any displacement with a velocity less than the minimum threshold isn't accelerated. Any displacement with a velocity greater than the maximum threshold has its acceleration clamped to the acceleration corresponding to the maximum velocity threshold. When retrieving or setting this property, ensure that you have sufficient storage for six integers.
  • Configurable: No
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
SCREEN_PROPERTY_BALLISTIC_COEFFICIENTS
A set of 16 fixed-point integers that represent coefficients to configure ballistic filtering.


Ballistic filtering minimizes the noise normally seen on successive touch events that follow a low-speed ballistic trajectory. The lower the speed of the ballistic movement (e.g., a stationary finger), the more gain reduction is applied to the speed of the movement. By doing so, the result is a solid touch with no noise. Screen passes touch events through ballistic filtering to reduce jitter. The first 6 integers of this property ([A, B, C, D, E, F, ...]) configure a digital filter while the remaining 10 integers are currently unused, but are reserved for future filter configurations. The coordinates of the latest touch event are generated by calculating the dot product of the most recent 6 touch events and the 6 ballistic coefficients that are specified in this property.

The coefficients are in fixed-point notation that's based on the scaling factor SCREEN_PROPERTY_SCALE_FACTOR. For example, if SCREEN_PROPERTY_SCALE_FACTOR is 16, then the coefficients are in 16.16 fixed-point notation (i.e., a value of 1 is expressed by 65536). When you set the SCREEN_PROPERTY_SCALE_FACTOR property of a device, prior to retrieving this property, you affect the values of these ballistic coefficients.

When retrieving or setting this property, ensure that you have sufficient storage for 16 integers.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • device
SCREEN_PROPERTY_BUTTON_MAP
A set of 32 integers that are used to customize the mapping of the buttons on an input device.
When retrieving or setting this property, ensure that you have sufficient storage for 32 integers. For information on the buttons you can use, see Screen mouse button types and Screen game button types.
SCREEN_PROPERTY_CURSOR
An integer specifying which cursor shape to display when the pointer is over a session.
This shape must be one of Screen cursor shapes. When retrieving or setting this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_MIRROR_MODE
A single integer that defines whether or not the display is currently in mirror mode.
Mirror mode indicates that the internal and external displays display the same signal. The mirror mode must be of type Screen mirror types. When retrieving or setting this property type, ensure that you have sufficient storage for one integer. For more information, see the "When a display clones the content of another display" section under "Dislay Geometry" of the Screen Developer's Guide.
  • Configurable: Yes (mirroring)
  • Default privileges:
    rw-rw---- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_EVENT
A handle to an event.
When retrieving this property type, ensure that you provide sufficient storage for one void pointer. A gesture event is provided to you if the gesture is recognized. For more information on gesture types, see Screen gesture types.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_MANAGER_STRING
A string used either by an object owner or its manager to identify how the object should be managed.

By managed, we mean that the manager is permitted to set the object's owner properties, in addition to being able to set the object's parent properties. For example, being managed means that the manager can set the size, position, and buffer size for an object.

The manager defines the contents of the string. After the object sets this property, the object is owned by the parent or the window manager. The manager, or parent, continues to own this object until SCREEN_PROPERTY_MANAGER_STRING is set again - this time by the manager, or parent. The original owner receives a SCREEN_EVENT_PROPERTY event each time this property is set. The ownership returns to the original owner. An empty string received by the owner in the SCREEN_EVENT_PROPERTY event indicates either a failure, or that the manager, or parent, has declined the management request.

For example, let's say the owner of a window wants the window to be managed. The owner can either call screen_manage_window() or set this property. After setting this property, the window is managed by its parent, or the window manager, until the owner receives a SCREEN_EVENT_PROPERTY event with SCREEN_PROPERTY_MANAGER_STRING as the property.

When retrieving or setting this property type, ensure that you have sufficient storage for a character buffer.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • window
SCREEN_PROPERTY_SUBTYPE
An integer specifying the subtype for a window, input or display manager event.
The value is defined by the manager in question.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event
SCREEN_PROPERTY_STATUS
An integer that indicates the status of a Screen API object.
The status must be one of Screen status types. When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--rw- 
    
  • Change event sent: Yes
  • Applicable to the following Screen API object(s):
    • context
    • device
    • group
    • pixmap
    • stream
    • session
    • window: You can set this property for a window if you have the appropriate permissions. When setting this property, ensure that you have sufficient storage for one integer.
SCREEN_PROPERTY_FRONT_BUFFER_COUNT
A single integer that indicates the number of front buffers that have been acquired by a consumer.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • stream
SCREEN_PROPERTY_STREAM
A handle to a stream.

When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer. When you retrieve this property at any point in your application, Screen locally allocates resources to track this stream. You must call screen_destroy_stream() to free up these resources when you've finished using this stream.

  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event: This property can be only retrieved, and not set for an event object. For the following events, this property refers to the stream associated with the event: For the following event, this property refers to the stream whose property is being set:
    • window: The stream of buffers that are used for rendering and displaying window content.
SCREEN_PROPERTY_PARENT
The group name or handle that a window's parent is associated with.
If the window has no parent, then the handle is NULL.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • window: The get function you call determines whether this property returns a group name or a handle:
      • screen_get_window_property_cv(): The name of the group (the group created by the parent) that the window has joined. When retrieving this property type, ensure that you have sufficient storage for a character buffer.
      • screen_get_window_property_pv(): The pointer to a group of type screen_group_t, that the window's parent has created. When retrieving this property type, ensure that you have sufficient storage for a for a structure of type screen_group_t.
SCREEN_PROPERTY_RED_GAMMA_CURVE
An array of 256 integers (range from 0 to 65535) that defines the red gamma mapping table of a display.
When retrieving or setting this property type, ensure that you provide sufficient storage for 256 integers.
  • Configurable: No
  • Default privileges:
    r--rw-rw- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_GREEN_GAMMA_CURVE
An array of 256 integers (range from 0 to 65535) that defines the green gamma mapping table of a display.
When retrieving or setting this property types, ensure that you provide sufficient storage for 256 integers.
  • Configurable: No
  • Default privileges:
    r--rw-rw- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_BLUE_GAMMA_CURVE
An array of 256 integers (range from 0 to 65535) that defines the blue gamma mapping table of a display.
When retrieving or setting this property types, ensure that you provide sufficient storage for 256 integers.
  • Configurable: No
  • Default privileges:
    r--rw-rw- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_PIXMAP
A handle to a pixmap.

When retrieving or setting this property type, ensure that you have sufficient storage for one void pointer. When you retrieve this property at any point in your application, Screen locally allocates resources to track this pixmap. You must call screen_destroy_pixmap() to free up these resources when you've finished using this pixmap.

  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • event: This property can be only retrieved, and not set for an event object. For the following events, this property refers to the pixmap associated with the event: For the following event, this property refers to the pixmap whose property is being set:
SCREEN_PROPERTY_SESSION_COUNT
A single integer containing the number of sessions associated with this context.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_SESSIONS
An array of session handles.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each session. Retrieve the SCREEN_PROPERTY_SESSION_COUNT property to determine the number of sessions that are associated with this context. Once you know the number of sessions, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_SESSIONS.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_STREAM_COUNT
A single integer containing the number of streams associated with this context.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_STREAMS
An array of stream handles.
When retrieving this property type, ensure that you have sufficient storage for one void pointer for each stream. Retrieve the SCREEN_PROPERTY_STREAM_COUNT property to determine the number of streams that are associated with this context. Once you know the number of streams, you can allocate sufficient storage to retrieve SCREEN_PROPERTY_STREAMS.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • context
SCREEN_PROPERTY_KEY_PAGE
A single integer that indicates the page code associated with an event.
When retrieving or setting this property type, ensure that you provide sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
  • event: This property is applicable to only the following events:
SCREEN_PROPERTY_BUFFERS
A handle to the buffer or buffers associated with the object.
When retrieving this property type, ensure that you provide sufficient storage according to the API object type.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • pixmap: Only one buffer is allowed for a pixmap object. When retrieving this property for a pixmap, ensure that you have sufficient storage for one void pointer.
    • stream: Multiple buffers may be associated with a stream object. When retrieving this property for a stream, ensure that you have sufficient storage for one void pointer for each buffer. Use the SCREEN_PROPERTY_BUFFER_COUNT property to determine the number of buffers.
    • window: Multiple buffers may be associated with a window object. When retrieving this property for a window, ensure that you have sufficient storage for one void pointer for each buffer. Use the SCREEN_PROPERTY_BUFFER_COUNT property to determine the number of buffers.
SCREEN_PROPERTY_REPEAT_DELAY
A single long long integer that indicates the time (in nanoseconds) before Screen sends the first key repeat event (i.e., SCREEN_EVENT_KEYBOARD events whose SCREEN_PROPERTY_FLAGS property includes SCREEN_FLAG_KEY_REPEAT) to the context whose session or window has keyboard focus.
When retrieving or setting this property type, ensure that you have sufficient storage for one long long integer.
  • Configurable: No
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_REPEAT_RATE
A single long long integer that indicates the time interval (in nanoseconds) between when Screen sends key repeat events (i.e., SCREEN_EVENT_KEYBOARD events whose SCREEN_PROPERTY_FLAGS property includes SCREEN_FLAG_KEY_REPEAT) to the context whose session or window has keyboard focus.
When retrieving or setting this property type, ensure that you have sufficient storage for one long long integer.
  • Configurable: No
  • Default privileges:
    rw-rw-r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_FRONT_BUFFERS
A handle to the buffer or buffers that's been acquired by a consumer.
When retrieving SCREEN_PROPERTY_FRONT_BUFFERS, ensure that you have sufficient storage for one void pointer for each acquired buffer. Use the property SCREEN_PROPERTY_FRONT_BUFFER_COUNT to determine this number.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • stream
SCREEN_PROPERTY_ANALOG_COUNT
A single integer containing the number of analog controllers associated with this object.
When retrieving this property type, ensure that you have sufficient storage for one integer.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
SCREEN_PROPERTY_WINDOW_MANAGER_ID
A single integer that indicates the SCREEN_PROPERTY_ID of the context that is registered as the display's window manager.
A value of SCREEN_INVALID_ID indicates there is no window manager registered for that display. When retrieving this property type, ensure that you have sufficient storage for one integer. This property is associated with the preprocessor definition SCREEN_PROPERTY_WINDOW_MANAGER_ID.
  • Configurable: No
  • Default privileges:
    r--r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • display
SCREEN_PROPERTY_FD
A single integer that indicates the file descriptor to be used to access a buffer's memory.
Currently, this can only be used to provide memory to Screen. When setting this property type, ensure that you have sufficient storage for one integer. This property is associated with the preprocessor definition SCREEN_PROPERTY_FD.
  • Configurable: No
  • Default privileges:
    rw-r--r-- 
    
  • Change event sent: No
  • Applicable to the following Screen API object(s):
    • buffer
SCREEN_MAX_PROPERTY
This MUST be the final value in the enum; do not use.

Library:

libscreen