/proto · css_typed.proto

css_typed.proto

Messages
11
Enums
7
Fields
58
Source
4.1 KB
Imports
3
CssDeclarationTyped message · 4 fields
# label type name notes
1 single CssProperty property
2 single CssValue value
10 optional string raw_value
11 optional string custom_property_name
FilterFunction message · 6 fields
# label type name notes
1 single FilterType type
2 single CssValue value
10 optional Length shadow_offset_x
11 optional Length shadow_offset_y
12 optional Length shadow_blur
13 optional uint32 shadow_color_ref_id
FilterFunction. FilterType enum · 11 values
# name notes
0 FILTER_UNSPECIFIED
1 FILTER_BLUR
2 FILTER_BRIGHTNESS
3 FILTER_CONTRAST
4 FILTER_DROP_SHADOW
5 FILTER_GRAYSCALE
6 FILTER_HUE_ROTATE
7 FILTER_INVERT
8 FILTER_OPACITY
9 FILTER_SATURATE
10 FILTER_SEPIA
TransformFunction message · 2 fields
# label type name notes
1 single TransformType type
2 repeated CssValue values
TransformFunction. TransformType enum · 22 values
# name notes
0 TRANSFORM_UNSPECIFIED
1 TRANSFORM_TRANSLATE
2 TRANSFORM_TRANSLATE_X
3 TRANSFORM_TRANSLATE_Y
4 TRANSFORM_TRANSLATE_Z
5 TRANSFORM_TRANSLATE_3D
6 TRANSFORM_SCALE
7 TRANSFORM_SCALE_X
8 TRANSFORM_SCALE_Y
9 TRANSFORM_SCALE_Z
10 TRANSFORM_SCALE_3D
11 TRANSFORM_ROTATE
12 TRANSFORM_ROTATE_X
13 TRANSFORM_ROTATE_Y
14 TRANSFORM_ROTATE_Z
15 TRANSFORM_ROTATE_3D
16 TRANSFORM_SKEW
17 TRANSFORM_SKEW_X
18 TRANSFORM_SKEW_Y
19 TRANSFORM_MATRIX
20 TRANSFORM_MATRIX_3D
21 TRANSFORM_PERSPECTIVE
BackgroundLayer message · 8 fields
# label type name notes
1 optional string image_src
2 optional CssFunction image_function
3 optional CssValue size
4 optional CssValue position
5 optional CssKeyword repeat
6 optional CssKeyword clip
7 optional CssKeyword origin
8 optional CssKeyword attachment
TextShadowTyped message · 5 fields
# label type name notes
1 single Length offset_x
2 single Length offset_y
3 optional Length blur_radius
4 optional uint32 color_ref_id
5 optional ColorValue color_value
BoxShadowTyped message · 7 fields
# label type name notes
1 single Length offset_x
2 single Length offset_y
3 optional Length blur_radius
4 optional Length spread_radius
5 optional uint32 color_ref_id
6 optional ColorValue color_value
7 optional bool inset
AnimationTiming message · 7 fields
# label type name notes
1 single TimingFunction function
10 optional float p1
11 optional float p2
12 optional float p3
13 optional float p4
20 optional uint32 steps_count
21 optional bool steps_jump_start
AnimationTiming. TimingFunction enum · 10 values
# name notes
0 TIMING_UNSPECIFIED
1 TIMING_LINEAR
2 TIMING_EASE
3 TIMING_EASE_IN
4 TIMING_EASE_OUT
5 TIMING_EASE_IN_OUT
6 TIMING_STEP_START
7 TIMING_STEP_END
8 TIMING_CUBIC_BEZIER
9 TIMING_STEPS
Animation message · 10 fields
# label type name notes
1 optional uint32 animation_ref_id
2 optional string name
3 optional Length duration
4 optional AnimationTiming timing_function
5 optional Length delay
6 optional IterationCount iteration_type
7 optional int32 iteration_count
8 optional Direction direction
9 optional FillMode fill_mode
10 optional PlayState play_state
Animation. IterationCount enum · 3 values
# name notes
0 ITERATIONS_UNSPECIFIED
1 ITERATIONS_FINITE
2 ITERATIONS_INFINITE
Animation. Direction enum · 5 values
# name notes
0 DIR_UNSPECIFIED
1 DIR_NORMAL
2 DIR_REVERSE
3 DIR_ALTERNATE
4 DIR_ALTERNATE_REVERSE
Animation. FillMode enum · 5 values
# name notes
0 FILL_UNSPECIFIED
1 FILL_NONE
2 FILL_FORWARDS
3 FILL_BACKWARDS
4 FILL_BOTH
Animation. PlayState enum · 3 values
# name notes
0 PLAY_UNSPECIFIED
1 PLAY_RUNNING
2 PLAY_PAUSED
Keyframe message · 2 fields
# label type name notes
1 single int32 percent_milli
2 repeated CssDeclarationTyped declarations
KeyframesRule message · 2 fields
# label type name notes
1 single string name
2 repeated Keyframe keyframes
Transition message · 5 fields
# label type name notes
1 optional CssProperty property
2 optional string custom_property
3 optional Length duration
4 optional AnimationTiming timing_function
5 optional Length delay

§Raw schema

syntax = "proto3";

package eddocu.css.v3;

import "css_value.proto";
import "css_properties.proto";
import "reftable.proto";

message CssDeclarationTyped {
  CssProperty property = 1;
  CssValue value = 2;
  
  optional string raw_value = 10;
  optional string custom_property_name = 11;
}

