Types/StyleSpecification: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(1.1: added natrual_size, never_hide_by_search, ignored_by_search)
(Added an example of adding a custom style)
Line 218: Line 218:


'''Default''': 1.0
'''Default''': 1.0
== Example ==
Example of adding a custom style via [[Prototype/GuiStyle]], in this case a [[Types/FrameStyleSpecification]]:
<syntaxhighlight lang="lua">data.raw["gui-style"]["default"]["custom_style_for_a_frame"] =
{
  type = "frame_style",
  parent = "frame",
  use_header_filler = false,
  drag_by_title = false
}</syntaxhighlight>

Revision as of 17:38, 11 March 2021

A table, used as a value in Prototype/GuiStyle, named by the key that is used there. Prototype/GuiStyle loads one of the extensions of this prototype, depending on the specified type.

Extensions

Mandatory properties

type

Type: string

The type of one of the above listed extensions, this style specification is then loaded as that extension.

Optional properties

parent

Type: string

Name of a Types/StyleSpecification. This style specification inherits all property values from the parent style specification.
It is recommended to always set the parent style to at least the basic vanilla style. If no parent is set, some style properties become mandatory and behavior may be unexpected, such as an element not showing up because its size defaults to 0.

horizontal_align

Type: string

Default: "left"

Either "left", "center" or "right".

vertical_align

Type: string

Default: "top"

Either "top", "center" or "bottom".

ignored_by_search

Type: bool

never_hide_by_search

Type: bool

horizontally_stretchable

Type: string

Default: "auto"

Either "off", "on", "auto" or "stretch_and_expand".

vertically_stretchable

Type: string

Default: "auto"

Either "off", "on", "auto" or "stretch_and_expand".

horizontally_squashable

Type: string

Default: "auto"

Either "off", "on", "auto" or "stretch_and_expand".

vertically_squashable

Type: string

Default: "auto"

Either "off", "on", "auto" or "stretch_and_expand".

natural_size

Type: uint32 or table of uint32

If this is an array, the first member of the array is natural_width and the second is natural_height. Otherwise the size is both natural_width and natural_height.

size

Type: uint32 or table of uint32

If this is an array, the first member of the array is width and the second is height. Otherwise the size is both width and height.

width

Type: uint32

Sets minimal_width, maximal_width and natural_width.

minimal_width

Type: uint32

Default: 0

Minimal width ensures, that the widget will never be smaller than than that size. It can't be squashed to be smaller.

maximal_width

Type: uint32

Default: 0

Maximal width ensures, that the widget will never be bigger than than that size. It can't be stretched to be bigger.

natural_width

Type: uint32

Default: 0

Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.

height

Type: uint32

Sets minimal_height, maximal_height and natural_height.

minimal_height

Type: uint32

Default: 0

Minimal height ensures, that the widget will never be smaller than than that size. It can't be squashed to be smaller.

maximal_height

Type: uint32

Default: 0

Maximal height ensures, that the widget will never be bigger than than that size. It can't be stretched to be bigger.

natural_height

Type: uint32

Default: 0

Natural height specifies the height of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.

padding

Type: int16

Sets top_padding, right_padding, bottom_padding and left_padding.

top_padding

Type: int16

Default: 0

right_padding

Type: int16

Default: 0

bottom_padding

Type: int16

Default: 0

left_padding

Type: int16

Default: 0

margin

Type: int16

Sets top_margin, right_margin, bottom_margin and left_margin.

top_margin

Type: int16

Default: 0

right_margin

Type: int16

Default: 0

bottom_margin

Type: int16

Default: 0

left_margin

Type: int16

Default: 0

effect

Type: string

effect_opacity

Type: float

Default: 1.0

Example

Example of adding a custom style via Prototype/GuiStyle, in this case a Types/FrameStyleSpecification:

data.raw["gui-style"]["default"]["custom_style_for_a_frame"] =
{
  type = "frame_style",
  parent = "frame",
  use_header_filler = false,
  drag_by_title = false
}