diff options
author | Pierre-Yves Rollo <dev@pyrollo.com> | 2019-09-10 15:11:26 +0200 |
---|---|---|
committer | SmallJoker <SmallJoker@users.noreply.github.com> | 2019-11-03 11:45:33 +0100 |
commit | 72416a6a1f75d56abfad0f486e57fd32579b3604 (patch) | |
tree | 2ff2978c1aec4ee6548474b8c65d3c96bab5b05f /doc | |
parent | 8697090b3564b508af50d40068a61db280f714a6 (diff) | |
download | minetest-72416a6a1f75d56abfad0f486e57fd32579b3604.tar.gz minetest-72416a6a1f75d56abfad0f486e57fd32579b3604.tar.bz2 minetest-72416a6a1f75d56abfad0f486e57fd32579b3604.zip |
Formspec: add hypertext element
Diffstat (limited to 'doc')
-rw-r--r-- | doc/lua_api.txt | 112 |
1 files changed, 110 insertions, 2 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 5640be73c..1905eff44 100644 --- a/doc/lua_api.txt +++ b/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 ====== |