Arma 3 Scripting

Command in GUI Control - Positioning

safeZoneW

Also available as Markdown and JSON, or read the original wiki page.

Description

Returns the width of the screen in screen measurement units. Taken from top left corner of the default viewport (0,0) of the screen and going in the same direction as the X axis, the value will be positive but resulting X will end up beyond the right border. Therefore in order to calculate X of the right screen border, the length of safeZoneX must be subtracted from safeZoneW, but because it is negative, it must be added instead. _screenRightBorderX = safeZoneW + safeZoneX. The measurement units depend on the current screen resolution getResolution. See also SafeZone.

Syntax

safeZoneW

Returns: Number - screen width in screen measurement units

Examples

Example 1

_screenWidth = safeZoneW;

Example 2

_screenLeftBorderX = safeZoneX;
_screenRightBorderX = safeZoneW + safeZoneX;

Example 3

Create control 50% wide, 30% tall, centered on screen:

private _ctrl = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscText", -1];
_ctrl ctrlSetBackgroundColor [1,0,0,0.5];
private _ctrlWidth = 0.5 * safeZoneW; // 50% of screen width
private _ctrlHeight = 0.3 * safeZoneH; // 30% of screen height
_ctrl ctrlSetPositionW _ctrlWidth;
_ctrl ctrlSetPositionH _ctrlHeight;
_ctrl ctrlSetPositionX ((safeZoneW - _ctrlWidth) / 2 + safeZoneX); // center it horizontally
_ctrl ctrlSetPositionY ((safeZoneH - _ctrlHeight) / 2 + safeZoneY); // center it vertically
_ctrl ctrlCommit 0;

See also

SafeZone · safeZoneX · safeZoneY · safeZoneH · safeZoneXAbs · safeZoneWAbs