Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- AnimalScreen
- AnimationElement
- BitmapElement
- BoxLayoutElement
- BreadcrumbsElement
- ButtonElement
- ButtonOverlay
- ChatWindow
- CheckedOptionElement
- ClearElement
- ContextActionDisplay
- DialogElement
- FieldInfoDisplay
- FillLevelsDisplay
- FlowLayoutElement
- FocusManager
- FrameElement
- FrameReferenceElement
- GameInfoDisplay
- GamePausedDisplay
- Gui
- GuiDataSource
- GuiElement
- GuiMixin
- GuiOverlay
- GuiProfile
- GuiSoundPlayer
- GuiTopDownCamera
- GuiUtils
- HUDDisplayElement
- HUDElement
- HUDFrameElement
- HUDPopupMessage
- HUDTextDisplay
- IndexChangeSubjectMixin
- IndexStateElement
- InGameIcon
- IngameMap
- IngameMapElement
- InputGlyphElement
- InputHelpDisplay
- ListElement
- ListItemElement
- MapHotspot
- MapOverlayGenerator
- MixerWagonHUDExtension
- MultiTextOptionElement
- MultiValueTween
- Overlay
- PagingElement
- PlaySampleMixin
- RenderElement
- RoundStatusBar
- ScreenElement
- SettingsModel
- SideNotification
- SliderElement
- SpeakerDisplay
- SpeedMeterDisplay
- StableListElement
- StatusBar
- TabbedMenu
- TabbedMenuFrameElement
- TabbedMenuWithDetails
- TableElement
- TableHeaderElement
- TextElement
- TextInputElement
- TimerElement
- ToggleButtonElement
- TopNotification
- Tween
- TweenSequence
- VehicleHUDExtension
- VehicleSchemaDisplay
- VideoElement
- Handtools
- I3d
- Materials
- Misc
- Objects
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
BitmapElement
DescriptionDisplay element for images. Used layers: "image" for the display image.Parent
GuiElementXML Configuration Parameters
GuiElement#offset | string [optional] Position offset of the displayed image relative to this element's origin in reference resolution, defaults to [0, 0]. Format: "[x]px [y]px". |
GuiElement#focuseOffset | string [optional] Position offset of the displayed image when it's focused, pressed, highlighted or selected. Works like #offset. |
Functions
- applyBitmapAspectScale
- applyScreenAlignment
- canReceiveFocus
- copyAttributes
- delete
- draw
- getFocusTarget
- getOffset
- loadFromXML
- loadProfile
- new
- setAlpha
- setDisabled
- setImageColor
- setImageFilename
- setImageRotation
- setImageUVs
- setIsWebOverlay
applyBitmapAspectScale
DescriptionDefinitionapplyBitmapAspectScale()Code
82 | function BitmapElement:applyBitmapAspectScale() |
83 | local xScale, yScale = self:getAspectScale() |
84 | |
85 | self.offset[1] = self.offset[1] * xScale |
86 | self.focusedOffset[1] = self.focusedOffset[1] * xScale |
87 | |
88 | self.offset[2] = self.offset[2] * yScale |
89 | self.focusedOffset[2] = self.focusedOffset[2] * yScale |
90 | end |
applyScreenAlignment
DescriptionDefinitionapplyScreenAlignment()Code
94 | function BitmapElement:applyScreenAlignment() |
95 | self:applyBitmapAspectScale() |
96 | |
97 | BitmapElement:superClass().applyScreenAlignment(self); |
98 | end |
canReceiveFocus
DescriptionDefinitioncanReceiveFocus()Code
192 | function BitmapElement:canReceiveFocus() |
193 | if not self.visible or #self.elements < 1 then |
194 | return false; |
195 | end; |
196 | -- element can only receive focus if all sub elements are ready to receive focus |
197 | for _, v in ipairs(self.elements) do |
198 | if (not v:canReceiveFocus()) then |
199 | return false; |
200 | end; |
201 | end; |
202 | return true; |
203 | end |
copyAttributes
DescriptionDefinitioncopyAttributes()Code
72 | function BitmapElement:copyAttributes(src) |
73 | BitmapElement:superClass().copyAttributes(self, src); |
74 | |
75 | GuiOverlay.copyOverlay(self.overlay, src.overlay); |
76 | self.offset = ListUtil.copyTable(src.offset); |
77 | self.focusedOffset = ListUtil.copyTable(src.focusedOffset); |
78 | end |
delete
DescriptionDefinitiondelete()Code
32 | function BitmapElement:delete() |
33 | GuiOverlay.deleteOverlay(self.overlay); |
34 | |
35 | BitmapElement:superClass().delete(self); |
36 | end |
draw
DescriptionDefinitiondraw()Code
184 | function BitmapElement:draw() |
185 | local xOffset, yOffset = self:getOffset(); |
186 | GuiOverlay.renderOverlay(self.overlay, self.absPosition[1]+xOffset, self.absPosition[2]+yOffset, self.size[1], self.size[2], self:getOverlayState()); |
187 | BitmapElement:superClass().draw(self); |
188 | end |
getFocusTarget
DescriptionDefinitiongetFocusTarget()Code
207 | function BitmapElement:getFocusTarget() |
208 | if #self.elements > 0 then |
209 | local _, firstElement = next(self.elements) |
210 | if firstElement then |
211 | return firstElement; |
212 | end; |
213 | end; |
214 | return self; |
215 | end |
getOffset
DescriptionDefinitiongetOffset()Code
122 | function BitmapElement:getOffset() |
123 | local xOffset, yOffset = self.offset[1], self.offset[2]; |
124 | local state = self:getOverlayState(); |
125 | if state == GuiOverlay.STATE_FOCUSED or state == GuiOverlay.STATE_PRESSED or state == GuiOverlay.STATE_SELECTED or GuiOverlay.STATE_HIGHLIGHTED then |
126 | xOffset = self.focusedOffset[1]; |
127 | yOffset = self.focusedOffset[2]; |
128 | end |
129 | return xOffset, yOffset; |
130 | end |
loadFromXML
DescriptionDefinitionloadFromXML()Code
40 | function BitmapElement:loadFromXML(xmlFile, key) |
41 | BitmapElement:superClass().loadFromXML(self, xmlFile, key); |
42 | |
43 | GuiOverlay.loadOverlay(self, self.overlay, "image", self.imageSize, nil, xmlFile, key); |
44 | self.focusedOffset = GuiUtils.getNormalizedValues(getXMLString(xmlFile, key.."#focusedOffset"), self.outputSize, self.focusedOffset); |
45 | self.offset = GuiUtils.getNormalizedValues(getXMLString(xmlFile, key.."#offset"), self.outputSize, self.offset); |
46 | |
47 | GuiOverlay.createOverlay(self.overlay); |
48 | end |
loadProfile
DescriptionDefinitionloadProfile()Code
52 | function BitmapElement:loadProfile(profile, applyProfile) |
53 | BitmapElement:superClass().loadProfile(self, profile, applyProfile); |
54 | |
55 | local oldFilename = self.overlay.filename; |
56 | local oldPreviewFilename = self.overlay.previewFilename; |
57 | GuiOverlay.loadOverlay(self, self.overlay, "image", self.imageSize, profile, nil, nil); |
58 | self.offset = GuiUtils.getNormalizedValues(profile:getValue("offset"), self.outputSize, self.offset); |
59 | self.focusedOffset = GuiUtils.getNormalizedValues(profile:getValue("focusedOffset"), self.outputSize, {self.offset[1], self.offset[2]}); |
60 | |
61 | if oldFilename ~= self.overlay.filename or oldPreviewFilename ~= self.overlay.previewFilename then |
62 | GuiOverlay.createOverlay(self.overlay); |
63 | end |
64 | |
65 | if applyProfile then |
66 | self:applyBitmapAspectScale() |
67 | end |
68 | end |
new
DescriptionDefinitionnew()Code
20 | function BitmapElement:new(target, custom_mt) |
21 | local self = GuiElement:new(target, custom_mt or BitmapElement_mt); |
22 | |
23 | self.offset = {0,0}; |
24 | self.focusedOffset = {0,0}; |
25 | self.overlay = {}; |
26 | |
27 | return self; |
28 | end |
setAlpha
DescriptionSet image alphaDefinition
setAlpha()Code
113 | function BitmapElement:setAlpha(alpha) |
114 | BitmapElement:superClass().setAlpha(self, alpha); |
115 | if self.overlay ~= nil then |
116 | self.overlay.alpha = self.alpha; |
117 | end; |
118 | end |
setDisabled
DescriptionDefinitionsetDisabled()Code
102 | function BitmapElement:setDisabled(disabled, doNotUpdateChildren) |
103 | BitmapElement:superClass().setDisabled(self, disabled, doNotUpdateChildren) |
104 | if disabled then |
105 | self:setOverlayState(GuiOverlay.STATE_DISABLED) |
106 | else |
107 | self:setOverlayState(GuiOverlay.STATE_NORMAL) |
108 | end |
109 | end |
setImageColor
DescriptionSet this element's image color. Omitted (nil value) color values have no effect and the previously set value for that channel is used.Definition
setImageColor(state GuiOverlay, r Red, g Green, b Blue, a Alpha)Arguments
state | GuiOverlay | state for which the color is changed, use nil to set the default color |
r | Red | color value |
g | Green | color value |
b | Blue | color value |
a | Alpha | value (transparency) |
152 | function BitmapElement:setImageColor(state, r, g, b, a) |
153 | local color = GuiOverlay.getOverlayColor(self.overlay, state) |
154 | color[1] = r or color[1] |
155 | color[2] = g or color[2] |
156 | color[3] = b or color[3] |
157 | color[4] = a or color[4] |
158 | end |
setImageFilename
DescriptionSet the image filenameDefinition
setImageFilename()Code
140 | function BitmapElement:setImageFilename(filename) |
141 | self.overlay = GuiOverlay.createOverlay(self.overlay, filename); |
142 | end |
setImageRotation
DescriptionSet this element's image overlay's rotation.Definition
setImageRotation(float rotation)Arguments
float | rotation | Rotation in radians |
178 | function BitmapElement:setImageRotation(rotation) |
179 | self.overlay.rotation = rotation |
180 | end |
setImageUVs
DescriptionSet image UVs (normalized)Definition
setImageUVs()Code
162 | function BitmapElement:setImageUVs(state, v0, u0, v1, u1, v2, u2, v3, u3) |
163 | state = Utils.getNoNil(state, self:getOverlayState()); |
164 | local uvs = GuiOverlay.getOverlayUVs(self.overlay, state); |
165 | uvs[1] = Utils.getNoNil(v0, uvs[1]); |
166 | uvs[2] = Utils.getNoNil(u0, uvs[2]); |
167 | uvs[3] = Utils.getNoNil(v1, uvs[3]); |
168 | uvs[4] = Utils.getNoNil(u1, uvs[4]); |
169 | uvs[5] = Utils.getNoNil(v2, uvs[5]); |
170 | uvs[6] = Utils.getNoNil(u2, uvs[6]); |
171 | uvs[7] = Utils.getNoNil(v3, uvs[7]); |
172 | uvs[8] = Utils.getNoNil(u3, uvs[8]); |
173 | end |
setIsWebOverlay
DescriptionDefinitionsetIsWebOverlay()Code
134 | function BitmapElement:setIsWebOverlay(isWebOverlay) |
135 | self.overlay.isWebOverlay = isWebOverlay |
136 | end |