Files
GacUI/Import/Metadata/RemoteProtocol/Protocol_Renderer.txt
T
2026-03-21 02:29:06 -07:00

95 lines
2.1 KiB
Plaintext

enum RendererType
{
FocusRectangle,
Raw,
SolidBorder,
SinkBorder,
SinkSplitter,
SolidBackground,
GradientBackground,
InnerShadow,
SolidLabel,
Polygon,
ImageFrame,
DocumentParagraph,
}
struct RendererCreation
{
var id : int;
var type : RendererType;
}
message RendererCreated { request: RendererCreation[]; }
message RendererDestroyed { request: int[]; }
union OrdinaryElementDescVariant
{
ElementDesc_SolidBorder,
ElementDesc_SinkBorder,
ElementDesc_SinkSplitter,
ElementDesc_SolidBackground,
ElementDesc_GradientBackground,
ElementDesc_InnerShadow,
ElementDesc_Polygon,
ElementDesc_SolidLabel,
ElementDesc_ImageFrame,
}
struct ElementBeginRendering
{
var frameId : int;
var updatedElements : OrdinaryElementDescVariant[];
}
struct ElementRendering
{
var id : int;
var bounds : Rect;
var areaClippedByParent : Rect;
}
struct ElementBoundary
{
var id : int;
var hitTestResult : WindowHitTestResult?;
var cursor: WindowSystemCursorType?;
var bounds : Rect;
var areaClippedBySelf : Rect;
}
struct ElementMeasuring_FontHeight
{
var fontFamily : string;
var fontSize : int;
var height : int;
}
struct ElementMeasuring_ElementMinSize
{
var id : int;
var minSize : Size;
}
struct ElementMeasuring_InlineObjectBounds
{
var elementId : int;
var callbackId : int;
var bounds : Rect;
}
struct ElementMeasurings
{
var fontHeights : ElementMeasuring_FontHeight[];
var minSizes : ElementMeasuring_ElementMinSize[];
var createdImages : ImageMetadata[];
var inlineObjectBounds : ElementMeasuring_InlineObjectBounds[];
}
message RendererBeginRendering { request: ElementBeginRendering; }
message RendererBeginBoundary { request: ElementBoundary; }
message RendererRenderElement { request: ElementRendering; }
message RendererEndBoundary {}
message RendererEndRendering { response: ElementMeasurings; }
message RendererIdle {}