package designcompose.definition.element

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Background

background.proto:30

The background of a node

Used in: Stroke, view.NodeStyle, view.TextStyle

message Background.AngularGradient

background.proto:49

A type of gradient where the colors transition along a circular path defined by a center point, an angle, and a scale.

Used in: Background

message Background.ColorStop

background.proto:32

A single color stop within a gradient.

Used in: AngularGradient, LinearGradient, RadialGradient

message Background.Image

background.proto:77

References an image via the key and the modifiers that will be used with it

Used in: Background

message Background.LinearGradient

background.proto:39

A type of gradient where the colors transition smoothly along a straight line.

Used in: Background

message Background.RadialGradient

background.proto:59

A type of gradient where the colors transition smoothly from a central point outwards in a circular pattern.

Used in: Background

enum Background.ScaleMode

background.proto:68

Defines how an image background is scaled to fit the background area.

Used in: Image

message Bounds

scalable.proto:66

Bounds of a rectangle

Used in: ScalableUiVariant

message Collection

variable.proto:108

Representation of a variable collection. Every variable belongs to a collection, and a collection contains one or more modes.

Used in: VariableMap

message Color

color.proto:27

Color represents a color value within a design, encoded as RGBA (Red, Green, Blue, Alpha) where each component is an 8-bit integer. Alpha determines opacity, with 255 being fully opaque and 0 fully transparent. Encoding each component to uint32, which uses variable-length encoding.

Used in: ColorOrVar, ColorOrVar.ColorVar, ShaderData, VariableValue

message ColorOrVar

variable.proto:83

Holds either a direct color representation (e.g., RGBA values) or a reference to a color variable, providing flexibility in how you define colors.

Used in: Background, Background.ColorStop, modifier.BoxShadow.Shadow, modifier.TextShadow

message ColorOrVar.ColorVar

variable.proto:86

Holds a reference to a design variable. Fallback is the node color value from figma.

Used in: ColorOrVar

message DimensionProto

geometry.proto:55

Used in: DimensionRect, layout.LayoutStyle

message DimensionRect

geometry.proto:69

Used in: layout.LayoutStyle

message Event

scalable.proto:24

An event that causes one or more variants to change

Used in: ScalableUIComponentSet

message FloatColor

color.proto:35

Color represented using floats in the range of 0 to 1.

Used in: ShaderUniformValue, plugin.OverlayBackground

message FontFeature

font.proto:61

FontFeature refers to specific typographic settings within a typeface, such as ligatures (e.g., "fi" becoming a single glyph) or small capitals. These features can enhance the visual appearance and readability of text, providing additional stylistic options for designers.

Used in: view.NodeStyle, view.TextStyle

message FontStretch

font.proto:53

The width of a font as an approximate fraction of the normal width. Widths range from 0.5 to 2.0 inclusive, with 1.0 as the normal width.

Used in: view.NodeStyle, view.TextStyle

enum FontStyle

font.proto:33

Allows italic or oblique faces to be selected.

Used in: view.NodeStyle, view.TextStyle

message FontWeight

font.proto:28

FontWeight specifies the visual thickness of a typeface. It's represented numerically, usually ranging from 100 (thin) to 900 (black). Common values include 400 (regular), 500 (medium), and 700 (bold).

Used in: view.NodeStyle, view.TextStyle

font.proto:67

Initially only support url. No nodeId hyperlink support.

Used in: view.NodeStyle, view.TextStyle

message Keyframe

scalable.proto:34

A key frame that shows the given variant at the given frame

Used in: KeyframeVariant

message KeyframeVariant

scalable.proto:40

A key frame variant that blends two or more variants

Used in: ScalableUIComponentSet

message LineHeight

path.proto:49

Determines the vertical spacing between lines of text.

Used in: view.NodeStyle, view.TextStyle

message Mode

variable.proto:101

Representation of a variable mode. Variables can have fixed values for each available mode

Used in: Collection

message NumOrVar

variable.proto:67

Holds either a numerical value (e.g., 100 for a font size) or a reference to a design variable. This allows for dynamic values that can adapt based on the current variable values.

Used in: FontWeight, ViewShape.RoundRect, ViewShape.VectorRect, view.NodeStyle, view.TextStyle

message NumOrVar.NumVar

variable.proto:70

Holds a reference to a design variable. Fallback is the node float value from figma.

Used in: NumOrVar

message Path

path.proto:29

Path represents a complex shape in a design, defined by a series of commands (e.g., move, line, curve) and associated numerical data. It determines the outline of graphical elements or UI components.

Used in: ViewShape.VectorArc, ViewShape.VectorPath, ViewShape.VectorRect

enum Path.WindingRule

path.proto:32

WindingRule determines how the interior of a self-intersecting or overlapping path is filled.

