syntax = "proto3"; package rv.data; option cc_enable_arenas = true; option csharp_namespace = "Pro.SerializationInterop.RVProtoData"; option swift_prefix = "RVData_"; import "color.proto"; import "font.proto"; import "uuid.proto"; import "url.proto"; message TestPattern { message BlendGrid { bool draw_grid = 1; bool draw_circles = 2; bool draw_lines = 3; bool invert_colors = 4; double grid_spacing = 5; } message CustomColor { .rv.data.Color color = 1; } message IntensityColor { double intensity = 1; } enum Type { TYPE_UNKNOWN = 0; TYPE_BLEND_GRID = 1; TYPE_COLOR_BARS = 2; TYPE_FOCUS = 3; TYPE_GRAY_SCALE = 4; TYPE_BLACK_COLOR = 5; TYPE_WHITE_COLOR = 6; TYPE_CUSTOM_COLOR = 7; TYPE_TEXT = 8; TYPE_VIDEO_SYNC = 9; } .rv.data.TestPattern.Type type = 1; oneof PatternProperties { .rv.data.TestPattern.BlendGrid blend_grid = 2; .rv.data.TestPattern.CustomColor custom_color = 3; .rv.data.TestPattern.IntensityColor intensity = 4; } } message TestPatternDefinition { message ColorProperty { .rv.data.Color value = 1; bool allow_alpha = 2; repeated .rv.data.Color default_colors = 3; } message DoubleProperty { enum ViewType { VIEW_TYPE_STEPPER = 0; VIEW_TYPE_SLIDER = 1; VIEW_TYPE_SPEED_SLIDER = 2; } double value = 1; double min = 2; double max = 3; double step = 4; string units = 5; .rv.data.TestPatternDefinition.DoubleProperty.ViewType viewType = 6; } message IntProperty { int32 value = 1; int32 min = 2; int32 max = 3; string units = 5; } message BoolProperty { bool value = 1; repeated .rv.data.TestPatternDefinition.Property dependent_properties = 2; } message StringProperty { string value = 1; int32 min_chars = 2; int32 max_chars = 3; } message FontProperty { .rv.data.Font font = 1; } message SelectorProperty { int32 selected_index = 1; repeated string value_localization_keys = 2; } message Property { string name_localization_key = 1; oneof PropertyType { .rv.data.TestPatternDefinition.ColorProperty color_property = 3; .rv.data.TestPatternDefinition.DoubleProperty double_property = 4; .rv.data.TestPatternDefinition.IntProperty int_property = 5; .rv.data.TestPatternDefinition.BoolProperty bool_property = 6; .rv.data.TestPatternDefinition.StringProperty string_property = 7; .rv.data.TestPatternDefinition.FontProperty font_property = 8; .rv.data.TestPatternDefinition.SelectorProperty selector_property = 9; } } .rv.data.UUID uuid = 1; string name_localization_key = 2; repeated .rv.data.TestPatternDefinition.Property properties = 3; bool show_delay_settings = 4; bool is_default = 5; } message TestPatternRenderSettings { reserved 2; message Output { int32 x = 1; int32 y = 2; int32 width = 3; int32 height = 4; string name = 5; double frame_rate = 6; } .rv.data.TestPatternDefinition pattern = 1; string screen_name = 3; repeated .rv.data.TestPatternRenderSettings.Output outputs = 4; .rv.data.LogoType logo_type = 5; string logo_file = 6; int32 render_width = 7; int32 render_height = 8; bool enable_audio = 9; } message TestPatternState { enum DisplayLocation { DISPLAY_LOCATION_ALL_SCREENS = 0; DISPLAY_LOCATION_AUDIENCE_SCREENS = 1; DISPLAY_LOCATION_STAGE_SCREENS = 2; DISPLAY_LOCATION_SPECIFIC_SCREEN = 3; } .rv.data.TestPatternDefinition pattern = 1; bool show_pattern = 2; .rv.data.TestPatternState.DisplayLocation display_location = 3; .rv.data.UUID specific_screen = 4; bool identify_screens = 5; .rv.data.LogoType logo_type = 6; .rv.data.URL user_logo_location = 7; } message TestPatternDocument { message TestPatternStateData { .rv.data.UUID test_pattern_id = 1; string test_pattern_name_localization_key = 2; .rv.data.TestPatternState.DisplayLocation display_location = 3; .rv.data.UUID specific_screen = 4; bool identify_screens = 5; .rv.data.LogoType logo_type = 6; .rv.data.URL user_logo_location = 7; } message TestPatternData { message ColorProperty { .rv.data.Color value = 1; } message DoubleProperty { double value = 1; } message IntProperty { int32 value = 1; } message BoolProperty { bool value = 1; repeated .rv.data.TestPatternDocument.TestPatternData.Property dependent_properties = 2; } message StringProperty { string value = 1; } message FontProperty { .rv.data.Font value = 1; } message SelectorProperty { int32 value = 1; } message Property { string name_localization_key = 1; oneof PropertyType { .rv.data.TestPatternDocument.TestPatternData.ColorProperty color_property = 2; .rv.data.TestPatternDocument.TestPatternData.DoubleProperty double_property = 3; .rv.data.TestPatternDocument.TestPatternData.IntProperty int_property = 4; .rv.data.TestPatternDocument.TestPatternData.BoolProperty bool_property = 5; .rv.data.TestPatternDocument.TestPatternData.StringProperty string_property = 6; .rv.data.TestPatternDocument.TestPatternData.FontProperty font_property = 7; .rv.data.TestPatternDocument.TestPatternData.SelectorProperty selector_property = 8; } } .rv.data.UUID uuid = 1; string name_localization_key = 2; repeated .rv.data.TestPatternDocument.TestPatternData.Property properties = 3; } .rv.data.TestPatternDocument.TestPatternStateData state = 1; repeated .rv.data.TestPatternDocument.TestPatternData patterns = 2; } enum LogoType { LOGO_TYPE_NONE = 0; LOGO_TYPE_PROPRESENTER = 1; LOGO_TYPE_USER = 2; }