drawIcon: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[[cC]ategory:[sS]cripting [cC]ommands\|[a-z A-Z 0-9_]+\]\]" to "")
(Some changes)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma1
|game1= arma1


|1.00
|version1= 1.00


|gr1= GUI Control - Map
|gr1= GUI Control - Map


| Draws an icon on the map. The command needs to be called every frame, preferably with "Draw" control event handler [[ctrlAddEventHandler]].
|descr= Draws an icon on the map. This command needs to be called every frame, preferably using the [[User_Interface_Event_Handlers#onDraw|onDraw]] UI Event Handler.


| map '''drawIcon''' [texture, color, position, width, height, angle, text, shadow, textSize, font, align]
|s1= map [[drawIcon]] [texture, color, position, width, height, angle, text, shadow, textSize, font, align]


|p1= map: [[Control]]
|p1= map: [[Control]]
|p2 = [texture, color, position, width, height, angle, text, shadow, textSize, font, align] : [[Array]]
|p2= texture: [[String]] - Icon texture
|p3= texture: [[String]] - icon texture
|p3= color: [[Array]] - Text and icon color in format [r,g,b,a]
|p4= color: [[Array]] - text and icon color in format [r,g,b,a]
|p4= position: [[Position2D]], [[Position3D]] or [[Object]]
|p5= width: [[Number]] - Width 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)
|p8= text (Optional): [[String]]
|p9= shadow (Optional): [[Number]] or [[Boolean]] - 0 ([[false]]): no shadow, 1: shadow (for text), 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 (since Arma 3 v0.72)
|p11= font (Optional): [[String]] - (since Arma 3 v0.72)
|p12= align (Optional, default: "right"): [[String]] - "left", "right" or "center" (since Arma 3 v0.72)


|p5= position: [[Position2D]] or [[Position3D]] or [[Object]]
|r1= [[Nothing]]


|p6= width: [[Number]] - width of the icon but not text
|x1= Red icon with text: <code>[[findDisplay]] 12 [[displayCtrl]] 51 [[ctrlAddEventHandler]] ["Draw", {
 
_this [[select]] 0 [[drawIcon]] [
|p7= height: [[Number]] - height of the icon but not text
"iconStaticMG", {{cc|Custom images can also be used: [[getMissionPath]] "\myFolder\myIcon.paa"}}
 
|p8= angle: [[Number]] - rotation angle of the icon but not text
 
|p9= text (Optional): [[String]]
|p10= shadow (Optional): [[Number]] or [[Boolean]] - 0/false: no shadow, 1: shadow (for text), 2/true: outline (works for text and for icon only if icon angle is 0)
|p11= textSize (Optional): [[Number]] - size of the text in UI units (since Arma 3 v0.72)
 
|p12= font (Optional): [[String]] - (since Arma 3 v0.72)
|p13= align (Optional): [[String]] - (since Arma 3 v0.72) "left", "right", "center". Default is "right"
 
| [[Nothing]]
 
|x1= Red icon with text: <code>[[findDisplay]] 12 [[displayCtrl]] 51 [[ctrlAddEventHandler]] ["Draw",  
{
_this [[select]] 0 [[drawIcon]]  
[
"iconStaticMG",
[1,0,0,1],
[1,0,0,1],
[[getPos]] [[player]],
[[getPos]] [[player]],
Line 51: Line 42:
}];</code>
}];</code>


|x2= Green text only: <code>[[findDisplay]] 12 [[displayCtrl]] 51 [[ctrlAddEventHandler]] ["Draw",  
|x2= Green text only: <code>[[findDisplay]] 12 [[displayCtrl]] 51 [[ctrlAddEventHandler]] ["Draw", {
{
_this [[select]] 0 [[drawIcon]] [
_this [[select]] 0 [[drawIcon]]  
[
"#(rgb,1,1,1)color(1,1,1,1)",
"#(rgb,1,1,1)color(1,1,1,1)",
[0,1,0,1],
[0,1,0,1],
Line 65: Line 54:
}];</code>
}];</code>


| [[drawArrow]], [[drawEllipse]], [[drawLine]], [[drawRectangle]], [[drawPolygon]], [[drawTriangle]]
|seealso= [[drawArrow]] [[drawEllipse]] [[drawLine]] [[drawRectangle]] [[drawPolygon]] [[drawTriangle]]
}}
}}



Revision as of 14:18, 9 February 2021

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.
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 [r,g,b,a]
position: Position2D, Position3D or Object
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 - 0 (false): no shadow, 1: shadow (for text), 2 (true): outline (works for text and for icon only if icon angle is 0)
textSize (Optional): Number - Size of the text in UI units (since Arma 3 v0.72)
font (Optional): String - (since Arma 3 v0.72)
align (Optional, default: "right"): String - "left", "right" or "center" (since Arma 3 v0.72)
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], getPos player, 24, 24, getDir 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
Posted on July 03, 2013 - 15:35
Druid
Support of paremeters textSize, font and align is in the game since Arma 3 version 0.72.
Posted on March 22, 2014
Waffle SS.
icon will always remain the same width and height, if you want an icon scaled to the map, use:(sizeInMeters * 0.15) * 10^(abs log (ctrlMapScale _ctrl)) for width and height (guessimated).

Posted on July 20, 2014 - 16:59 (UTC)
AgentRevolution
If you want only text with no icon, you can use "#(argb,8,8,3)color(0,0,0,0)" as texture.
Posted on July 7, 2015 - 21:27 (UTC)
Waffle SS.
Be careful when using this command. Unlike map markers, the draw commands can decrease your framerate.
Posted on January 4, 2016 - 05:41 (UTC)
Benargee
Arma 3 1.54
This command doesn't 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],getPos player,24,24,getDir player,'Player Vehicle',1,0.03,'TahomaB','right']; };
Posted on October 13, 2016 - 21:12 (UTC)
Icaruk
If you unPBO the following addon:
@ui_f_data.pbo
You can find the possible icons inside this folder:
ui_f\data\map\vehicleicons
For example:
If you want to use "iconman_ca.paa" you will write "iconman" on the texture string.