drawIcon: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
m (Some wiki formatting)
Line 24: Line 24:
|p1= map: [[Control]]
|p1= map: [[Control]]


|p2= texture: [[String]] - Icon texture
|p2= texture: [[String]] - icon texture


|p3= color: [[Array]] - Text and icon color in format [[Color|Color(RGBA)]]
|p3= color: [[Array]] - text and icon color in format [[Color|Color(RGBA)]]


|p4= position: [[Position#Introduction|Position2D]], [[Position#Introduction|Position3D]] or [[Object]]
|p4= position: [[Object]], [[Array]] format [[Position#Introduction|Position2D]] or [[Position#Introduction|Position3D]]


|p5= width: [[Number]] - Width of the icon (but not the text)
|p5= width: [[Number]] - width of the icon (but not the text)


|p6= height: [[Number]] - Height of the icon (but not the text)
|p6= height: [[Number]] - height of the icon (but not the text)


|p7= angle: [[Number]] - Rotation angle of the icon (but not the text)
|p7= angle: [[Number]] - rotation angle of the icon (but not the text)


|p8= text (Optional): [[String]]
|p8= text (Optional): [[String]]


|p9= shadow (Optional): [[Number]] or [[Boolean]] - Can be:  
|p9= shadow (Optional): [[Number]] or [[Boolean]] - can be one of:
* 0 ([[false]]): no shadow
* 0 ([[false]]): no shadow
* 1: shadow (for text)
* 1: shadow (for text)
* 2 ([[true]]): outline (works for text and for icon only if icon angle is 0)
* 2 ([[true]]): outline (works for text and for icon only if icon angle is 0)


|p10= textSize (Optional): [[Number]] - Size of the text in UI units
|p10= textSize: [[Number]] - (Optional) size of the text in UI units
|p10since= arma3 0.72
|p10since= arma3 0.72


Line 49: Line 49:
|p11since= arma3 0.72
|p11since= arma3 0.72


|p12= align: [[String]] - Optional, default: "right") text alignment. Can be:
|p12= align: [[String]] - (Optional, default "right") text alignment. Can be:
* "left"  
* "left"  
* "right"
* "right"

Revision as of 03:16, 1 August 2022

Hover & click on the images for description

Description

Description:
Draws an icon on the map. This command needs to be called every frame, preferably using the onDraw UI Event Handler. Some useful icons can be found in configfile >> "CfgVehicleIcons".
Groups:
GUI Control - Map

Syntax

Syntax:
map drawIcon [texture, color, position, width, height, angle, text, shadow, textSize, font, align]
Parameters:
map: Control
texture: String - icon texture
color: Array - text and icon color in format Color(RGBA)
position: Object, Array format Position2D or Position3D
width: Number - width of the icon (but not the text)
height: Number - height of the icon (but not the text)
angle: Number - rotation angle of the icon (but not the text)
text (Optional): String
shadow (Optional): Number or Boolean - can be one of:
  • 0 (false): no shadow
  • 1: shadow (for text)
  • 2 (true): outline (works for text and for icon only if icon angle is 0)
since Arma 3 logo black.png0.72
textSize: Number - (Optional) size of the text in UI units
since Arma 3 logo black.png0.72
font: String - (Optional) text's font
since Arma 3 logo black.png0.72
align: String - (Optional, default "right") text alignment. Can be:
  • "left"
  • "right"
  • "center"
Return Value:
Nothing

Examples

Example 1:
Red icon with text:
findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["Draw", { _this select 0 drawIcon [ "iconStaticMG", // Custom images can also be used: getMissionPath "\myFolder\myIcon.paa" [1,0,0,1], getPosASLVisual player, 24, 24, getDirVisual player, "Player Vehicle", 1, 0.03, "TahomaB", "right" ] }];
Example 2:
Green text only:
findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["Draw", { _this select 0 drawIcon [ "#(rgb,1,1,1)color(1,1,1,1)", [0,1,0,1], player, 0, 0, 0, name player ] }];

Additional Information

See also:
drawArrow drawEllipse drawLine drawRectangle drawPolygon drawTriangle

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Benargee - c
Posted on Jan 04, 2016 - 05:41 (UTC)
Arma 3 1.54
This command does not seem to play nice with onEachFrame. It seems to draw on the main screen while maintaing position relative to the map position
Example:
onEachFrame { findDisplay 12 displayCtrl 51 drawIcon ['iconStaticMG', [1,0,0,1], getPosASL player, 24, 24, getDir player, 'Player Vehicle', 1, 0.03, 'TahomaB', 'right']; };
Leopard20 - c
Posted on May 09, 2022 - 19:34 (UTC)
The icon size always stays the same, even after zooming in/out. To make the icon get bigger with map zoom, use this for width and height size:
private _scale = 6.4 * worldSize / 8192 * ctrlMapScale _map; private _size = _sizeInMeters / _scale;
For example, the following icon has an exact size of 50 meters on the map, even after zooming in/out:
private _scale = 6.4 * worldSize / 8192 * ctrlMapScale _map; private _size = 50 / _scale; _map drawIcon ["iconStaticMG", [1,0,0,1], getPosASLVisual player, _size, _size, 0]