Script v1_7_1_0
- AI
- Animals
- Collections
- Contracts
- Debug
- Economy
- Elements
- EnvironmentalScore
- Errors
- Events
- GUI
- AnimalScreen
- AnimationElement
- BitmapElement
- BoxLayoutElement
- BreadcrumbsElement
- ButtonElement
- ButtonOverlay
- ChatWindow
- CheckedOptionElement
- ClearElement
- ColorPickButtonElement
- ConstructionScreen
- ContextActionDisplay
- ControlBarDisplay
- DialogElement
- DynamicFadedBitmapElement
- FillLevelsDisplay
- FlowLayoutElement
- FocusManager
- FrameElement
- FrameReferenceElement
- GameInfoDisplay
- GameInfoDisplayMobile
- GamePausedDisplay
- Gui
- GuiDataSource
- GuiElement
- GuiMixin
- GuiOverlay
- GuiProfile
- GuiSoundPlayer
- GuiTopDownCamera
- GuiTopDownCursor
- GuiUtils
- HUDDisplayElement
- HUDElement
- HUDFrameElement
- HUDPopupMessage
- HUDSliderElement
- HUDTextDisplay
- IndexChangeSubjectMixin
- IndexStateElement
- InfoDisplay
- InfoHUDBox
- InGameIcon
- IngameMap
- IngameMapElement
- InputGlyphElement
- InputGlyphElementUI
- InputHelpDisplay
- KeyValueInfoHUDBox
- ListElement
- ListItemElement
- MapOverlayGenerator
- MixerWagonHUDExtension
- MultiTextOptionElement
- MultiValueTween
- Overlay
- PagingElement
- PictureElement
- PlatformIconElement
- PlayerControlPadDisplay
- PlaySampleMixin
- RenderElement
- RoundStatusBar
- ScreenElement
- ScrollingLayoutElement
- SettingsModel
- SideNotification
- SideNotificationMobile
- SliderElement
- SpeakerDisplay
- SpeedMeterDisplay
- SpeedSliderDisplay
- StatusBar
- SteeringSliderDisplay
- TabbedMenu
- TabbedMenuFrameElement
- TabbedMenuWithDetails
- TableElement
- TableHeaderElement
- TerrainLayerElement
- TextBackdropElement
- TextElement
- TextInputElement
- ThreePartBitmapElement
- TimerElement
- ToggleButtonElement
- TopNotification
- Tween
- TweenSequence
- VariableWorkWidthHUDExten...
- VehicleHUDExtension
- VehicleSchemaDisplay
- VideoElement
- WardrobeScreen
- Handtools
- Hud
- I3d
- Input
- Jobs
- Maps
- Materials
- Misc
- Objects
- Parameters
- Placeables
- Placement
- Player
- Shop
- Sounds
- Specialization
- Specializations
- StateMachine
- Statistics
- Tasks
- Triggers
- Utils
- Vehicles
Engine v1_7_1_0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- general
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- NoteNode
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- VoiceChat
- XML
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
194 | function BitmapElement:canReceiveFocus() |
195 | -- if not visible, or no focusable elements: cannot receive focus |
196 | if not self.visible or #self.elements < 1 then |
197 | return false |
198 | end |
199 | |
200 | -- element can only receive focus if all sub elements are ready to receive focus |
201 | for _, v in ipairs(self.elements) do |
202 | if (not v:canReceiveFocus()) then |
203 | return false |
204 | end |
205 | end |
206 | return true |
207 | 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 = table.copy(src.offset) |
77 | self.focusedOffset = table.copy(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(clipX1, clipY1, clipX2, clipY2) |
185 | local xOffset, yOffset = self:getOffset() |
186 | |
187 | GuiOverlay.renderOverlay(self.overlay, self.absPosition[1]+xOffset, self.absPosition[2]+yOffset, self.absSize[1], self.absSize[2], self:getOverlayState(), clipX1, clipY1, clipX2, clipY2) |
188 | |
189 | BitmapElement:superClass().draw(self, clipX1, clipY1, clipX2, clipY2) |
190 | end |
getFocusTarget
DescriptionDefinitiongetFocusTarget()Code
211 | function BitmapElement:getFocusTarget() |
212 | if #self.elements > 0 then |
213 | local _, firstElement = next(self.elements) |
214 | if firstElement then |
215 | return firstElement |
216 | end |
217 | end |
218 | return self |
219 | 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] = Utils.getNoNil(r, color[1]) |
155 | color[2] = Utils.getNoNil(g, color[2]) |
156 | color[3] = Utils.getNoNil(b, color[3]) |
157 | color[4] = Utils.getNoNil(a, 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 |