message FilterFunction {
  enum FilterType {
    FILTER_UNSPECIFIED = 0;
    FILTER_BLUR = 1;
    FILTER_BRIGHTNESS = 2;
    FILTER_CONTRAST = 3;
    FILTER_DROP_SHADOW = 4;
    FILTER_GRAYSCALE = 5;
    FILTER_HUE_ROTATE = 6;
    FILTER_INVERT = 7;
    FILTER_OPACITY = 8;
    FILTER_SATURATE = 9;
    FILTER_SEPIA = 10;
  }
  
  FilterType type = 1;
  CssValue value = 2;
  
  optional Length shadow_offset_x = 10;
  optional Length shadow_offset_y = 11;
  optional Length shadow_blur = 12;
  optional uint32 shadow_color_ref_id = 13;
}

message TransformFunction {
  enum TransformType {
    TRANSFORM_UNSPECIFIED = 0;
    TRANSFORM_TRANSLATE = 1;
    TRANSFORM_TRANSLATE_X = 2;
    TRANSFORM_TRANSLATE_Y = 3;
    TRANSFORM_TRANSLATE_Z = 4;
    TRANSFORM_TRANSLATE_3D = 5;
    TRANSFORM_SCALE = 6;
    TRANSFORM_SCALE_X = 7;
    TRANSFORM_SCALE_Y = 8;
    TRANSFORM_SCALE_Z = 9;
    TRANSFORM_SCALE_3D = 10;
    TRANSFORM_ROTATE = 11;
    TRANSFORM_ROTATE_X = 12;
    TRANSFORM_ROTATE_Y = 13;
    TRANSFORM_ROTATE_Z = 14;
    TRANSFORM_ROTATE_3D = 15;
    TRANSFORM_SKEW = 16;
    TRANSFORM_SKEW_X = 17;
    TRANSFORM_SKEW_Y = 18;
    TRANSFORM_MATRIX = 19;
    TRANSFORM_MATRIX_3D = 20;
    TRANSFORM_PERSPECTIVE = 21;
  }
  
  TransformType type = 1;
  repeated CssValue values = 2;
}

message BackgroundLayer {
  optional string image_src = 1;
  optional CssFunction image_function = 2;
  
  optional CssValue size = 3;
  optional CssValue position = 4;
  optional CssKeyword repeat = 5;
  optional CssKeyword clip = 6;
  optional CssKeyword origin = 7;
  optional CssKeyword attachment = 8;
}

message TextShadowTyped {
  Length offset_x = 1;
  Length offset_y = 2;
  optional Length blur_radius = 3;
  optional uint32 color_ref_id = 4;
  optional eddocu.reftable.v3.ColorValue color_value = 5;
}

message BoxShadowTyped {
  Length offset_x = 1;
  Length offset_y = 2;
  optional Length blur_radius = 3;
  optional Length spread_radius = 4;
  optional uint32 color_ref_id = 5;
  optional eddocu.reftable.v3.ColorValue color_value = 6;
  optional bool inset = 7;
}

message AnimationTiming {
  enum TimingFunction {
    TIMING_UNSPECIFIED = 0;
    TIMING_LINEAR = 1;
    TIMING_EASE = 2;
    TIMING_EASE_IN = 3;
    TIMING_EASE_OUT = 4;
    TIMING_EASE_IN_OUT = 5;
    TIMING_STEP_START = 6;
    TIMING_STEP_END = 7;
    TIMING_CUBIC_BEZIER = 8;
    TIMING_STEPS = 9;
  }
  
  TimingFunction function = 1;
  
  optional float p1 = 10;
  optional float p2 = 11;
  optional float p3 = 12;
  optional float p4 = 13;
  
  optional uint32 steps_count = 20;
  optional bool steps_jump_start = 21;
}

message Animation {
  optional uint32 animation_ref_id = 1;
  
  optional string name = 2;
  optional Length duration = 3;
  optional AnimationTiming timing_function = 4;
  optional Length delay = 5;
  
  enum IterationCount {
    ITERATIONS_UNSPECIFIED = 0;
    ITERATIONS_FINITE = 1;
    ITERATIONS_INFINITE = 2;
  }
  optional IterationCount iteration_type = 6;
  optional int32 iteration_count = 7;
  
  enum Direction {
    DIR_UNSPECIFIED = 0;
    DIR_NORMAL = 1;
    DIR_REVERSE = 2;
    DIR_ALTERNATE = 3;
    DIR_ALTERNATE_REVERSE = 4;
  }
  optional Direction direction = 8;
  
  enum FillMode {
    FILL_UNSPECIFIED = 0;
    FILL_NONE = 1;
    FILL_FORWARDS = 2;
    FILL_BACKWARDS = 3;
    FILL_BOTH = 4;
  }
  optional FillMode fill_mode = 9;
  
  enum PlayState {
    PLAY_UNSPECIFIED = 0;
    PLAY_RUNNING = 1;
    PLAY_PAUSED = 2;
  }
  optional PlayState play_state = 10;
}

message Keyframe {
  int32 percent_milli = 1;
  repeated CssDeclarationTyped declarations = 2;
}

message KeyframesRule {
  string name = 1;
  repeated Keyframe keyframes = 2;
}

message Transition {
  optional CssProperty property = 1;
  optional string custom_property = 2;
  optional Length duration = 3;
  optional AnimationTiming timing_function = 4;
  optional Length delay = 5;
}