Update release

This commit is contained in:
vczh
2024-02-16 13:55:45 -08:00
parent 955d77ba4a
commit ab3c2fc24f
13 changed files with 4762 additions and 1149 deletions
+134 -122
View File
@@ -4198,86 +4198,102 @@ namespace vl
using namespace collections;
/***********************************************************************
IMPLEMENT_BRUSH_ELEMENT_RENDERER
GuiDirect2DElementRendererBase
***********************************************************************/
#define IMPLEMENT_BRUSH_ELEMENT_RENDERER(TRENDERER)\
void TRENDERER::InitializeInternal()\
{\
}\
void TRENDERER::FinalizeInternal()\
{\
DestroyBrush(renderTarget);\
}\
void TRENDERER::RenderTargetChangedInternal(IWindowsDirect2DRenderTarget* oldRenderTarget, IWindowsDirect2DRenderTarget* newRenderTarget)\
{\
DestroyBrush(oldRenderTarget);\
CreateBrush(newRenderTarget);\
}\
TRENDERER::TRENDERER()\
{\
}\
void TRENDERER::Render(Rect bounds)\
template<typename TElement, typename TRenderer>
void GuiDirect2DElementRendererBase<TElement, TRenderer>::InitializeInternal()
{
}
#define IMPLEMENT_BRUSH_ELEMENT_RENDERER_SOLID_COLOR_BRUSH(TRENDERER)\
void TRENDERER::CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget)\
{\
if(_renderTarget)\
{\
oldColor=element->GetColor();\
brush=_renderTarget->CreateDirect2DBrush(oldColor);\
}\
}\
void TRENDERER::DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget)\
{\
if(_renderTarget && brush)\
{\
_renderTarget->DestroyDirect2DBrush(oldColor);\
brush=0;\
}\
}\
void TRENDERER::OnElementStateChanged()\
{\
if(renderTarget)\
{\
Color color=element->GetColor();\
if(oldColor!=color)\
{\
DestroyBrush(renderTarget);\
CreateBrush(renderTarget);\
}\
}\
}\
template<typename TElement, typename TRenderer>
void GuiDirect2DElementRendererBase<TElement, TRenderer>::FinalizeInternal()
{
static_cast<TRenderer*>(this)->DestroyBrush(this->renderTarget);
}
#define IMPLEMENT_BRUSH_ELEMENT_RENDERER_LINEAR_GRADIENT_BRUSH(TRENDERER)\
void TRENDERER::CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget)\
{\
if(_renderTarget)\
{\
oldColor=Pair<Color, Color>(element->GetColor1(), element->GetColor2());\
brush=_renderTarget->CreateDirect2DLinearBrush(oldColor.key, oldColor.value);\
}\
}\
void TRENDERER::DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget)\
{\
if(_renderTarget && brush)\
{\
_renderTarget->DestroyDirect2DLinearBrush(oldColor.key, oldColor.value);\
brush=0;\
}\
}\
void TRENDERER::OnElementStateChanged()\
{\
if(renderTarget)\
{\
Pair<Color, Color> color=Pair<Color, Color>(element->GetColor1(), element->GetColor2());\
if(oldColor!=color)\
{\
DestroyBrush(renderTarget);\
CreateBrush(renderTarget);\
}\
}\
}\
template<typename TElement, typename TRenderer>
void GuiDirect2DElementRendererBase<TElement, TRenderer>::RenderTargetChangedInternal(IWindowsDirect2DRenderTarget* oldRenderTarget, IWindowsDirect2DRenderTarget* newRenderTarget)
{
static_cast<TRenderer*>(this)->DestroyBrush(oldRenderTarget);
static_cast<TRenderer*>(this)->CreateBrush(newRenderTarget);
}
/***********************************************************************
GuiSolidBrushElementRendererBase
***********************************************************************/
template<typename TElement, typename TRenderer, typename TBrush>
void GuiSolidBrushElementRendererBase<TElement, TRenderer, TBrush>::CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget)
{
if (_renderTarget)
{
oldColor = this->element->GetColor();
brush = _renderTarget->CreateDirect2DBrush(oldColor);
}
}
template<typename TElement, typename TRenderer, typename TBrush>
void GuiSolidBrushElementRendererBase<TElement, TRenderer, TBrush>::DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget)
{
if (_renderTarget && brush)
{
_renderTarget->DestroyDirect2DBrush(oldColor);
brush = 0;
}
}
template<typename TElement, typename TRenderer, typename TBrush>
void GuiSolidBrushElementRendererBase<TElement, TRenderer, TBrush>::OnElementStateChanged()
{
if (this->renderTarget)
{
Color color = this->element->GetColor();
if (oldColor != color)
{
DestroyBrush(this->renderTarget);
CreateBrush(this->renderTarget);
}
}
}
/***********************************************************************
GuiGradientBrushElementRendererBase
***********************************************************************/
template<typename TElement, typename TRenderer, typename TBrush>
void GuiGradientBrushElementRendererBase<TElement, TRenderer, TBrush>::CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget)
{
if (_renderTarget)
{
oldColor = Pair<Color, Color>(this->element->GetColor1(), this->element->GetColor2());
brush = _renderTarget->CreateDirect2DLinearBrush(oldColor.key, oldColor.value);
}
}
template<typename TElement, typename TRenderer, typename TBrush>
void GuiGradientBrushElementRendererBase<TElement, TRenderer, TBrush>::DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget)
{
if (_renderTarget && brush)
{
_renderTarget->DestroyDirect2DLinearBrush(oldColor.key, oldColor.value);
brush = 0;
}
}
template<typename TElement, typename TRenderer, typename TBrush>
void GuiGradientBrushElementRendererBase<TElement, TRenderer, TBrush>::OnElementStateChanged()
{
if (this->renderTarget)
{
auto color = Pair(this->element->GetColor1(), this->element->GetColor2());
if (oldColor != color)
{
DestroyBrush(this->renderTarget);
CreateBrush(this->renderTarget);
}
}
}
/***********************************************************************
GuiSolidBorderElementRenderer
@@ -4339,8 +4355,11 @@ GuiSolidBorderElementRenderer
GuiSolidBorderElementRenderer
***********************************************************************/
IMPLEMENT_BRUSH_ELEMENT_RENDERER_SOLID_COLOR_BRUSH(GuiSolidBorderElementRenderer)
IMPLEMENT_BRUSH_ELEMENT_RENDERER(GuiSolidBorderElementRenderer)
GuiSolidBorderElementRenderer::GuiSolidBorderElementRenderer()
{
}
void GuiSolidBorderElementRenderer::Render(Rect bounds)
{
ID2D1RenderTarget* d2dRenderTarget = renderTarget->GetDirect2DRenderTarget();
auto shape = element->GetShape();
@@ -4546,9 +4565,12 @@ Gui3DSplitterElementRenderer
/***********************************************************************
GuiSolidBackgroundElementRenderer
***********************************************************************/
IMPLEMENT_BRUSH_ELEMENT_RENDERER_SOLID_COLOR_BRUSH(GuiSolidBackgroundElementRenderer)
IMPLEMENT_BRUSH_ELEMENT_RENDERER(GuiSolidBackgroundElementRenderer)
GuiSolidBackgroundElementRenderer::GuiSolidBackgroundElementRenderer()
{
}
void GuiSolidBackgroundElementRenderer::Render(Rect bounds)
{
ID2D1RenderTarget* d2dRenderTarget=renderTarget->GetDirect2DRenderTarget();
auto shape = element->GetShape();
@@ -4584,8 +4606,11 @@ GuiSolidBackgroundElementRenderer
GuiGradientBackgroundElementRenderer
***********************************************************************/
IMPLEMENT_BRUSH_ELEMENT_RENDERER_LINEAR_GRADIENT_BRUSH(GuiGradientBackgroundElementRenderer)
IMPLEMENT_BRUSH_ELEMENT_RENDERER(GuiGradientBackgroundElementRenderer)
GuiGradientBackgroundElementRenderer::GuiGradientBackgroundElementRenderer()
{
}
void GuiGradientBackgroundElementRenderer::Render(Rect bounds)
{
D2D1_POINT_2F points[2];
switch(element->GetDirection())
@@ -5497,6 +5522,7 @@ GuiColorizedTextElementRenderer
void GuiColorizedTextElementRenderer::FinalizeInternal()
{
element->SetCallback(nullptr);
DestroyTextBrush(renderTarget);
DestroyCaretBrush(renderTarget);
@@ -5678,14 +5704,14 @@ GuiDirect2DElementRenderer
{
IDWriteFactory* fdw=GetWindowsDirect2DObjectProvider()->GetDirectWriteFactory();
ID2D1Factory* fd2d=GetWindowsDirect2DObjectProvider()->GetDirect2DFactory();
renderTarget->PushClipper(bounds);
renderTarget->PushClipper(bounds, element);
if(!renderTarget->IsClipperCoverWholeTarget())
{
ID2D1RenderTarget* rt=renderTarget->GetDirect2DRenderTarget();
GuiDirect2DElementEventArgs arguments(element, rt, fdw, fd2d, bounds);
element->Rendering.Execute(arguments);
}
renderTarget->PopClipper();
renderTarget->PopClipper(element);
}
}
@@ -5731,10 +5757,10 @@ GuiDirect2DElement
CachedResourceAllocator
***********************************************************************/
class CachedSolidBrushAllocator
{
DEFINE_CACHED_RESOURCE_ALLOCATOR(Color, ComPtr<ID2D1SolidColorBrush>)
typedef Pair<Color, Color> ColorPair;
class CachedSolidBrushAllocator : public GuiCachedResourceAllocatorBase<CachedSolidBrushAllocator, Color, ComPtr<ID2D1SolidColorBrush>>
{
IWindowsDirect2DRenderTarget* guiRenderTarget = nullptr;
public:
CachedSolidBrushAllocator()
@@ -5756,11 +5782,8 @@ CachedResourceAllocator
}
};
class CachedLinearBrushAllocator
class CachedLinearBrushAllocator : public GuiCachedResourceAllocatorBase<CachedLinearBrushAllocator, ColorPair, ComPtr<ID2D1LinearGradientBrush>>
{
typedef Pair<Color, Color> ColorPair;
DEFINE_CACHED_RESOURCE_ALLOCATOR(ColorPair, ComPtr<ID2D1LinearGradientBrush>)
IWindowsDirect2DRenderTarget* guiRenderTarget = nullptr;
public:
CachedLinearBrushAllocator()
@@ -5806,11 +5829,8 @@ CachedResourceAllocator
}
};
class CachedRadialBrushAllocator
class CachedRadialBrushAllocator : public GuiCachedResourceAllocatorBase<CachedRadialBrushAllocator, ColorPair, ComPtr<ID2D1RadialGradientBrush>>
{
typedef Pair<Color, Color> ColorPair;
DEFINE_CACHED_RESOURCE_ALLOCATOR(ColorPair, ComPtr<ID2D1RadialGradientBrush>)
IWindowsDirect2DRenderTarget* guiRenderTarget = nullptr;
public:
CachedRadialBrushAllocator()
@@ -5856,10 +5876,8 @@ CachedResourceAllocator
}
};
class CachedTextFormatAllocator
class CachedTextFormatAllocator : public GuiCachedResourceAllocatorBase<CachedTextFormatAllocator, FontProperties, Ptr<Direct2DTextFormatPackage>>
{
private:
DEFINE_CACHED_RESOURCE_ALLOCATOR(FontProperties, Ptr<Direct2DTextFormatPackage>)
public:
static ComPtr<IDWriteTextFormat> CreateDirect2DFont(const FontProperties& fontProperties)
@@ -5895,10 +5913,8 @@ CachedResourceAllocator
}
};
class CachedCharMeasurerAllocator
class CachedCharMeasurerAllocator : public GuiCachedResourceAllocatorBase<CachedCharMeasurerAllocator, FontProperties, Ptr<text::CharMeasurer>>
{
DEFINE_CACHED_RESOURCE_ALLOCATOR(FontProperties, Ptr<text::CharMeasurer>)
protected:
class Direct2DCharMeasurer : public text::CharMeasurer
{
@@ -6116,7 +6132,7 @@ WindowsDirect2DRenderTarget
return window->Convert(window->GetClientSize());
}
void AfterPushedClipper(Rect clipper, Rect validArea) override
void AfterPushedClipper(Rect clipper, Rect validArea, reflection::DescriptableObject* generator) override
{
d2dRenderTarget->PushAxisAlignedClip(
D2D1::RectF((FLOAT)validArea.x1, (FLOAT)validArea.y1, (FLOAT)validArea.x2, (FLOAT)validArea.y2),
@@ -6124,15 +6140,15 @@ WindowsDirect2DRenderTarget
);
}
void AfterPushedClipperAndBecameInvalid(Rect clipper) override
void AfterPushedClipperAndBecameInvalid(Rect clipper, reflection::DescriptableObject* generator) override
{
}
void AfterPoppedClipperAndBecameValid(Rect validArea, bool clipperExists) override
void AfterPoppedClipperAndBecameValid(Rect validArea, bool clipperExists, reflection::DescriptableObject* generator) override
{
}
void AfterPoppedClipper(Rect validArea, bool clipperExists) override
void AfterPoppedClipper(Rect validArea, bool clipperExists, reflection::DescriptableObject* generator) override
{
d2dRenderTarget->PopAxisAlignedClip();
}
@@ -9885,13 +9901,14 @@ GuiColorizedTextElementRenderer
void GuiColorizedTextElementRenderer::InitializeInternal()
{
auto resourceManager=GetWindowsGDIResourceManager();
element->SetCallback(this);
oldCaretColor=element->GetCaretColor();
caretPen=resourceManager->CreateGdiPen(oldCaretColor);
element->SetCallback(this);
}
void GuiColorizedTextElementRenderer::FinalizeInternal()
{
element->SetCallback(nullptr);
auto resourceManager=GetWindowsGDIResourceManager();
if(font)
{
@@ -10048,14 +10065,14 @@ GuiGDIElementRenderer
{
if(renderTarget)
{
renderTarget->PushClipper(bounds);
renderTarget->PushClipper(bounds, element);
if(!renderTarget->IsClipperCoverWholeTarget())
{
WinDC* dc=renderTarget->GetDC();
GuiGDIElementEventArgs arguments(element, dc, bounds);
element->Rendering.Execute(arguments);
}
renderTarget->PopClipper();
renderTarget->PopClipper(element);
}
}
@@ -12623,21 +12640,21 @@ WindowsGDIRenderTarget
return window->Convert(window->GetClientSize());
}
void AfterPushedClipper(Rect clipper, Rect validArea) override
void AfterPushedClipper(Rect clipper, Rect validArea, reflection::DescriptableObject* generator) override
{
ApplyClipper(validArea, true);
}
void AfterPushedClipperAndBecameInvalid(Rect clipper) override
void AfterPushedClipperAndBecameInvalid(Rect clipper, reflection::DescriptableObject* generator) override
{
}
void AfterPoppedClipperAndBecameValid(Rect validArea, bool clipperExists) override
void AfterPoppedClipperAndBecameValid(Rect validArea, bool clipperExists, reflection::DescriptableObject* generator) override
{
ApplyClipper(validArea, clipperExists);
}
void AfterPoppedClipper(Rect validArea, bool clipperExists) override
void AfterPoppedClipper(Rect validArea, bool clipperExists, reflection::DescriptableObject* generator) override
{
ApplyClipper(validArea, clipperExists);
}
@@ -12657,9 +12674,8 @@ WindowsGDIRenderTarget
CachedResourceAllocator
***********************************************************************/
class CachedPenAllocator
class CachedPenAllocator : public GuiCachedResourceAllocatorBase<CachedPenAllocator, Color, Ptr<WinPen>>
{
DEFINE_CACHED_RESOURCE_ALLOCATOR(Color, Ptr<WinPen>)
public:
Ptr<WinPen> CreateInternal(Color color)
{
@@ -12667,9 +12683,8 @@ CachedResourceAllocator
}
};
class CachedBrushAllocator
class CachedBrushAllocator : public GuiCachedResourceAllocatorBase<CachedBrushAllocator, Color, Ptr<WinBrush>>
{
DEFINE_CACHED_RESOURCE_ALLOCATOR(Color, Ptr<WinBrush>)
public:
Ptr<WinBrush> CreateInternal(Color color)
{
@@ -12677,9 +12692,8 @@ CachedResourceAllocator
}
};
class CachedFontAllocator
class CachedFontAllocator : public GuiCachedResourceAllocatorBase<CachedFontAllocator, FontProperties, Ptr<WinFont>>
{
DEFINE_CACHED_RESOURCE_ALLOCATOR(FontProperties, Ptr<WinFont>)
public:
static Ptr<WinFont> CreateGdiFont(const FontProperties& value)
{
@@ -12693,10 +12707,8 @@ CachedResourceAllocator
}
};
class CachedCharMeasurerAllocator
class CachedCharMeasurerAllocator : public GuiCachedResourceAllocatorBase<CachedCharMeasurerAllocator, FontProperties, Ptr<text::CharMeasurer>>
{
DEFINE_CACHED_RESOURCE_ALLOCATOR(FontProperties, Ptr<text::CharMeasurer>)
protected:
class GdiCharMeasurer : public text::CharMeasurer
{
+106 -66
View File
@@ -144,7 +144,8 @@ Raw API Rendering Element
/// </summary>
class GuiDirect2DElement : public GuiElementBase<GuiDirect2DElement>
{
DEFINE_GUI_GRAPHICS_ELEMENT(GuiDirect2DElement, L"Direct2DElement")
friend class GuiElementBase<GuiDirect2DElement>;
static constexpr const wchar_t* ElementTypeName = L"Direct2DElement";
protected:
GuiDirect2DElement();
public:
@@ -255,28 +256,53 @@ namespace vl
{
using namespace elements;
#define DEFINE_BRUSH_ELEMENT_RENDERER(TELEMENT, TRENDERER, TBRUSH, TBRUSHPROPERTY)\
DEFINE_GUI_GRAPHICS_RENDERER(TELEMENT, TRENDERER, IWindowsDirect2DRenderTarget)\
protected:\
TBRUSHPROPERTY oldColor;\
TBRUSH* brush = nullptr;\
void CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget);\
void DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget);\
void InitializeInternal();\
void FinalizeInternal();\
void RenderTargetChangedInternal(IWindowsDirect2DRenderTarget* oldRenderTarget, IWindowsDirect2DRenderTarget* newRenderTarget);\
public:\
TRENDERER();\
void Render(Rect bounds)override;\
void OnElementStateChanged()override;\
typedef collections::Pair<Color, Color> ColorPair;
template<typename TElement, typename TRenderer>
class GuiDirect2DElementRendererBase : public GuiElementRendererBase<TElement, TRenderer, IWindowsDirect2DRenderTarget>
{
protected:
void InitializeInternal();
void FinalizeInternal();
void RenderTargetChangedInternal(IWindowsDirect2DRenderTarget* oldRenderTarget, IWindowsDirect2DRenderTarget* newRenderTarget);
public:
};
template<typename TElement, typename TRenderer, typename TBrush>
class GuiSolidBrushElementRendererBase : public GuiDirect2DElementRendererBase<TElement, TRenderer>
{
protected:
Color oldColor;
TBrush* brush = nullptr;
void CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget);
void DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget);
public:
void OnElementStateChanged()override;
};
template<typename TElement, typename TRenderer, typename TBrush>
class GuiGradientBrushElementRendererBase : public GuiDirect2DElementRendererBase<TElement, TRenderer>
{
protected:
ColorPair oldColor;
TBrush* brush = nullptr;
void CreateBrush(IWindowsDirect2DRenderTarget* _renderTarget);
void DestroyBrush(IWindowsDirect2DRenderTarget* _renderTarget);
public:
void OnElementStateChanged()override;
};
/***********************************************************************
Renderers
***********************************************************************/
class GuiFocusRectangleElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiFocusRectangleElementRenderer : public GuiElementRendererBase<GuiFocusRectangleElement, GuiFocusRectangleElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiFocusRectangleElement, GuiFocusRectangleElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiFocusRectangleElement, GuiFocusRectangleElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
ID2D1Effect* focusRectangleEffect = nullptr;
@@ -289,14 +315,19 @@ Renderers
void OnElementStateChanged()override;
};
class GuiSolidBorderElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiSolidBorderElementRenderer : public GuiSolidBrushElementRendererBase<GuiSolidBorderElement, GuiSolidBorderElementRenderer, ID2D1SolidColorBrush>
{
DEFINE_BRUSH_ELEMENT_RENDERER(GuiSolidBorderElement, GuiSolidBorderElementRenderer, ID2D1SolidColorBrush, Color)
friend class GuiElementRendererBase<GuiSolidBorderElement, GuiSolidBorderElementRenderer, IWindowsDirect2DRenderTarget>;
friend class GuiDirect2DElementRendererBase<GuiSolidBorderElement, GuiSolidBorderElementRenderer>;
public:
GuiSolidBorderElementRenderer();
void Render(Rect bounds)override;
};
class Gui3DBorderElementRenderer : public Object, public IGuiGraphicsRenderer
class Gui3DBorderElementRenderer : public GuiElementRendererBase<Gui3DBorderElement, Gui3DBorderElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(Gui3DBorderElement, Gui3DBorderElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<Gui3DBorderElement, Gui3DBorderElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
Color oldColor1;
Color oldColor2;
@@ -315,9 +346,9 @@ Renderers
void OnElementStateChanged()override;
};
class Gui3DSplitterElementRenderer : public Object, public IGuiGraphicsRenderer
class Gui3DSplitterElementRenderer : public GuiElementRendererBase<Gui3DSplitterElement, Gui3DSplitterElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(Gui3DSplitterElement, Gui3DSplitterElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<Gui3DSplitterElement, Gui3DSplitterElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
Color oldColor1;
Color oldColor2;
@@ -336,21 +367,29 @@ Renderers
void OnElementStateChanged()override;
};
class GuiSolidBackgroundElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiSolidBackgroundElementRenderer : public GuiSolidBrushElementRendererBase<GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer, ID2D1SolidColorBrush>
{
DEFINE_BRUSH_ELEMENT_RENDERER(GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer, ID2D1SolidColorBrush, Color)
friend class GuiElementRendererBase<GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer, IWindowsDirect2DRenderTarget>;
friend class GuiDirect2DElementRendererBase<GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer>;
public:
GuiSolidBackgroundElementRenderer();
void Render(Rect bounds)override;
};
class GuiGradientBackgroundElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiGradientBackgroundElementRenderer : public GuiGradientBrushElementRendererBase<GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer, ID2D1LinearGradientBrush>
{
typedef collections::Pair<Color, Color> ColorPair;
DEFINE_BRUSH_ELEMENT_RENDERER(GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer, ID2D1LinearGradientBrush, ColorPair)
friend class GuiElementRendererBase<GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer, IWindowsDirect2DRenderTarget>;
friend class GuiDirect2DElementRendererBase<GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer>;
public:
GuiGradientBackgroundElementRenderer();
void Render(Rect bounds)override;
};
class GuiInnerShadowElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiInnerShadowElementRenderer : public GuiElementRendererBase<GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsDirect2DRenderTarget>
{
typedef collections::Pair<Color, Color> ColorPair;
DEFINE_GUI_GRAPHICS_RENDERER(GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
Color oldColor;
Color transparentColor;
@@ -369,9 +408,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiSolidLabelElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiSolidLabelElementRenderer : public GuiElementRendererBase<GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
Color oldColor;
FontProperties oldFont;
@@ -399,9 +438,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiImageFrameElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiImageFrameElementRenderer : public GuiElementRendererBase<GuiImageFrameElement, GuiImageFrameElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiImageFrameElement, GuiImageFrameElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiImageFrameElement, GuiImageFrameElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
ComPtr<ID2D1Bitmap> bitmap;
@@ -417,9 +456,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiPolygonElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiPolygonElementRenderer : public GuiElementRendererBase<GuiPolygonElement, GuiPolygonElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiPolygonElement, GuiPolygonElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiPolygonElement, GuiPolygonElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
Color oldBorderColor;
Color oldBackgroundColor;
@@ -442,9 +481,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiColorizedTextElementRenderer : public Object, public IGuiGraphicsRenderer, protected GuiColorizedTextElement::ICallback
class GuiColorizedTextElementRenderer : public GuiElementRendererBase<GuiColorizedTextElement, GuiColorizedTextElementRenderer, IWindowsDirect2DRenderTarget>, protected GuiColorizedTextElement::ICallback
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiColorizedTextElement, GuiColorizedTextElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiColorizedTextElement, GuiColorizedTextElementRenderer, IWindowsDirect2DRenderTarget>;
public:
struct ColorItemResource
@@ -490,9 +529,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiDirect2DElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiDirect2DElementRenderer : public GuiElementRendererBase<GuiDirect2DElement, GuiDirect2DElementRenderer, IWindowsDirect2DRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiDirect2DElement, GuiDirect2DElementRenderer, IWindowsDirect2DRenderTarget)
friend class GuiElementRendererBase<GuiDirect2DElement, GuiDirect2DElementRenderer, IWindowsDirect2DRenderTarget>;
protected:
@@ -1410,7 +1449,8 @@ Raw API Rendering Element
/// </summary>
class GuiGDIElement : public GuiElementBase<GuiGDIElement>
{
DEFINE_GUI_GRAPHICS_ELEMENT(GuiGDIElement, L"GDIElement")
friend class GuiElementBase<GuiGDIElement>;
static constexpr const wchar_t* ElementTypeName = L"GDIElement";
protected:
GuiGDIElement();
public:
@@ -1503,9 +1543,9 @@ namespace vl
Renderers
***********************************************************************/
class GuiFocusRectangleElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiFocusRectangleElementRenderer : public GuiElementRendererBase<GuiFocusRectangleElement, GuiFocusRectangleElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiFocusRectangleElement, GuiFocusRectangleElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiFocusRectangleElement, GuiFocusRectangleElementRenderer, IWindowsGDIRenderTarget>;
protected:
Ptr<windows::WinPen> pen;
Ptr<windows::WinBrush> brush;
@@ -1518,9 +1558,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiSolidBorderElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiSolidBorderElementRenderer : public GuiElementRendererBase<GuiSolidBorderElement, GuiSolidBorderElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiSolidBorderElement, GuiSolidBorderElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiSolidBorderElement, GuiSolidBorderElementRenderer, IWindowsGDIRenderTarget>;
protected:
Color oldColor;
Ptr<windows::WinPen> pen;
@@ -1534,9 +1574,9 @@ Renderers
void OnElementStateChanged()override;
};
class Gui3DBorderElementRenderer : public Object, public IGuiGraphicsRenderer
class Gui3DBorderElementRenderer : public GuiElementRendererBase<Gui3DBorderElement, Gui3DBorderElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(Gui3DBorderElement, Gui3DBorderElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<Gui3DBorderElement, Gui3DBorderElementRenderer, IWindowsGDIRenderTarget>;
protected:
Color oldColor1;
Color oldColor2;
@@ -1551,9 +1591,9 @@ Renderers
void OnElementStateChanged()override;
};
class Gui3DSplitterElementRenderer : public Object, public IGuiGraphicsRenderer
class Gui3DSplitterElementRenderer : public GuiElementRendererBase<Gui3DSplitterElement, Gui3DSplitterElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(Gui3DSplitterElement, Gui3DSplitterElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<Gui3DSplitterElement, Gui3DSplitterElementRenderer, IWindowsGDIRenderTarget>;
protected:
Color oldColor1;
Color oldColor2;
@@ -1568,9 +1608,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiSolidBackgroundElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiSolidBackgroundElementRenderer : public GuiElementRendererBase<GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiSolidBackgroundElement, GuiSolidBackgroundElementRenderer, IWindowsGDIRenderTarget>;
protected:
Color oldColor;
Ptr<windows::WinPen> pen;
@@ -1584,9 +1624,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiGradientBackgroundElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiGradientBackgroundElementRenderer : public GuiElementRendererBase<GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiGradientBackgroundElement, GuiGradientBackgroundElementRenderer, IWindowsGDIRenderTarget>;
protected:
void InitializeInternal();
void FinalizeInternal();
@@ -1596,9 +1636,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiInnerShadowElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiInnerShadowElementRenderer : public GuiElementRendererBase<GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiInnerShadowElement, GuiInnerShadowElementRenderer, IWindowsGDIRenderTarget>;
protected:
void InitializeInternal();
void FinalizeInternal();
@@ -1610,9 +1650,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiSolidLabelElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiSolidLabelElementRenderer : public GuiElementRendererBase<GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiSolidLabelElement, GuiSolidLabelElementRenderer, IWindowsGDIRenderTarget>;
protected:
FontProperties oldFont;
Ptr<windows::WinFont> font;
@@ -1630,9 +1670,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiImageFrameElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiImageFrameElementRenderer : public GuiElementRendererBase<GuiImageFrameElement, GuiImageFrameElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiImageFrameElement, GuiImageFrameElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiImageFrameElement, GuiImageFrameElementRenderer, IWindowsGDIRenderTarget>;
protected:
Ptr<windows::WinBitmap> bitmap;
@@ -1648,9 +1688,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiPolygonElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiPolygonElementRenderer : public GuiElementRendererBase<GuiPolygonElement, GuiPolygonElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiPolygonElement, GuiPolygonElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiPolygonElement, GuiPolygonElementRenderer, IWindowsGDIRenderTarget>;
protected:
POINT* points;
vint pointCount;
@@ -1670,9 +1710,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiColorizedTextElementRenderer : public Object, public IGuiGraphicsRenderer, protected GuiColorizedTextElement::ICallback
class GuiColorizedTextElementRenderer : public GuiElementRendererBase<GuiColorizedTextElement, GuiColorizedTextElementRenderer, IWindowsGDIRenderTarget>, protected GuiColorizedTextElement::ICallback
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiColorizedTextElement, GuiColorizedTextElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiColorizedTextElement, GuiColorizedTextElementRenderer, IWindowsGDIRenderTarget>;
public:
struct ColorItemResource
@@ -1712,9 +1752,9 @@ Renderers
void OnElementStateChanged()override;
};
class GuiGDIElementRenderer : public Object, public IGuiGraphicsRenderer
class GuiGDIElementRenderer : public GuiElementRendererBase<GuiGDIElement, GuiGDIElementRenderer, IWindowsGDIRenderTarget>
{
DEFINE_GUI_GRAPHICS_RENDERER(GuiGDIElement, GuiGDIElementRenderer, IWindowsGDIRenderTarget)
friend class GuiElementRendererBase<GuiGDIElement, GuiGDIElementRenderer, IWindowsGDIRenderTarget>;
protected:
+1726 -123
View File
File diff suppressed because it is too large Load Diff
+1883 -631
View File
File diff suppressed because it is too large Load Diff
+304 -136
View File
File diff suppressed because it is too large Load Diff
+64 -40
View File
@@ -1082,6 +1082,7 @@ namespace vl::presentation::remoteprotocol
class GuiRpMessageDecl;
class GuiRpMessageRequest;
class GuiRpMessageResponse;
class GuiRpOptionalType;
class GuiRpPrimitiveType;
class GuiRpReferenceType;
class GuiRpSchema;
@@ -1099,6 +1100,7 @@ namespace vl::presentation::remoteprotocol
String = 4,
Char = 5,
Key = 6,
Color = 7,
};
class GuiRpType abstract : public vl::glr::ParsingAstBase, vl::reflection::Description<GuiRpType>
@@ -1109,6 +1111,7 @@ namespace vl::presentation::remoteprotocol
public:
virtual void Visit(GuiRpPrimitiveType* node) = 0;
virtual void Visit(GuiRpReferenceType* node) = 0;
virtual void Visit(GuiRpOptionalType* node) = 0;
virtual void Visit(GuiRpArrayType* node) = 0;
};
@@ -1132,6 +1135,14 @@ namespace vl::presentation::remoteprotocol
void Accept(GuiRpType::IVisitor* visitor) override;
};
class GuiRpOptionalType : public GuiRpType, vl::reflection::Description<GuiRpOptionalType>
{
public:
vl::Ptr<GuiRpType> element;
void Accept(GuiRpType::IVisitor* visitor) override;
};
class GuiRpArrayType : public GuiRpType, vl::reflection::Description<GuiRpArrayType>
{
public:
@@ -1243,6 +1254,7 @@ namespace vl::reflection::description
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpPrimitiveTypes)
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpPrimitiveType)
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpReferenceType)
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpOptionalType)
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpArrayType)
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpAttribute)
DECL_TYPE_INFO(vl::presentation::remoteprotocol::GuiRpDeclaration)
@@ -1271,6 +1283,11 @@ namespace vl::reflection::description
INVOKE_INTERFACE_PROXY(Visit, node);
}
void Visit(vl::presentation::remoteprotocol::GuiRpOptionalType* node) override
{
INVOKE_INTERFACE_PROXY(Visit, node);
}
void Visit(vl::presentation::remoteprotocol::GuiRpArrayType* node) override
{
INVOKE_INTERFACE_PROXY(Visit, node);
@@ -1341,6 +1358,7 @@ namespace vl::presentation::remoteprotocol::json_visitor
virtual void PrintFields(GuiRpMessageDecl* node);
virtual void PrintFields(GuiRpMessageRequest* node);
virtual void PrintFields(GuiRpMessageResponse* node);
virtual void PrintFields(GuiRpOptionalType* node);
virtual void PrintFields(GuiRpPrimitiveType* node);
virtual void PrintFields(GuiRpReferenceType* node);
virtual void PrintFields(GuiRpSchema* node);
@@ -1351,6 +1369,7 @@ namespace vl::presentation::remoteprotocol::json_visitor
protected:
void Visit(GuiRpPrimitiveType* node) override;
void Visit(GuiRpReferenceType* node) override;
void Visit(GuiRpOptionalType* node) override;
void Visit(GuiRpArrayType* node) override;
void Visit(GuiRpEnumDecl* node) override;
@@ -1401,12 +1420,13 @@ namespace vl::presentation::remoteprotocol
MessageDecl = 7,
MessageRequest = 8,
MessageResponse = 9,
PrimitiveType = 10,
ReferenceType = 11,
Schema = 12,
StructDecl = 13,
StructMember = 14,
Type = 15,
OptionalType = 10,
PrimitiveType = 11,
ReferenceType = 12,
Schema = 13,
StructDecl = 14,
StructMember = 15,
Type = 16,
};
enum class GuiRemoteProtocolFields : vl::vint32_t
@@ -1424,12 +1444,13 @@ namespace vl::presentation::remoteprotocol
MessageDecl_response = 10,
MessageRequest_type = 11,
MessageResponse_type = 12,
PrimitiveType_type = 13,
ReferenceType_name = 14,
Schema_declarations = 15,
StructDecl_members = 16,
StructMember_name = 17,
StructMember_type = 18,
OptionalType_element = 13,
PrimitiveType_type = 14,
ReferenceType_name = 15,
Schema_declarations = 16,
StructDecl_members = 17,
StructMember_name = 18,
StructMember_type = 19,
};
extern const wchar_t* GuiRemoteProtocolTypeName(GuiRemoteProtocolClasses type);
@@ -1480,22 +1501,24 @@ namespace vl::presentation::remoteprotocol
STRING = 11,
CHAR = 12,
KEY = 13,
CPP_NAME = 14,
ATT_NAME = 15,
NAME = 16,
OPEN_BRACE = 17,
CLOSE_BRACE = 18,
OPEN_ARRAY = 19,
CLOSE_ARRAY = 20,
OPEN = 21,
CLOSE = 22,
COLON = 23,
SEMICOLON = 24,
COMMA = 25,
SPACE = 26,
COLOR = 14,
CPP_NAME = 15,
ATT_NAME = 16,
NAME = 17,
OPEN_BRACE = 18,
CLOSE_BRACE = 19,
OPEN_ARRAY = 20,
CLOSE_ARRAY = 21,
OPEN = 22,
CLOSE = 23,
COLON = 24,
SEMICOLON = 25,
COMMA = 26,
QUESTION = 27,
SPACE = 28,
};
constexpr vl::vint GuiRemoteProtocolTokenCount = 27;
constexpr vl::vint GuiRemoteProtocolTokenCount = 29;
extern bool GuiRemoteProtocolTokenDeleter(vl::vint token);
extern const wchar_t* GuiRemoteProtocolTokenId(GuiRemoteProtocolTokens token);
extern const wchar_t* GuiRemoteProtocolTokenDisplayText(GuiRemoteProtocolTokens token);
@@ -1522,20 +1545,20 @@ namespace vl::presentation::remoteprotocol
enum class ParserStates
{
RType = 0,
RAttributeParameter = 13,
RAttribute = 16,
REnumMember = 24,
REnum = 28,
RStructMember = 35,
RStruct = 42,
RMessageRequest = 49,
RMessageResponse = 55,
RMessage = 61,
REventRequest = 69,
REvent = 75,
RDeclDetail = 82,
RDecl = 88,
Schema = 92,
RAttributeParameter = 16,
RAttribute = 19,
REnumMember = 27,
REnum = 31,
RStructMember = 38,
RStruct = 45,
RMessageRequest = 52,
RMessageResponse = 58,
RMessage = 64,
REventRequest = 72,
REvent = 78,
RDeclDetail = 85,
RDecl = 91,
Schema = 95,
};
const wchar_t* ParserRuleName(vl::vint index);
@@ -1584,6 +1607,7 @@ namespace vl::presentation
struct GuiRpSymbols
{
collections::Dictionary<WString, WString> cppMapping;
collections::Dictionary<WString, WString> cppNamespaces;
collections::SortedList<WString> dropRepeatDeclNames;
collections::SortedList<WString> dropConsecutiveDeclNames;
collections::Dictionary<WString, remoteprotocol::GuiRpEnumDecl*> enumDecls;
+2 -1
View File
@@ -1316,6 +1316,7 @@ Type Declaration (Class)
CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedControl)
CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedControlHost)
CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedCursor)
CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedHitTestResult)
CLASS_MEMBER_PROPERTY_FAST(InternalMargin)
CLASS_MEMBER_PROPERTY_FAST(PreferredMinSize)
@@ -1327,7 +1328,7 @@ Type Declaration (Class)
CLASS_MEMBER_METHOD(RemoveChild, {L"child"})
CLASS_MEMBER_METHOD(MoveChild, {L"child" _ L"newIndex"})
CLASS_MEMBER_METHOD(Render, {L"size"})
CLASS_MEMBER_METHOD(FindComposition, {L"location" _ L"forMouseEvent"})
CLASS_MEMBER_METHOD(FindVisibleComposition, {L"location" _ L"forMouseEvent"})
CLASS_MEMBER_GUIEVENT(CachedMinSizeChanged)
CLASS_MEMBER_GUIEVENT(CachedBoundsChanged)
+537 -24
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
@@ -21053,7 +21053,7 @@ Class (::demo::ElementTabPageConstructor)
}
(this->__vwsn_precompile_6 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBorderElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>()));
{
::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint32_t>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_6.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFF00")));
@@ -21101,7 +21101,7 @@ Class (::demo::ElementTabPageConstructor)
}
(this->__vwsn_precompile_12 = ::vl::Ptr<::vl::presentation::elements::GuiSolidBackgroundElement>(::vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>()));
{
::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint32_t>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_12.Obj())->SetColor(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFF00")));
@@ -21296,7 +21296,7 @@ Class (::demo::ElementTabPageConstructor)
::vl::__vwsn::This(this->__vwsn_precompile_30.Obj())->SetColor1(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFF00")));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_30.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint32_t>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_30.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_30.Obj())->SetDirection(::vl::presentation::elements::GuiGradientBackgroundElement::Direction::Horizontal);
@@ -21319,7 +21319,7 @@ Class (::demo::ElementTabPageConstructor)
::vl::__vwsn::This(this->__vwsn_precompile_32.Obj())->SetColor1(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFF00")));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_32.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint32_t>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_32.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_32.Obj())->SetDirection(::vl::presentation::elements::GuiGradientBackgroundElement::Direction::Vertical);
@@ -21342,7 +21342,7 @@ Class (::demo::ElementTabPageConstructor)
::vl::__vwsn::This(this->__vwsn_precompile_34.Obj())->SetColor1(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFF00")));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_34.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint32_t>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_34.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_34.Obj())->SetDirection(::vl::presentation::elements::GuiGradientBackgroundElement::Direction::Slash);
@@ -21365,7 +21365,7 @@ Class (::demo::ElementTabPageConstructor)
::vl::__vwsn::This(this->__vwsn_precompile_36.Obj())->SetColor1(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString::Unmanaged(L"#FFFF00")));
}
{
::vl::__vwsn::This(this->__vwsn_precompile_36.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint32_t>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint32_t>(5); return __vwsn_temp__; }());
::vl::__vwsn::This(this->__vwsn_precompile_36.Obj())->SetShape([&](){ ::vl::presentation::elements::ElementShape __vwsn_temp__; __vwsn_temp__.shapeType = ::vl::presentation::elements::ElementShapeType::RoundRect; __vwsn_temp__.radiusX = static_cast<::vl::vint>(10); __vwsn_temp__.radiusY = static_cast<::vl::vint>(5); return __vwsn_temp__; }());
}
{
::vl::__vwsn::This(this->__vwsn_precompile_36.Obj())->SetDirection(::vl::presentation::elements::GuiGradientBackgroundElement::Direction::Backslash);
Binary file not shown.
Binary file not shown.