LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

BitmapElement

Description
Display element for images. Used layers: "image" for the display image.
Parent
GuiElement
XML Configuration Parameters
GuiElement#offsetstring [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#focuseOffsetstring [optional] Position offset of the displayed image when it's focused, pressed, highlighted or selected. Works like #offset.

Functions

applyBitmapAspectScale

Description
Definition
applyBitmapAspectScale()
Code
82function 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
90end

applyScreenAlignment

Description
Definition
applyScreenAlignment()
Code
94function BitmapElement:applyScreenAlignment()
95 self:applyBitmapAspectScale()
96
97 BitmapElement:superClass().applyScreenAlignment(self);
98end

canReceiveFocus

Description
Definition
canReceiveFocus()
Code
192function 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;
203end

copyAttributes

Description
Definition
copyAttributes()
Code
72function 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);
78end

delete

Description
Definition
delete()
Code
32function BitmapElement:delete()
33 GuiOverlay.deleteOverlay(self.overlay);
34
35 BitmapElement:superClass().delete(self);
36end

draw

Description
Definition
draw()
Code
184function 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);
188end

getFocusTarget

Description
Definition
getFocusTarget()
Code
207function 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;
215end

getOffset

Description
Definition
getOffset()
Code
122function 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;
130end

loadFromXML

Description
Definition
loadFromXML()
Code
40function 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);
48end

loadProfile

Description
Definition
loadProfile()
Code
52function 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
68end

new

Description
Definition
new()
Code
20function 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;
28end

setAlpha

Description
Set image alpha
Definition
setAlpha()
Code
113function BitmapElement:setAlpha(alpha)
114 BitmapElement:superClass().setAlpha(self, alpha);
115 if self.overlay ~= nil then
116 self.overlay.alpha = self.alpha;
117 end;
118end

setDisabled

Description
Definition
setDisabled()
Code
102function 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
109end

setImageColor

Description
Set 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
stateGuiOverlaystate for which the color is changed, use nil to set the default color
rRedcolor value
gGreencolor value
bBluecolor value
aAlphavalue (transparency)
Code
152function 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]
158end

setImageFilename

Description
Set the image filename
Definition
setImageFilename()
Code
140function BitmapElement:setImageFilename(filename)
141 self.overlay = GuiOverlay.createOverlay(self.overlay, filename);
142end

setImageRotation

Description
Set this element's image overlay's rotation.
Definition
setImageRotation(float rotation)
Arguments
floatrotationRotation in radians
Code
178function BitmapElement:setImageRotation(rotation)
179 self.overlay.rotation = rotation
180end

setImageUVs

Description
Set image UVs (normalized)
Definition
setImageUVs()
Code
162function 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]);
173end

setIsWebOverlay

Description
Definition
setIsWebOverlay()
Code
134function BitmapElement:setIsWebOverlay(isWebOverlay)
135 self.overlay.isWebOverlay = isWebOverlay
136end