Update import

This commit is contained in:
vczh
2026-02-24 12:18:42 -08:00
parent bb624af606
commit 2abc44346b
8 changed files with 3006 additions and 1781 deletions
File diff suppressed because it is too large Load Diff
+51 -9
View File
@@ -41,6 +41,7 @@ namespace vl_workflow_global
struct __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
@@ -56,7 +57,8 @@ namespace vl_workflow_global
class __vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
}
namespace __vwsn_enums
@@ -117,6 +119,7 @@ namespace gaclib_controls
public:
virtual ::vl::WString GetName() = 0;
virtual ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() = 0;
::vl::Event<void()> DomChanged;
};
class IUnitTestSnapshotViewerStringsStrings : public virtual ::vl::reflection::IDescriptable, public ::vl::reflection::Description<IUnitTestSnapshotViewerStringsStrings>
@@ -139,7 +142,7 @@ namespace gaclib_controls
class UnitTestSnapshotViewerStrings : public ::vl::Object, public ::vl::reflection::Description<UnitTestSnapshotViewerStrings>
{
friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
friend class ::vl_workflow_global::__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<UnitTestSnapshotViewerStrings>;
#endif
@@ -158,9 +161,11 @@ namespace gaclib_controls
friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
@@ -211,6 +216,7 @@ namespace gaclib_controls
::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_32;
::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes;
::vl::presentation::controls::GuiBindableTextList* textListFrames;
::vl::presentation::controls::GuiLabel* labelLoading;
::vl::presentation::controls::GuiScrollContainer* scRendering;
::vl::presentation::controls::GuiBindableTreeView* treeViewDom;
void __vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_);
@@ -227,9 +233,11 @@ namespace gaclib_controls
friend class ::vl_workflow_global::__vwsnc4_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf11_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf12_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
friend struct ::vl_workflow_global::__vwsnf3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
@@ -306,6 +314,15 @@ Closures
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
};
struct __vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnf13_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
};
struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
@@ -412,12 +429,15 @@ Closures
__vwsnc2_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr;
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr;
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_1 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0;
bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_();
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
void __vwsn_bind_callback_1_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
bool Open() override;
bool Update() override;
bool Close() override;
@@ -430,12 +450,15 @@ Closures
__vwsnc3_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiBindableTreeView* __vwsn_bind_cache_0 = nullptr;
::vl::presentation::controls::GuiBindableTextList* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::gaclib_controls::IUnitTestSnapshotFrame> __vwsn_bind_cache_1;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0;
bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_();
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
void __vwsn_bind_callback_1_0();
bool Open() override;
bool Update() override;
bool Close() override;
@@ -461,11 +484,29 @@ Closures
class __vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiBindableTreeView* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_();
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
bool Open() override;
bool Update() override;
bool Close() override;
};
class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_;
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc5_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsnctor___vwsn_this_, ::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -478,12 +519,12 @@ Closures
bool Close() override;
};
class __vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
{
public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0;
__vwsnc6_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize__vl_reflection_description_IValueSubscription(::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnctorthis_0);
::vl::presentation::controls::GuiApplication* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -496,10 +537,10 @@ Closures
bool Close() override;
};
class __vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings
class __vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings : public ::vl::Object, public virtual ::gaclib_controls::IUnitTestSnapshotViewerStringsStrings
{
public:
__vwsnc7_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings();
__vwsnc8_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerStrings___vwsn_ls_en_US_BuildStrings__gaclib_controls_IUnitTestSnapshotViewerStringsStrings();
::vl::WString WindowTitle() override;
};
@@ -578,6 +619,7 @@ namespace gaclib_controls
vl::presentation::compositions::GuiBoundsComposition* rootComposition = nullptr;
vl::presentation::compositions::GuiBoundsComposition* selectedComposition = nullptr;
vl::presentation::compositions::GuiBoundsComposition* highlightComposition = nullptr;
vl::vint loadingFrameVersion = 0;
void Highlight(vl::presentation::compositions::GuiBoundsComposition*& target, vl::presentation::remoteprotocol::RenderingDom& renderingDom, vl::presentation::Color color);
void textListFrames_SelectionChanged(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
+3 -1
View File
@@ -81,7 +81,8 @@ namespace vl
CLASS_MEMBER_BASE(::vl::reflection::IDescriptable)
CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetName, NO_PARAMETER)
CLASS_MEMBER_PROPERTY_READONLY(Dom, GetDom)
CLASS_MEMBER_EVENT(DomChanged)
CLASS_MEMBER_PROPERTY_EVENT_READONLY(Dom, GetDom, DomChanged)
CLASS_MEMBER_PROPERTY_READONLY(Name, GetName)
END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame)
@@ -164,6 +165,7 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(ViewModel)
CLASS_MEMBER_FIELD(labelLoading)
CLASS_MEMBER_FIELD(scRendering)
CLASS_MEMBER_FIELD(self)
CLASS_MEMBER_FIELD(textListFrames)
+797 -745
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -655,6 +655,7 @@ IGuiRemoteProtocolMessages (Window)
void Impl_WindowNotifySetTitleBar(const bool& arguments) { styleConfig.titleBar = arguments; this->GetEvents()->OnWindowBoundsUpdated(sizingConfig); }
void Impl_WindowNotifyActivate() { styleConfig.activated = true; }
void Impl_WindowNotifyMinSize(const NativeSize& arguments) {}
void Impl_WindowNotifySetCaret(const NativePoint& arguments) {}
void Impl_WindowNotifyShow(const WindowShowing& arguments)
{
+48 -33
View File
@@ -2979,13 +2979,11 @@ WindowsDirect2DElementInlineObject
public:
WindowsDirect2DElementInlineObject(
const IGuiGraphicsParagraph::InlineObjectProperties& _properties,
IRendererCallback* _rendererCallback,
vint _start,
vint _length
)
:counter(1)
,properties(_properties)
,rendererCallback(_rendererCallback)
,start(_start)
,length(_length)
@@ -3019,6 +3017,11 @@ WindowsDirect2DElementInlineObject
return properties;
}
void SetProperties(const IGuiGraphicsParagraph::InlineObjectProperties& value)
{
properties=value;
}
Ptr<IGuiGraphicsElement> GetElement()
{
return properties.backgroundImage;
@@ -3597,38 +3600,50 @@ WindowsDirect2DParagraph (Formatting)
bool SetInlineObject(vint start, vint length, const InlineObjectProperties& properties)override
{
if(inlineElements.Keys().Contains(properties.backgroundImage.Obj()))
{
return false;
}
vint reuseIndex = -1;
// TODO: (enumerable) foreach
for(vint i=0;i<inlineElements.Count();i++)
for (vint i = 0; i < inlineElements.Count(); i++)
{
ComPtr<WindowsDirect2DElementInlineObject> inlineObject=inlineElements.Values().Get(i);
if(start<inlineObject->GetStart()+inlineObject->GetLength() && inlineObject->GetStart()<start+length)
auto inlineObject = inlineElements.Values().Get(i);
if (start == inlineObject->GetStart() && length == inlineObject->GetLength())
{
return false;
auto&& inlineProps = inlineObject->GetProperties();
if (inlineProps.callbackId != properties.callbackId) return false;
if (inlineProps.backgroundImage != properties.backgroundImage) return false;
reuseIndex = i;
}
else
{
if (inlineElements.Keys().Contains(properties.backgroundImage.Obj()))
{
return false;
}
if (start < inlineObject->GetStart() + inlineObject->GetLength() && inlineObject->GetStart() < start + length)
{
return false;
}
}
}
formatDataAvailable=false;
formatDataAvailable = false;
ComPtr<WindowsDirect2DElementInlineObject> inlineObject=new WindowsDirect2DElementInlineObject(properties, this, start, length);
auto inlineObject = reuseIndex != -1 ? inlineElements.Values().Get(reuseIndex) : ComPtr(new WindowsDirect2DElementInlineObject(this, start, length));
inlineObject->SetProperties(properties);
DWRITE_TEXT_RANGE range;
range.startPosition=(int)start;
range.length=(int)length;
HRESULT hr=textLayout->SetInlineObject(inlineObject.Obj(), range);
if(!FAILED(hr))
range.startPosition = (int)start;
range.length = (int)length;
HRESULT hr = textLayout->SetInlineObject(inlineObject.Obj(), range);
if (!FAILED(hr))
{
if (properties.backgroundImage)
if (properties.backgroundImage && reuseIndex == -1)
{
IGuiGraphicsRenderer* renderer=properties.backgroundImage->GetRenderer();
if(renderer)
IGuiGraphicsRenderer* renderer = properties.backgroundImage->GetRenderer();
if (renderer)
{
renderer->SetRenderTarget(renderTarget);
}
inlineElements.Add(properties.backgroundImage.Obj(), inlineObject);
SetMap(graphicsElements, start, length, properties.backgroundImage.Obj());
}
SetMap(graphicsElements, start, length, properties.backgroundImage.Obj());
return true;
}
else
@@ -13906,9 +13921,9 @@ WindowsInputService
WString WindowsInputService::GetKeyNameInternal(VKEY code)
{
if ((vint)code < 8) return L"?";
wchar_t name[256]={0};
vint scanCode=MapVirtualKey((int)code, MAPVK_VK_TO_VSC)<<16;
switch((vint)code)
wchar_t name[256] = { 0 };
vint scanCode = MapVirtualKey((int)code, MAPVK_VK_TO_VSC) << 16;
switch ((vint)code)
{
case VK_INSERT:
case VK_DELETE:
@@ -13920,18 +13935,18 @@ WindowsInputService
case VK_RIGHT:
case VK_UP:
case VK_DOWN:
scanCode|=1<<24;
scanCode |= 1 << 24;
break;
case VK_CLEAR:
case VK_LSHIFT:
case VK_RSHIFT:
case VK_RSHIFT:
case VK_LCONTROL:
case VK_RCONTROL:
case VK_LMENU:
case VK_RMENU:
return L"?";
}
GetKeyNameText((int)scanCode, name, sizeof(name)/sizeof(*name));
GetKeyNameText((int)scanCode, name, sizeof(name) / sizeof(*name));
if (name[0])
{
WString result = name;
@@ -13946,6 +13961,13 @@ WindowsInputService
void WindowsInputService::InitializeKeyNames()
{
#define INITIALIZE_KEY_NAME(NAME, TEXT)\
keyNames[(vint)VKEY::KEY_ ## NAME] = WString::Unmanaged(TEXT);\
if (!predefinedKeys.Keys().Contains(WString::Unmanaged(TEXT))) predefinedKeys.Add(WString::Unmanaged(TEXT), VKEY::KEY_ ## NAME);\
GUI_DEFINE_KEYBOARD_WINDOWS_NAME(INITIALIZE_KEY_NAME)
#undef INITIALIZE_KEY_NAME
for (vint i = 0; i < keyNames.Count(); i++)
{
keyNames[i] = GetKeyNameInternal((VKEY)i);
@@ -13961,13 +13983,6 @@ WindowsInputService
,isTimerEnabled(false)
,keyNames((vint)VKEY::KEY_MAXIMUM)
{
#define INITIALIZE_KEY_NAME(NAME, TEXT)\
keyNames[(vint)VKEY::KEY_ ## NAME] = WString::Unmanaged(TEXT);\
if (!predefinedKeys.Keys().Contains(WString::Unmanaged(TEXT))) predefinedKeys.Add(WString::Unmanaged(TEXT), VKEY::KEY_ ## NAME);\
GUI_DEFINE_KEYBOARD_WINDOWS_NAME(INITIALIZE_KEY_NAME)
#undef INITIALIZE_KEY_NAME
InitializeKeyNames();
}
+1694 -899
View File
File diff suppressed because it is too large Load Diff
+129 -10
View File
@@ -12135,7 +12135,9 @@ IGuiDocumentElementRenderer
{
public:
virtual void NotifyParagraphPaddingUpdated(bool value) = 0;
virtual void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) = 0;
virtual void NotifyParagraphTextUpdated(vint index, vint oldCount, vint newCount) = 0;
virtual void NotifyParagraphStyleUpdated(TextPos begin, TextPos end) = 0;
virtual void NotifyParagraphStyleUpdated(vint index, vint count) = 0;
virtual Ptr<DocumentHyperlinkRun::Package> GetHyperlinkFromPoint(Point point) = 0;
virtual void OpenCaret(TextPos caret, Color color, bool frontSide) = 0;
virtual void CloseCaret(TextPos caret) = 0;
@@ -20299,6 +20301,7 @@ namespace vl
{
class SetPropertiesVisitor;
}
class GuiDocumentElementRenderer;
/***********************************************************************
GuiDocumentParagraphCache
@@ -20317,11 +20320,12 @@ GuiDocumentParagraphCache
typedef collections::Dictionary<WString, vint> NameIdMap;
typedef collections::List<vint> FreeIdList;
typedef collections::Dictionary<vint, Ptr<EmbeddedObject>> IdEmbeddedObjectMap;
typedef Variant<bool, collections::Pair<vint, vint>> CacheInvalidation;
struct ParagraphCache
{
Ptr<IGuiGraphicsParagraph> graphicsParagraph;
bool outdatedStyles = true;
CacheInvalidation invalidation = false;
WString fullText;
IdEmbeddedObjectMap embeddedObjects;
@@ -20340,15 +20344,18 @@ GuiDocumentParagraphCache
typedef collections::Array<ParagraphSize> ParagraphSizeArray;
}
/// <summary>
/// Maintain cached <see cref="IGuiGraphicsParagraph"/> for each paragraph in the document as well as their rendering positions.
/// </summary>
class GuiDocumentParagraphCache : public Object
{
friend class visitors::SetPropertiesVisitor;
protected:
GuiDocumentElementRenderer* renderer = nullptr;
IGuiGraphicsParagraphCallback* callback = nullptr;
GuiDocumentElement* element = nullptr;
IGuiGraphicsRenderTarget* renderTarget = nullptr;
IGuiGraphicsLayoutProvider* layoutProvider = nullptr;
vint defaultHeight = 0;
pg::ParagraphCacheArray paragraphCaches;
pg::ParagraphSizeArray paragraphSizes;
@@ -20359,9 +20366,11 @@ GuiDocumentParagraphCache
vint usedCallbackIds = 0;
public:
GuiDocumentParagraphCache(IGuiGraphicsParagraphCallback* _callback);
GuiDocumentParagraphCache(GuiDocumentElementRenderer* _renderer);
~GuiDocumentParagraphCache();
static vint GetDefaultHeight();
void Initialize(GuiDocumentElement* _element);
void RenderTargetChanged(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget);
@@ -20372,13 +20381,73 @@ GuiDocumentParagraphCache
vint GetParagraphTopWithoutParagraphDistance(vint paragraphIndex);
vint GetParagraphTop(vint paragraphIndex, vint paragraphDistance);
vint ResetCache(); // returns total height
vint ResetCache(vint index, vint oldCount, vint newCount, bool updatedText); // returns the diff of total height
vint EnsureParagraph(vint paragraphIndex, vint maxWidth); // returns the diff of total height
vint ResetCache(); // returns total height
vint ResetTextCache(vint index, vint oldCount, vint newCount); // returns the diff of total height
vint ResetStyleCache(TextPos begin, TextPos end); // returns the diff of total height
vint ResetStyleCache(vint index, vint count); // returns the diff of total height
vint EnsureParagraph(vint paragraphIndex, vint maxWidth); // returns the diff of total height
vint GetParagraphFromY(vint y, vint paragraphDistance);
void ReleaseParagraphs(vint index, vint count);
};
/***********************************************************************
GuiDocumentImageCache
***********************************************************************/
namespace pg
{
using ImageKey = Tuple<INativeImage*, vint, vint>;
using ImageElementMap = collections::Dictionary<ImageKey, Ptr<IGuiGraphicsElement>>;
struct ParagraphImageCache
{
ImageElementMap elements;
};
using ParagraphImageCacheArray = collections::Array<Ptr<ParagraphImageCache>>;
}
/// <summary>
/// Manage the life-cycle of <see cref="GuiImageFrameElement"> for each occurances of images in the document.
/// The same element should be used until the <see cref="DocumentImageRun"/> is removed from the document.
/// </summary>
class GuiDocumentImageCache : public Object
{
protected:
GuiDocumentElement* element = nullptr;
pg::ParagraphImageCacheArray caches;
public:
GuiDocumentImageCache();
~GuiDocumentImageCache();
void Initialize(GuiDocumentElement* _element);
void RenderTargetChanged(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget);
void ResetCache();
void ResetTextCache(vint index, vint oldCount, vint newCount);
Ptr<IGuiGraphicsElement> GetImageElement(Ptr<INativeImage> image, vint frameIndex, vint paragraphIndex, vint start);
};
/***********************************************************************
SetPropertiesVisitor
***********************************************************************/
namespace visitors
{
extern vint SetProperties(
DocumentModel* model,
GuiDocumentParagraphCache* paragraphCache,
GuiDocumentImageCache* imageCache,
Ptr<pg::ParagraphCache> cache,
vint paragraphIndex,
Ptr<DocumentParagraphRun> run,
vint selectionBegin,
vint selectionEnd,
vint rangeBegin,
vint rangeEnd
);
}
/***********************************************************************
GuiDocumentElementRenderer
***********************************************************************/
@@ -20388,8 +20457,7 @@ GuiDocumentElementRenderer
, private virtual IGuiGraphicsParagraphCallback
{
friend class GuiElementRendererBase<GuiDocumentElement, GuiDocumentElementRenderer, IGuiGraphicsRenderTarget, IGuiDocumentElementRenderer>;
protected:
friend class GuiDocumentParagraphCache;
private:
Size OnRenderInlineObject(vint callbackId, Rect location)override;
@@ -20399,6 +20467,7 @@ GuiDocumentElementRenderer
vint lastTotalWidth = 0;
vint lastTotalHeightWithoutParagraphDistance = 0;
GuiDocumentParagraphCache pgCache;
GuiDocumentImageCache imageCache;
vint previousRenderBegin = -1; // -1 indicates invalid/uninitialized range
vint previousRenderCount = 0; // Invalid when begin == -1
@@ -20417,14 +20486,22 @@ GuiDocumentElementRenderer
void FixMinSize();
void UpdateRenderRange(vint index, vint oldCount, vint newCount);
void UpdateRenderRangeAndCleanUp(vint currentBegin, vint currentCount);
void NotifyParagraphUpdateLastTotalWidth(vint index, vint count);
void ApplyPropertiesOnParagraph(vint paragraphIndex, vint start, vint end, vint maxWidth);
public:
GuiDocumentElementRenderer();
~GuiDocumentElementRenderer();
void Render(Rect bounds) override;
void OnElementStateChanged() override;
void NotifyParagraphPaddingUpdated(bool value) override;
void NotifyParagraphUpdated(vint index, vint oldCount, vint newCount, bool updatedText) override;
void NotifyParagraphTextUpdated(vint index, vint oldCount, vint newCount) override;
void NotifyParagraphStyleUpdated(TextPos begin, TextPos end) override;
void NotifyParagraphStyleUpdated(vint index, vint count) override;
Ptr<DocumentHyperlinkRun::Package> GetHyperlinkFromPoint(Point point) override;
void OpenCaret(TextPos caret, Color color, bool frontSide) override;
@@ -21523,6 +21600,7 @@ namespace vl::presentation::remoteprotocol
HANDLER(WindowNotifyActivate, void, void, NOREQ, NORES, DROPREP)\
HANDLER(WindowNotifyShow, ::vl::presentation::remoteprotocol::WindowShowing, void, REQ, NORES, DROPREP)\
HANDLER(WindowNotifyMinSize, ::vl::presentation::NativeSize, void, REQ, NORES, DROPREP)\
HANDLER(WindowNotifySetCaret, ::vl::presentation::NativePoint, void, REQ, NORES, DROPREP)\
HANDLER(IOUpdateGlobalShortcutKey, ::vl::Ptr<::vl::collections::List<::vl::presentation::remoteprotocol::GlobalShortcutKey>>, void, REQ, NORES, NODROP)\
HANDLER(IORequireCapture, void, void, NOREQ, NORES, NODROP)\
HANDLER(IOReleaseCapture, void, void, NOREQ, NORES, NODROP)\
@@ -21584,6 +21662,7 @@ namespace vl::presentation::remoteprotocol
HANDLER(::vl::Ptr<::vl::collections::List<::vl::vint>>)\
HANDLER(::vl::Ptr<::vl::presentation::remoteprotocol::RenderingDom>)\
HANDLER(::vl::WString)\
HANDLER(::vl::presentation::NativePoint)\
HANDLER(::vl::presentation::NativeRect)\
HANDLER(::vl::presentation::NativeSize)\
HANDLER(::vl::presentation::VKEY)\
@@ -21689,25 +21768,60 @@ DiffRuns
using DocumentInlineObjectRunPropertyMap = collections::Dictionary<CaretRange, remoteprotocol::DocumentInlineObjectRunProperty>;
using DocumentRunPropertyMap = collections::Dictionary<CaretRange, remoteprotocol::DocumentRunProperty>;
/// <summary>
/// Updates style properties of a text run. Ranges will be splitted or merged accordingly.
/// </summary>
/// <param name="map">Current text runs</param>
/// <param name="range">Range of the text run to update</param>
/// <param name="propertyOverrides">Properties to override</param>
extern void AddTextRun(
DocumentTextRunPropertyMap& map,
CaretRange range,
const DocumentTextRunPropertyOverrides& propertyOverrides);
/// <summary>
/// Adds an inline object run.
/// The function succeeds if the target range has no inline object or has an exactly same inline object.
/// Inline object runs cannot be splitted or merged.
/// To replace an inline object, call <see cref="ResetInlineObjectRun"/> to remove it first.
/// </summary>
/// <param name="map">Current inline object runs</param>
/// <param name="range">Range of the inline object run to add</param>
/// <param name="property">Properties of the inline object run</param>
/// <returns>Returns true if the inline object run was added successfully.</returns>
extern bool AddInlineObjectRun(
DocumentInlineObjectRunPropertyMap& map,
CaretRange range,
const remoteprotocol::DocumentInlineObjectRunProperty& property);
/// <summary>
/// Removes an inline object run. The function succeeds if the target range exactly matches an existing inline object run.
/// </summary>
/// <param name="map">Current inline object runs</param>
/// <param name="range">Range of the inline object run to remove</param>
/// <returns>Returns true if the inline object run was removed successfully.</returns>
extern bool ResetInlineObjectRun(
DocumentInlineObjectRunPropertyMap& map,
CaretRange range);
/// <summary>
/// Merge text runs and inline object runs into a single run map.
/// Inline object runs has a higher priority, if a text run and inline object run overlapps, only unoverlapping part of the text run survives.
/// </summary>
/// <param name="textRuns">Current text runs</param>
/// <param name="inlineObjectRuns">Current inline object runs</param>
/// <param name="result">Resulting merged run map</param>
extern void MergeRuns(
const DocumentTextRunPropertyMap& textRuns,
const DocumentInlineObjectRunPropertyMap& inlineObjectRuns,
DocumentRunPropertyMap& result);
/// <summary>
/// Build diff from two run maps.
/// </summary>
/// <param name="oldRuns">Old run maps</param>
/// <param name="newRuns">New run maps</param>
/// <param name="result">Resulting diff</param>
extern void DiffRuns(
const DocumentRunPropertyMap& oldRuns,
const DocumentRunPropertyMap& newRuns,
@@ -22112,6 +22226,7 @@ namespace vl::presentation::elements_remoteprotocol
{
protected:
vint id = -1;
GuiRemoteGraphicsRenderTarget* remoteRenderTarget = nullptr;
vuint64_t renderingBatchId = 0;
bool updated = true;
bool renderTargetChanged = false;
@@ -23782,6 +23897,8 @@ namespace vl::presentation::remote_renderer
, protected virtual INativeWindowListener
, protected virtual INativeControllerListener
{
friend class GuiRemoteDocumentParagraphElement;
protected:
INativeWindow* window = nullptr;
INativeScreen* screen = nullptr;
@@ -23844,6 +23961,7 @@ namespace vl::presentation::remote_renderer
remoteprotocol::ImageMetadata CreateImageMetadata(vint id, INativeImage* image);
remoteprotocol::ImageMetadata CreateImage(const remoteprotocol::ImageCreation& arguments);
void CheckDom();
Ptr<elements::IGuiGraphicsElement> CreateRemoteDocumentParagraphElement();
protected:
bool supressPaint = false;
@@ -23908,6 +24026,7 @@ namespace vl::presentation::remote_renderer
#endif
/***********************************************************************
.\PLATFORMPROVIDERS\REMOTE\GUIREMOTEPROTOCOL_DOMDIFF.H
***********************************************************************/