111 lines
2.6 KiB
Protocol Buffer
111 lines
2.6 KiB
Protocol Buffer
enum bucket_type {
|
|
fill = 1;
|
|
line = 2;
|
|
point = 3;
|
|
|
|
background = 15;
|
|
}
|
|
|
|
enum cap_type {
|
|
round_cap = 1;
|
|
butt_cap = 2;
|
|
square_cap = 3;
|
|
}
|
|
|
|
enum join_type {
|
|
miter_join = 1;
|
|
bevel_join = 2;
|
|
round_join = 3;
|
|
}
|
|
|
|
enum winding_type {
|
|
evenodd = 1;
|
|
nonzero = 2;
|
|
}
|
|
|
|
enum property_type {
|
|
null = 1;
|
|
constant = 2;
|
|
stops = 3;
|
|
linear = 4;
|
|
}
|
|
|
|
message value {
|
|
// Exactly one of these values may be present in a valid message
|
|
optional string string_value = 1;
|
|
optional float float_value = 2;
|
|
optional double double_value = 3;
|
|
optional int64 int_value = 4;
|
|
optional uint64 uint_value = 5;
|
|
optional sint64 sint_value = 6;
|
|
optional bool bool_value = 7;
|
|
|
|
extensions 8 to max;
|
|
}
|
|
|
|
message bucket {
|
|
required string name = 1;
|
|
required bucket_type type = 2;
|
|
|
|
// Specify what data to pull into this bucket
|
|
required string source_name = 3;
|
|
required string source_layer = 4;
|
|
optional string source_field = 5;
|
|
repeated value source_value = 6;
|
|
|
|
// Specifies how the geometry for this bucket should be created
|
|
optional cap_type cap = 7;
|
|
optional join_type join = 8;
|
|
optional string font = 9;
|
|
optional float font_size = 10;
|
|
}
|
|
|
|
message layer {
|
|
required string name = 1;
|
|
optional string bucket_name = 2;
|
|
repeated layer child_layer = 3;
|
|
}
|
|
|
|
message property {
|
|
required property_type function = 1;
|
|
repeated float value = 2 [ packed = true ];
|
|
}
|
|
|
|
message fill_style {
|
|
required string layer_name = 1;
|
|
optional property hidden = 2;
|
|
optional winding_type winding = 3 [ default = nonzero ];
|
|
optional property antialias = 4;
|
|
optional fixed32 fill_color = 5 [ default = 0x000000FF ]; // rgba (=> rgb << 8 | 0xFF for opaque!)
|
|
optional fixed32 stroke_color = 6; // if none is specified, no stroke will be painted
|
|
optional property opacity = 7; // values from 0..1
|
|
optional string image = 8;
|
|
// TODO: translate x/y
|
|
}
|
|
|
|
message stroke_style {
|
|
required string layer_name = 1;
|
|
optional property hidden = 2;
|
|
optional fixed32 color = 3 [ default = 0x000000FF ]; // rgba (=> rgb << 8 | 0xFF for opaque!)
|
|
optional property width = 4;
|
|
optional property offset = 5;
|
|
optional property opacity = 6; // values from 0..1
|
|
// line join + line cap are already defined in the
|
|
// TODO: dasharray
|
|
// TODO: image/icon
|
|
// TODO: translate x/y
|
|
}
|
|
|
|
message class {
|
|
required string name = 1;
|
|
repeated fill_style fill = 2;
|
|
repeated stroke_style stroke = 3;
|
|
}
|
|
|
|
// root level object
|
|
message style {
|
|
repeated bucket bucket = 1;
|
|
repeated layer layer = 2;
|
|
repeated class class = 3;
|
|
}
|