Add optional text widget boundaries
This commit is contained in:
parent
d5736bda72
commit
b0bec3da6a
11
API.md
11
API.md
@ -404,10 +404,13 @@ this function may be deprecated if it isn't needed anymore.
|
||||
|
||||
#### Parameters
|
||||
* `data`: Text to be written inside the widget
|
||||
* `x`: Formspec X coordinate
|
||||
* `y`: Formspec Y coordinate
|
||||
* `width`: Width of the widget in formspec units
|
||||
* `height`: Height of the widget in formspec units
|
||||
* `x`: Formspec X coordinate (optional)
|
||||
* `y`: Formspec Y coordinate (optional)
|
||||
* `width`: Width of the widget in formspec units (optional)
|
||||
* `height`: Height of the widget in formspec units (optional)
|
||||
|
||||
The default values for the optional parameters result in a widget which fills
|
||||
nearly the entire entry page.
|
||||
|
||||
#### Return value
|
||||
A string which contains a complete formspec definition building the widget.
|
||||
|
12
init.lua
12
init.lua
@ -424,6 +424,18 @@ doc.widgets = {}
|
||||
local text_id = 1
|
||||
-- Scrollable freeform text
|
||||
doc.widgets.text = function(data, x, y, width, height)
|
||||
if x == nil then
|
||||
x = doc.FORMSPEC.ENTRY_START_X
|
||||
end
|
||||
if y == nil then
|
||||
y = doc.FORMSPEC.ENTRY_START_Y
|
||||
end
|
||||
if width == nil then
|
||||
width = doc.FORMSPEC.ENTRY_WIDTH
|
||||
end
|
||||
if height == nil then
|
||||
height = doc.FORMSPEC.ENTRY_HEIGHT
|
||||
end
|
||||
local baselength = 80
|
||||
local widget_basewidth = doc.FORMSPEC.WIDTH
|
||||
local linelength = math.max(20, math.floor(baselength * (width / widget_basewidth)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user