propresenter-php/proto/screens.proto
Thorsten Bus 22ba4aff7d refactor: make repo Composer-compatible by moving php/ to root and ref/ to doc/reference_samples
- Move src/, tests/, bin/, generated/, proto/, composer.json, composer.lock, phpunit.xml from php/ to repo root
- Move ref/ to doc/reference_samples/ for better organization
- Remove vendor/ from git tracking (now properly gitignored)
- Update all test file paths (dirname adjustments and ref/ -> doc/reference_samples/)
- Update all documentation paths (AGENTS.md, doc/*.md)
- Remove php.bak/ directory
- All 252 tests pass
2026-03-30 13:26:29 +02:00

154 lines
3.5 KiB
Protocol Buffer
Executable file

syntax = "proto3";
package rv.data;
option cc_enable_arenas = true;
option csharp_namespace = "Pro.SerializationInterop.RVProtoData";
option swift_prefix = "RVData_";
import "color.proto";
import "graphicsData.proto";
import "uuid.proto";
message Screen {
message ColorAdjustment {
double gamma = 1;
double black_level = 2;
double red_level = 3;
double green_level = 4;
double blue_level = 5;
double brightness = 6;
double contrast = 7;
}
message BlendCompensation {
double black_level = 1;
}
message AlphaSettings {
message AlphaDevice {
.rv.data.OutputDisplay display = 1;
.rv.data.Graphics.Rect subscreen_unit_rect = 2;
}
enum Mode {
MODE_UNKNOWN = 0;
MODE_DISABLED = 1;
MODE_PREMULTIPLIED = 2;
MODE_STRAIGHT = 3;
}
.rv.data.Screen.AlphaSettings.Mode mode = 1;
.rv.data.Screen.AlphaSettings.AlphaDevice alpha_device = 2;
}
.rv.data.UUID uuid = 1;
string name = 2;
.rv.data.Color color = 3;
.rv.data.Graphics.Rect bounds = 4;
bool aspect_ratio_locked = 5;
bool output_bounds_aspect_ratio_locked = 6;
bool corner_pinning_enabled = 7;
.rv.data.Graphics.Rect subscreen_unit_rect = 8;
double rotation = 9;
double gamma = 10;
double black_level = 11;
uint32 blended_edges = 12;
.rv.data.CornerValues corner_values = 13;
.rv.data.OutputDisplay output_display = 14;
bool color_enabled = 15;
.rv.data.Screen.ColorAdjustment color_adjustment = 16;
.rv.data.Screen.BlendCompensation blend_compensation = 17;
.rv.data.Screen.AlphaSettings alpha_settings = 18;
}
message CornerValues {
.rv.data.Graphics.Point top_left = 1;
.rv.data.Graphics.Point top_right = 2;
.rv.data.Graphics.Point bottom_left = 3;
.rv.data.Graphics.Point bottom_right = 4;
}
message DisplayMode {
string name = 1;
uint32 width = 2;
uint32 height = 3;
double refresh_rate = 4;
bool interlaced = 5;
}
message OutputDisplay {
message Blackmagic {
enum KeyMode {
KEY_MODE_INTERNAL = 0;
KEY_MODE_EXTERNAL = 1;
}
bool enabled = 1;
.rv.data.OutputDisplay.Blackmagic.KeyMode key_mode = 2;
double blend_value = 3;
}
enum Type {
TYPE_UNKNOWN = 0;
TYPE_SCREEN = 1;
TYPE_CARD = 2;
TYPE_NDI = 3;
TYPE_SYPHON = 4;
TYPE_CUSTOM = 5;
}
string name = 1;
string model = 2;
string serial = 3;
string deviceName = 4;
string vendor = 5;
uint32 modeIndex = 6;
.rv.data.Graphics.Rect bounds = 7;
.rv.data.OutputDisplay.Type type = 8;
.rv.data.DisplayMode mode = 9;
string render_id = 10;
int32 video_delay = 12;
oneof HardwareOptions {
.rv.data.OutputDisplay.Blackmagic blackmagic = 11;
}
}
message EdgeBlend {
message Screen {
enum Edge {
EDGE_UNKNOWN = 0;
EDGE_LEFT = 1;
EDGE_RIGHT = 2;
EDGE_TOP = 3;
EDGE_BOTTOM = 4;
}
.rv.data.UUID uuid = 1;
.rv.data.EdgeBlend.Screen.Edge edge = 2;
double gamma = 3;
double black_level = 4;
.rv.data.EdgeBlend.Mode mode = 5;
double radius = 6;
double intensity = 7;
}
enum Mode {
MODE_LINEAR = 0;
MODE_CUBIC = 1;
MODE_QUADRATIC = 2;
}
.rv.data.UUID uuid = 1;
double radius = 2;
double intensity = 3;
.rv.data.EdgeBlend.Mode mode = 4;
.rv.data.EdgeBlend.Screen first_screen = 5;
.rv.data.EdgeBlend.Screen second_screen = 6;
.rv.data.EdgeBlend.Screen left_screen = 7;
.rv.data.EdgeBlend.Screen right_screen = 8;
.rv.data.EdgeBlend.Screen top_screen = 9;
.rv.data.EdgeBlend.Screen bottom_screen = 10;
}