mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-01 17:38:41 +00:00
Formspec: add hypertext element
This commit is contained in:
parent
8697090b35
commit
72416a6a1f
22 changed files with 1792 additions and 79 deletions
112
doc/lua_api.txt
112
doc/lua_api.txt
|
@ -2189,8 +2189,13 @@ Elements
|
|||
half a coordinate. With the old system, newlines are spaced 2/5 of
|
||||
an inventory slot.
|
||||
|
||||
### `vertlabel[<X>,<Y>;<label>]`
|
||||
### `hypertext[<X>,<Y>;<W>,<H>;<name>;<text>]`
|
||||
* Displays a static formated text with hyperlinks.
|
||||
* `x`, `y`, `w` and `h` work as per field
|
||||
* `name` is the name of the field as returned in fields to `on_receive_fields` in case of action in text.
|
||||
* `text` is the formatted text using `markup language` described below.
|
||||
|
||||
### `vertlabel[<X>,<Y>;<label>]`
|
||||
* Textual label drawn vertically
|
||||
* `label` is the text on the label
|
||||
* **Note**: If the new coordinate system is enabled, vertlabels are
|
||||
|
@ -2534,6 +2539,110 @@ Some types may inherit styles from parent types.
|
|||
* noclip - boolean, set to true to allow the element to exceed formspec bounds.
|
||||
* textcolor - color. Default white.
|
||||
|
||||
Markup language
|
||||
---------------
|
||||
|
||||
Markup language used in `hypertext[]` elements uses tag that look like HTML tags. Some
|
||||
tags can enclose text, they open with `<tagname>` and close with `</tagname>`.
|
||||
Tags can have attributes, in that case, attributes are in the opening tag in
|
||||
form of a key/value separated with equal signs. Attribute values should not be quoted.
|
||||
|
||||
These are the technically basic tags but see below for usual tags. Base tags are:
|
||||
|
||||
`<style color=... font=... size=...>...</style>`
|
||||
|
||||
Changes the style of the text.
|
||||
|
||||
* `color`: Text color. Given color is a `colorspec`.
|
||||
* `size`: Text size.
|
||||
* `font`: Text font (`mono` or `normal`).
|
||||
|
||||
`<global background=... margin=... valign=... color=... hovercolor=... size=... font=... halign=... >`
|
||||
|
||||
Sets global style.
|
||||
|
||||
Global only styles:
|
||||
* `background`: Text background, a `colorspec` or `none`.
|
||||
* `margin`: Page margins in pixel.
|
||||
* `valign`: Text vertical alignment (`top`, `middle`, `bottom`).
|
||||
|
||||
Inheriting styles (affects child elements):
|
||||
* `color`: Default text color. Given color is a `colorspec`.
|
||||
* `hovercolor`: Color of <action> tags when mouse is over.
|
||||
* `size`: Default text size.
|
||||
* `font`: Default text font (`mono` or `normal`).
|
||||
* `halign`: Default text horizontal alignment (`left`, `right`, `center`, `justify`).
|
||||
|
||||
This tag needs to be placed only once as it changes the global settings of the
|
||||
text. Anyway, if several tags are placed, each changed will be made in the order
|
||||
tags appear.
|
||||
|
||||
`<tag name=... color=... hovercolor=... font=... size=...>`
|
||||
|
||||
Defines or redefines tag style. This can be used to define new tags.
|
||||
* `name`: Name of the tag to define or change.
|
||||
* `color`: Text color. Given color is a `colorspec`.
|
||||
* `hovercolor`: Text color when element hovered (only for `action` tags). Given color is a `colorspec`.
|
||||
* `size`: Text size.
|
||||
* `font`: Text font (`mono` or `normal`).
|
||||
|
||||
Following tags are the usual tags for text layout. They are defined by default.
|
||||
Other tags can be added using `<tag ...>` tag.
|
||||
|
||||
`<normal>...</normal>`: Normal size text
|
||||
|
||||
`<big>...</big>`: Big text
|
||||
|
||||
`<bigger>...</bigger>`: Bigger text
|
||||
|
||||
`<center>...</center>`: Centered text
|
||||
|
||||
`<left>...</left>`: Left-aligned text
|
||||
|
||||
`<right>...</right>`: Right-aligned text
|
||||
|
||||
`<justify>...</justify>`: Justified text
|
||||
|
||||
`<mono>...</mono>`: Monospaced font
|
||||
|
||||
`<b>...</b>`, `<i>...</i>`, `<u>...</u>`: Bold, italic, underline styles.
|
||||
|
||||
`<action name=...>...</action>`
|
||||
|
||||
Make that text a clickable text triggering an action.
|
||||
|
||||
* `name`: Name of the action (mandatory).
|
||||
|
||||
When clicked, the formspec is send to the server. The value of the text field
|
||||
sent to `on_player_receive_fields` will be "action:" concatenated to the action
|
||||
name.
|
||||
|
||||
`<img name=... float=... width=... height=...>`
|
||||
|
||||
Draws an image which is present in the client media cache.
|
||||
|
||||
* `name`: Name of the texture (mandatory).
|
||||
* `float`: If present, makes the image floating (`left` or `right`).
|
||||
* `width`: Force image width instead of taking texture width.
|
||||
* `height`: Force image height instead of taking texture height.
|
||||
|
||||
If only width or height given, texture aspect is kept.
|
||||
|
||||
`<item name=... float=... width=... height=... rotate=...>`
|
||||
|
||||
Draws an item image.
|
||||
|
||||
* `name`: Item string of the item to draw (mandatory).
|
||||
* `float`: If present, makes the image floating (`left` or `right`).
|
||||
* `width`: Item image width.
|
||||
* `height`: Item image height.
|
||||
* `rotate`: Rotate item image if set to `yes` or `X,Y,Z`. X, Y and Z being
|
||||
rotation speeds in percent of standard speed (-1000 to 1000). Works only if
|
||||
`inventory_items_animations` is set to true.
|
||||
* `angle`: Angle in which the item image is shown. Value has `X,Y,Z` form.
|
||||
X, Y and Z being angles around each three axes. Works only if
|
||||
`inventory_items_animations` is set to true.
|
||||
|
||||
Inventory
|
||||
=========
|
||||
|
||||
|
@ -2557,7 +2666,6 @@ Player Inventory lists
|
|||
* Is not created automatically, use `InvRef:set_size`
|
||||
* Is only used to enhance the empty hand's tool capabilities
|
||||
|
||||
|
||||
Colors
|
||||
======
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue