Description
Sets position and size of the given map control and recalculates control center. The effect is immediate and no ctrlCommit is necessary, unlike with ctrlSetPosition command.
Note
The Map control is different from other controls and normally does not behave well inside Controls Groups. When this command is used on the Map control inside a Controls Group, The x and y will be treated as relative position to the top left of Controls Group. Use this command to set position before you use ctrlMapAnimAdd. Use this command to update Map control after its position or size had been changed or the Map control was created dynamically (Example 2). If you move Controls Group, use this command to refresh Map control (Example 3).
Syntax
map ctrlMapSetPosition [x, y, w, h]
Parameters:
map: Control - Map controlx: Number - (Optional) Left top x of map controly: Number - (Optional) Left top y of map controlw: Number - (Optional) Width of map controlh: Number - (Optional) Height of map control
Returns: Nothing
Examples
Example 1
_map ctrlMapSetPosition [0,0,1,1];
Example 2
_map ctrlSetPosition [0.5, 0.5, 0.5, 0.5];
_map ctrlCommit 0;
_map ctrlMapSetPosition []; // sync
Example 3
with localNamespace do
{
private _display = findDisplay 46 createDisplay "RscDisplayEmpty";
private _ctrlGroup = _display ctrlCreate ["RscControlsGroup", -1];
private _ctrlText = _display ctrlCreate ["RscText", -1, _ctrlGroup];
_ctrltext ctrlSetPosition [0, 0, 1, 1];
_ctrlText ctrlSetBackgroundColor [1, 0, 0, 0.5];
_ctrlText ctrlCommit 0;
private _ctrlMap = _display ctrlCreate ["RscMapControl", -1, _ctrlGroup];
_ctrlMap ctrlMapSetPosition [0, 0, 0.5, 0.5]; // effect is immediate
_ctrlMap ctrlMapAnimAdd [0, ctrlMapScale _ctrlMap, player];
ctrlMapAnimCommit _ctrlMap;
_ctrlGroup ctrlSetPosition [safeZoneX, safeZoneY, 1, 1];
_ctrlGroup ctrlCommit 0.3; // non instant transition
_ctrlMap ctrlMapSetPosition []; // instant sync to new _ctrlGroup position
};
See also
ctrlMapPosition · ctrlSetPosition · ctrlMapAnimAdd · ctrlCreate