Factorio Prototype DocsVersion 2.0.26

ElementImageSetLayer :: struct or Sprite

How the sprites are laid out graphically when using a composition type element image set layer.How the sprites are laid out graphically when using a composition type element image set layer.
How the sprites are stretched when using a composition type element image set layer.How the sprites are stretched when using a composition type element image set layer.

If this is loaded as a Sprite, it gets used as center.

Properties

draw_type optional :: "inner" or "outer"

Defines whether the border should be drawn inside the widget, which affects the padding and content size of the widget, or outside of the widget which doesn't affect size. [...]

Defines whether the border should be drawn inside the widget, which affects the padding and content size of the widget, or outside of the widget which doesn't affect size. [...]

type optional :: "none" or "composition"
tint optional :: Color

Only loaded if type is "composition".

Only loaded if type is "composition".

center optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

left optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

left_top optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

left_bottom optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

right optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

right_top optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

right_bottom optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

top optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

bottom optional :: Sprite

Only loaded if type is "composition".

Only loaded if type is "composition".

corner_size optional :: uint16 or {uint16, uint16}

If this is a tuple, the first member of the tuple is width and the second is height. [...]

If this is a tuple, the first member of the tuple is width and the second is height. [...]

filename optional :: FileName

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

position optional :: MapPosition

Mandatory if corner_size is defined. [...]

Mandatory if corner_size is defined. [...]

load_in_minimal_mode optional :: bool

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

top_width optional :: SpriteSizeType

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

bottom_width optional :: SpriteSizeType

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

left_height optional :: SpriteSizeType

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

right_height optional :: SpriteSizeType

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

center_width optional :: SpriteSizeType

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

center_height optional :: SpriteSizeType

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

scale optional :: double

Only loaded if corner_size is defined. [...]

Only loaded if corner_size is defined. [...]

top_border optional :: int32

Only loaded if type is "composition".

Only loaded if type is "composition".

right_border optional :: int32

Only loaded if type is "composition".

Only loaded if type is "composition".

bottom_border optional :: int32

Only loaded if type is "composition".

Only loaded if type is "composition".

left_border optional :: int32

Only loaded if type is "composition".

Only loaded if type is "composition".

border optional :: int32

Sets top_border, right_border, bottom_border and left_border. [...]

Sets top_border, right_border, bottom_border and left_border. [...]

stretch_monolith_image_to_size optional :: bool

Only loaded if type is "composition".

Only loaded if type is "composition".

left_tiling optional :: bool

Tiling is used to make a side (not corner) texture repeat instead of being stretched.

Tiling is used to make a side (not corner) texture repeat instead of being stretched.

right_tiling optional :: bool
top_tiling optional :: bool
bottom_tiling optional :: bool
center_tiling_vertical optional :: bool
center_tiling_horizontal optional :: bool
overall_tiling_horizontal_size optional :: uint16

Overall tiling is used to make the overall texture repeat instead of being stretched.

Overall tiling is used to make the overall texture repeat instead of being stretched.

overall_tiling_horizontal_spacing optional :: uint16
overall_tiling_horizontal_padding optional :: uint16
overall_tiling_vertical_size optional :: uint16
overall_tiling_vertical_spacing optional :: uint16
overall_tiling_vertical_padding optional :: uint16
custom_horizontal_tiling_sizes optional :: array[uint32]
opacity optional :: double
background_blur optional :: bool
background_blur_sigma optional :: float
top_outer_border_shift optional :: int32
bottom_outer_border_shift optional :: int32
right_outer_border_shift optional :: int32
left_outer_border_shift optional :: int32

Properties

draw_type :: "inner" or "outer" optional

Default: "inner"

Defines whether the border should be drawn inside the widget, which affects the padding and content size of the widget, or outside of the widget which doesn't affect size. The outer draw type is most commonly used for shadows, glows and insets.

type :: "none" or "composition" optional

Default: "none" if this has no other properties, otherwise "composition"

tint :: Color optional

Default: {r=1, g=1, b=1, a=1}

Only loaded if type is "composition".

center :: Sprite optional

Only loaded if type is "composition".

left :: Sprite optional

Only loaded if type is "composition".

left_top :: Sprite optional

Only loaded if type is "composition".

left_bottom :: Sprite optional

Only loaded if type is "composition".

right_top :: Sprite optional

Only loaded if type is "composition".

right_bottom :: Sprite optional

Only loaded if type is "composition".

top :: Sprite optional

Only loaded if type is "composition".

bottom :: Sprite optional

Only loaded if type is "composition".

corner_size :: uint16 or {uint16, uint16} optional

In base game, the corner size is 8 and the sides are 1px long and 8px wide.In base game, the corner size is 8 and the sides are 1px long and 8px wide.

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

Only loaded if type is "composition".

Example

{
  -- How an ElementImageSet is loaded which has only one layer, which uses the corner_size shown in the diagram
  base = {position = {0, 17}, corner_size = 8}
}

filename :: FileName optional

Default: The default_tileset set in GuiStyle

Only loaded if corner_size is defined. Only loaded if type is "composition".

position :: MapPosition optional

Mandatory if corner_size is defined. Only loaded if type is "composition".

load_in_minimal_mode :: bool optional

Default: true

Only loaded if corner_size is defined. Only loaded if type is "composition".

top_width :: SpriteSizeType optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

bottom_width :: SpriteSizeType optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

left_height :: SpriteSizeType optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

right_height :: SpriteSizeType optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

center_width :: SpriteSizeType optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

center_height :: SpriteSizeType optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

scale :: double optional

Default: 1

Only loaded if corner_size is defined. Only loaded if type is "composition".

top_border :: int32 optional

Only loaded if type is "composition".

right_border :: int32 optional

Only loaded if type is "composition".

bottom_border :: int32 optional

Only loaded if type is "composition".

left_border :: int32 optional

Only loaded if type is "composition".

border :: int32 optional

Sets top_border, right_border, bottom_border and left_border.

Only loaded if corner_size is not defined. Only loaded if type is "composition".

stretch_monolith_image_to_size :: bool optional

Default: true

Only loaded if type is "composition".

left_tiling :: bool optional

Default: false

Tiling is used to make a side (not corner) texture repeat instead of being stretched.

right_tiling :: bool optional

Default: false

top_tiling :: bool optional

Default: false

bottom_tiling :: bool optional

Default: false

center_tiling_vertical :: bool optional

Default: false

center_tiling_horizontal :: bool optional

Default: false

overall_tiling_horizontal_size :: uint16 optional

Default: 0

Overall tiling is used to make the overall texture repeat instead of being stretched.

overall_tiling_horizontal_spacing :: uint16 optional

Default: 0

overall_tiling_horizontal_padding :: uint16 optional

Default: 0

overall_tiling_vertical_size :: uint16 optional

Default: 0

overall_tiling_vertical_spacing :: uint16 optional

Default: 0

overall_tiling_vertical_padding :: uint16 optional

Default: 0

custom_horizontal_tiling_sizes :: array[uint32] optional

opacity :: double optional

Default: 1

background_blur :: bool optional

Default: false

background_blur_sigma :: float optional

Default: 4 if background_blur is true

top_outer_border_shift :: int32 optional

Default: 0

bottom_outer_border_shift :: int32 optional

Default: 0

right_outer_border_shift :: int32 optional

Default: 0

left_outer_border_shift :: int32 optional

Default: 0

Prototypes

Types

Defines