drawIcon: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|game([0-9]) ?= (.+) \|version([0-9]) ?= (.+) " to "|game$1= $2 |version$3= $4 ")
(page overhaul)
Line 2: Line 2:


|game1= arma1
|game1= arma1
|version1= 1.00
|version1= 1.00
|game2= arma2
|version2= 1.00
|game3= arma2oa
|version3= 1.51
|game4= tkoh
|version4= 1.00
|game5= arma3
|version5= 0.50


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


|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.
|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. Some useful icons can be found in {{ic|[[configfile]] >> "CfgVehicleIcons"}}.


|pr = Since command has to be drawn on each frame, performance can be decreased!
|pr = Since command has to be drawn on each frame, performance can be degrade!


|s1= 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: [[String]] - Icon texture
|p2= texture: [[String]] - Icon texture
|p3= color: [[Array]] - Text and icon color in format [r,g,b,a]
 
|p3= color: [[Array]] - Text and icon color in format [[Color|Color(RGBA)]]
 
|p4= position: [[Position2D]], [[Position3D]] or [[Object]]
|p4= position: [[Position2D]], [[Position3D]] or [[Object]]
|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]] - 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)
|p9= shadow (Optional): [[Number]] or [[Boolean]] - Can be:
|p11= font (Optional): [[String]] - (since Arma 3 v0.72)
* 0 ([[false]]): no shadow
|p12= align (Optional, default: "right"): [[String]] - "left", "right" or "center" (since Arma 3 v0.72)
* 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|arma3|0.72|y}}
 
|p11= font (Optional): [[String]] - Text's font {{Since|arma3|0.72|y}}
 
|p12= align (Optional, default: "right"): [[String]] - Text alignment. Can be: {{Since|arma3|0.72|y}}
* "left"  
*"right"
* "center"


|r1= [[Nothing]]
|r1= [[Nothing]]
Line 57: Line 91:
|seealso= [[drawArrow]] [[drawEllipse]] [[drawLine]] [[drawRectangle]] [[drawPolygon]] [[drawTriangle]]
|seealso= [[drawArrow]] [[drawEllipse]] [[drawLine]] [[drawRectangle]] [[drawPolygon]] [[drawTriangle]]
}}
}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}


<dl class="command_description">
<dl class="command_description">
Line 66: Line 96:
<dd class="notedate">Posted on March 22, 2014</dd>
<dd class="notedate">Posted on March 22, 2014</dd>
<dt class="note">[[User:Waffle SS.|Waffle SS.]]</dt>
<dt class="note">[[User:Waffle SS.|Waffle SS.]]</dt>
<dd class="note">icon will always remain the same width and height, if you want an icon scaled to the map, use:<code>('''sizeInMeters''' * 0.15) * 10^(abs log (ctrlMapScale _ctrl))</code> for width and height (guessimated).
<dd class="note">Icon will always remain the same width and height, if you want an icon scaled to the map, use:<code>('''sizeInMeters''' * 0.15) * 10^(abs log (ctrlMapScale _ctrl))</code> for width and height (guessimated).
<dt><dt>
<dt><dt>
<dd class="notedate">Posted on July 20, 2014 - 16:59 (UTC)</dd>
<dd class="notedate">Posted on July 20, 2014 - 16:59 (UTC)</dd>
Line 78: Line 108:
<dd class="note">
<dd class="note">
Arma 3 1.54<br>
Arma 3 1.54<br>
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<br>
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<br>
Example:
Example:
<code>[[onEachFrame]] {
<code>[[onEachFrame]] {
Line 85: Line 115:
</dd>
</dd>
<dt><dt>
<dt><dt>
<dd class="notedate">Posted on October 13, 2016 - 21:12 (UTC)</dd>
<dt class="note">[[User:Icaruk|Icaruk]]</dt>
<dd class="note">
If you unPBO the following addon:<br>
<code>@ui_f_data.pbo<br></code>
You can find the possible icons inside this folder:<br>
<code>ui_f\data\map\vehicleicons</code><br>
For example:<br>
If you want to use "iconman_ca.paa"  you will write "iconman" on the texture string.
</dd>
</dl>

Revision as of 23:35, 12 May 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. Some useful icons can be found in configfile >> "CfgVehicleIcons".
Problems:
Since command has to be drawn on each frame, performance can be degrade!
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: 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 - Can be:
  • 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 Template:Since
font (Optional): String - Text's font Template:Since
align (Optional, default: "right"): String - Text alignment. Can be: Template:Since
  • "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], 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 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 January 4, 2016 - 05:41 (UTC)
Benargee
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],getPos player,24,24,getDir player,'Player Vehicle',1,0.03,'TahomaB','right']; };