Used in: Path

message Rectangle

geometry.proto:43

Rectangle: Rectangle represents a rectangular region within a design, defined by its position (x, y coordinates) and dimensions (width, height).

Used in: view.View

message ScalableDimension

scalable.proto:58

Represents a dimension in pixels or percentage

Used in: Bounds

message ScalableUIComponentSet

scalable.proto:46

Data for the parent of a set of variants

Used in: ScalableUIData

message ScalableUIData

scalable.proto:87

A generic data structure for scalable ui to represent a component set or variant

Used in: view.NodeStyle

message ScalableUiVariant

scalable.proto:76

Data for a single variant of a component set

Used in: ScalableUIData

message ShaderData

shader.proto:26

Details for the runtime shader

Used in: Stroke, view.NodeStyle

message ShaderUniform

shader.proto:38

Data for shader uniform, containing name, type and default value set from plugin.

Used in: ShaderData

message ShaderUniformValue

shader.proto:52

Shader uniform value, currently support float, FloatColor and float array.

Used in: ShaderUniform

message ShaderUniformValue.FloatVec

shader.proto:55

Float array value for float2, float3, float4, half2, half3 and half4.

Used in: ShaderUniformValue

message ShaderUniformValue.ImageBytes

shader.proto:71

Image bytes for image uniform(shader).

Used in: ShaderUniformValue

message ShaderUniformValue.ImageRef

shader.proto:65

ImageRef for image uniform(shader).

Used in: ShaderUniformValue

message ShaderUniformValue.ImageResource

shader.proto:76

Image resource for image uniform(shader).

Used in: ShaderUniformValue

message ShaderUniformValue.IntVec

shader.proto:60

Int array value for int2, int3 and int4.

Used in: ShaderUniformValue

message Size

geometry.proto:28

Size encapsulates the dimensions of an element, expressed as width and height values. These values typically represent pixels or density-independent pixels (dp), allowing for consistent sizing across different screen densities.

Used in: layout.LayoutStyle, view.NodeStyle

message Stroke

path.proto:90

A stroke is similar to a border, except that it does not change layout (a border insets the children by the border size), it may be inset, centered or outset from the view bounds and there can be multiple strokes on a view.

Used in: view.NodeStyle

enum StrokeAlign

path.proto:57

How is a stroke aligned to its containing box?

Used in: Stroke

message StrokeWeight

path.proto:72

Stroke weight is either a uniform value for all sides, or individual weights for each side.

Used in: Stroke

message StrokeWeight.Individual

path.proto:74

Individual weights for each side (typically only applied on boxes).

Used in: StrokeWeight

enum TextDecoration

font.proto:44

Allows underline or strikethrough to be selected.

Used in: view.NodeStyle, view.TextStyle

message Variable

variable.proto:38

Representation of a Figma variable. We convert a figma_schema::Variable into this format to make the fields a bit easier to access.

Used in: VariableMap

enum Variable.VariableType

variable.proto:40

Variable Types

Used in: Variable

message Variable.VariableValueMap

variable.proto:51

Each variable contains a map of possible values. This data structure helps keep track of that data and contains functions to retrieve the value of a variable given a mode.

Used in: Variable

message VariableMap

variable.proto:117

Stores variable mappings

Used in: DesignComposeDefinition

message VariableMap.NameIdMap

variable.proto:119

Maps Collection names to IDs

Used in: VariableMap

message VariableValue

variable.proto:26

Holds the value of a variable, whichever type it is.

Used in: Variable.VariableValueMap

message Vector

geometry.proto:36

Vector defines a two-dimensional geometric vector, consisting of x and y components. Vectors are fundamental for representing spatial relationships and performing geometric transformations within a definition.

Used in: interaction.Action.Node

message ViewShape

view_shape.proto:29

Represents the geometric shape of a visual element, such as a rectangle, ellipse, or a custom path. It determines the boundaries of the element and influences how it is rendered and interacted with within a design.

Used in: view.ViewData.Container

message ViewShape.Box

view_shape.proto:43

A container for other objects. Equivalent to a Compose Box or a Figma Frame

Used in: ViewShape

message ViewShape.RoundRect

view_shape.proto:48

A rounded rectangle

Used in: ViewShape

enum ViewShape.StrokeCap

view_shape.proto:31

Defines the appearance of the stroke's end points (e.g., round, square).

Used in: VectorArc, VectorPath

message ViewShape.VectorArc

view_shape.proto:64

Represents a complex arc shape within a design.

Used in: ViewShape

message ViewShape.VectorPath

view_shape.proto:56

A vector path

Used in: ViewShape

message ViewShape.VectorRect

view_shape.proto:78

A shape defined by multiple paths, with potentially rounded corners

Used in: ViewShape