mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-10 05:27:39 +08:00
95 lines
2.1 KiB
Plaintext
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 {}
|