option optimize_for = LITE_RUNTIME; message DashDotProto { repeated double dd = 1; optional double offset = 2; } message PathSymProto { required string name = 1; required double step = 2; optional double offset = 3; } enum LineJoin { ROUNDJOIN = 0; BEVELJOIN = 1; NOJOIN = 2; } enum LineCap { ROUNDCAP = 0; BUTTCAP = 1; SQUARECAP = 2; } message LineRuleProto { required double width = 1; required uint32 color = 2; optional DashDotProto dashdot = 3; required int32 priority = 4; optional PathSymProto pathsym = 5; optional LineJoin join = 6; optional LineCap cap = 7; } message LineDefProto { required double width = 1; required uint32 color = 2; optional DashDotProto dashdot = 3; optional PathSymProto pathsym = 4; optional LineJoin join = 6; optional LineCap cap = 7; } message AreaRuleProto { required uint32 color = 1; optional LineDefProto border = 2; required int32 priority = 3; } message SymbolRuleProto { required string name = 1; optional int32 apply_for_type = 2; // 1 - for nodes, 2 - for ways, default - for all required int32 priority = 3; } message CaptionDefProto { required int32 height = 1; required uint32 color = 2; optional uint32 stroke_color = 3; optional int32 offset_x = 4; optional int32 offset_y = 5; } message CaptionRuleProto { required CaptionDefProto primary = 1; optional CaptionDefProto secondary = 2; required int32 priority = 3; } message CircleRuleProto { required double radius = 1; required uint32 color = 2; optional LineDefProto border = 3; required int32 priority = 4; } message PathTextRuleProto { required CaptionDefProto primary = 1; optional CaptionDefProto secondary = 2; required int32 priority = 3; } // WayMarkerRule not used yet // Describe containers. message DrawElementProto { required int32 scale = 1; repeated LineRuleProto lines = 2; optional AreaRuleProto area = 3; optional SymbolRuleProto symbol = 4; optional CaptionRuleProto caption = 5; optional CircleRuleProto circle = 6; optional PathTextRuleProto path_text = 7; } message ClassifElementProto { required string name = 1; repeated DrawElementProto element = 2; } message ContainerProto { repeated ClassifElementProto cont = 1; }