[@Cpp(::vl::presentation::NativeCoordinate)] struct NativeCoordinate { var value : int; } [@Cpp(::vl::presentation::NativePoint)] struct NativePoint { var x : NativeCoordinate; var y : NativeCoordinate; } [@Cpp(::vl::presentation::NativeSize)] struct NativeSize { var x : NativeCoordinate; var y : NativeCoordinate; } [@Cpp(::vl::presentation::NativeRect)] struct NativeRect { var x1 : NativeCoordinate; var y1 : NativeCoordinate; var x2 : NativeCoordinate; var y2 : NativeCoordinate; } [@Cpp(::vl::presentation::NativeMargin)] struct NativeMargin { var left : NativeCoordinate; var top : NativeCoordinate; var right : NativeCoordinate; var bottom : NativeCoordinate; } [@Cpp(::vl::presentation::Point)] struct Point { var x : int; var y : int; } [@Cpp(::vl::presentation::Size)] struct Size { var x : int; var y : int; } [@Cpp(::vl::presentation::Rect)] struct Rect { var x1 : int; var y1 : int; var x2 : int; var y2 : int; } [@Cpp(::vl::presentation::FontProperties)] struct FontProperties { var fontFamily : string; var size : int; var bold : bool; var italic : bool; var underline : bool; var strikeline : bool; var antialias : bool; var verticalAntialias : bool; } struct FontConfig { var defaultFont : FontProperties; var supportedFonts : string[]; } message ControllerGetFontConfig { response: FontConfig; } struct ScreenConfig { var bounds : NativeRect; var clientBounds : NativeRect; var scalingX : double; var scalingY : double; } message ControllerGetScreenConfig { response: ScreenConfig; } message ControllerConnectionEstablished {} message ControllerConnectionStopped {} enum CharacterEncoding { UTF8, UTF16, UTF32, } struct ControllerGlobalConfig { var documentCaretFromEncoding : CharacterEncoding; } event ControllerConnect { request: ControllerGlobalConfig; } event ControllerDisconnect {} event ControllerRequestExit {} event ControllerForceExit {} [@DropRepeat] event ControllerScreenUpdated { request: ScreenConfig; }