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 __vwsnf10_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf11_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 __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 __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_;
struct __vwsnf2_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_; 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 __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 __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 __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 namespace __vwsn_enums
@@ -117,6 +119,7 @@ namespace gaclib_controls
public: public:
virtual ::vl::WString GetName() = 0; virtual ::vl::WString GetName() = 0;
virtual ::vl::Ptr<::gaclib_controls::IUnitTestSnapshotDomNode> GetDom() = 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> 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> 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 #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<UnitTestSnapshotViewerStrings>; friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<UnitTestSnapshotViewerStrings>;
#endif #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::__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::__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::__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::__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::__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::__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::__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::__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_; 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::compositions::GuiBoundsComposition* __vwsn_precompile_32;
::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes; ::vl::presentation::controls::GuiBindableTreeView* treeViewFileNodes;
::vl::presentation::controls::GuiBindableTextList* textListFrames; ::vl::presentation::controls::GuiBindableTextList* textListFrames;
::vl::presentation::controls::GuiLabel* labelLoading;
::vl::presentation::controls::GuiScrollContainer* scRendering; ::vl::presentation::controls::GuiScrollContainer* scRendering;
::vl::presentation::controls::GuiBindableTreeView* treeViewDom; ::vl::presentation::controls::GuiBindableTreeView* treeViewDom;
void __vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize(::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_); 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::__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::__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::__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::__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::__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::__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::__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::__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_; 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; 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_ struct __vwsnf1_GuiUnitTestSnapshotViewer_gaclib_controls_UnitTestSnapshotViewerWindowConstructor___vwsn_gaclib_controls_UnitTestSnapshotViewerWindow_Initialize_
{ {
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; ::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); __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_0_0;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0;
bool __vwsn_bind_opened_ = false; bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false; bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_(); 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_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 Open() override;
bool Update() override; bool Update() override;
bool Close() 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); __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_0_0;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_1_0;
bool __vwsn_bind_opened_ = false; bool __vwsn_bind_opened_ = false;
bool __vwsn_bind_closed_ = false; bool __vwsn_bind_closed_ = false;
void __vwsn_bind_activator_(); 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_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 Open() override;
bool Update() override; bool Update() override;
bool Close() 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 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: public:
::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_; ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_this_;
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; ::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; ::gaclib_controls::UnitTestSnapshotViewerWindow* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -478,12 +519,12 @@ Closures
bool Close() 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 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: public:
::gaclib_controls::UnitTestSnapshotViewerWindowConstructor* __vwsnthis_0; ::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::presentation::controls::GuiApplication* __vwsn_bind_cache_0 = nullptr;
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0; ::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
@@ -496,10 +537,10 @@ Closures
bool Close() override; 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: 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; ::vl::WString WindowTitle() override;
}; };
@@ -578,6 +619,7 @@ namespace gaclib_controls
vl::presentation::compositions::GuiBoundsComposition* rootComposition = nullptr; vl::presentation::compositions::GuiBoundsComposition* rootComposition = nullptr;
vl::presentation::compositions::GuiBoundsComposition* selectedComposition = nullptr; vl::presentation::compositions::GuiBoundsComposition* selectedComposition = nullptr;
vl::presentation::compositions::GuiBoundsComposition* highlightComposition = 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 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); 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_BASE(::vl::reflection::IDescriptable)
CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER) CLASS_MEMBER_METHOD(GetDom, NO_PARAMETER)
CLASS_MEMBER_METHOD(GetName, 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) CLASS_MEMBER_PROPERTY_READONLY(Name, GetName)
END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame) END_INTERFACE_MEMBER(::gaclib_controls::IUnitTestSnapshotFrame)
@@ -164,6 +165,7 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_8) CLASS_MEMBER_FIELD(__vwsn_precompile_8)
CLASS_MEMBER_FIELD(__vwsn_precompile_9) CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(ViewModel) CLASS_MEMBER_FIELD(ViewModel)
CLASS_MEMBER_FIELD(labelLoading)
CLASS_MEMBER_FIELD(scRendering) CLASS_MEMBER_FIELD(scRendering)
CLASS_MEMBER_FIELD(self) CLASS_MEMBER_FIELD(self)
CLASS_MEMBER_FIELD(textListFrames) 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_WindowNotifySetTitleBar(const bool& arguments) { styleConfig.titleBar = arguments; this->GetEvents()->OnWindowBoundsUpdated(sizingConfig); }
void Impl_WindowNotifyActivate() { styleConfig.activated = true; } void Impl_WindowNotifyActivate() { styleConfig.activated = true; }
void Impl_WindowNotifyMinSize(const NativeSize& arguments) {} void Impl_WindowNotifyMinSize(const NativeSize& arguments) {}
void Impl_WindowNotifySetCaret(const NativePoint& arguments) {}
void Impl_WindowNotifyShow(const WindowShowing& arguments) void Impl_WindowNotifyShow(const WindowShowing& arguments)
{ {
+47 -32
View File
@@ -2979,13 +2979,11 @@ WindowsDirect2DElementInlineObject
public: public:
WindowsDirect2DElementInlineObject( WindowsDirect2DElementInlineObject(
const IGuiGraphicsParagraph::InlineObjectProperties& _properties,
IRendererCallback* _rendererCallback, IRendererCallback* _rendererCallback,
vint _start, vint _start,
vint _length vint _length
) )
:counter(1) :counter(1)
,properties(_properties)
,rendererCallback(_rendererCallback) ,rendererCallback(_rendererCallback)
,start(_start) ,start(_start)
,length(_length) ,length(_length)
@@ -3019,6 +3017,11 @@ WindowsDirect2DElementInlineObject
return properties; return properties;
} }
void SetProperties(const IGuiGraphicsParagraph::InlineObjectProperties& value)
{
properties=value;
}
Ptr<IGuiGraphicsElement> GetElement() Ptr<IGuiGraphicsElement> GetElement()
{ {
return properties.backgroundImage; return properties.backgroundImage;
@@ -3597,38 +3600,50 @@ WindowsDirect2DParagraph (Formatting)
bool SetInlineObject(vint start, vint length, const InlineObjectProperties& properties)override bool SetInlineObject(vint start, vint length, const InlineObjectProperties& properties)override
{ {
if(inlineElements.Keys().Contains(properties.backgroundImage.Obj())) vint reuseIndex = -1;
{
return false;
}
// TODO: (enumerable) foreach // 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); auto inlineObject = inlineElements.Values().Get(i);
if(start<inlineObject->GetStart()+inlineObject->GetLength() && inlineObject->GetStart()<start+length) 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; DWRITE_TEXT_RANGE range;
range.startPosition=(int)start; range.startPosition = (int)start;
range.length=(int)length; range.length = (int)length;
HRESULT hr=textLayout->SetInlineObject(inlineObject.Obj(), range); HRESULT hr = textLayout->SetInlineObject(inlineObject.Obj(), range);
if(!FAILED(hr)) if (!FAILED(hr))
{ {
if (properties.backgroundImage) if (properties.backgroundImage && reuseIndex == -1)
{ {
IGuiGraphicsRenderer* renderer=properties.backgroundImage->GetRenderer(); IGuiGraphicsRenderer* renderer = properties.backgroundImage->GetRenderer();
if(renderer) if (renderer)
{ {
renderer->SetRenderTarget(renderTarget); renderer->SetRenderTarget(renderTarget);
} }
inlineElements.Add(properties.backgroundImage.Obj(), inlineObject); inlineElements.Add(properties.backgroundImage.Obj(), inlineObject);
SetMap(graphicsElements, start, length, properties.backgroundImage.Obj());
} }
SetMap(graphicsElements, start, length, properties.backgroundImage.Obj());
return true; return true;
} }
else else
@@ -13906,9 +13921,9 @@ WindowsInputService
WString WindowsInputService::GetKeyNameInternal(VKEY code) WString WindowsInputService::GetKeyNameInternal(VKEY code)
{ {
if ((vint)code < 8) return L"?"; if ((vint)code < 8) return L"?";
wchar_t name[256]={0}; wchar_t name[256] = { 0 };
vint scanCode=MapVirtualKey((int)code, MAPVK_VK_TO_VSC)<<16; vint scanCode = MapVirtualKey((int)code, MAPVK_VK_TO_VSC) << 16;
switch((vint)code) switch ((vint)code)
{ {
case VK_INSERT: case VK_INSERT:
case VK_DELETE: case VK_DELETE:
@@ -13920,7 +13935,7 @@ WindowsInputService
case VK_RIGHT: case VK_RIGHT:
case VK_UP: case VK_UP:
case VK_DOWN: case VK_DOWN:
scanCode|=1<<24; scanCode |= 1 << 24;
break; break;
case VK_CLEAR: case VK_CLEAR:
case VK_LSHIFT: case VK_LSHIFT:
@@ -13931,7 +13946,7 @@ WindowsInputService
case VK_RMENU: case VK_RMENU:
return L"?"; return L"?";
} }
GetKeyNameText((int)scanCode, name, sizeof(name)/sizeof(*name)); GetKeyNameText((int)scanCode, name, sizeof(name) / sizeof(*name));
if (name[0]) if (name[0])
{ {
WString result = name; WString result = name;
@@ -13946,6 +13961,13 @@ WindowsInputService
void WindowsInputService::InitializeKeyNames() 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++) for (vint i = 0; i < keyNames.Count(); i++)
{ {
keyNames[i] = GetKeyNameInternal((VKEY)i); keyNames[i] = GetKeyNameInternal((VKEY)i);
@@ -13961,13 +13983,6 @@ WindowsInputService
,isTimerEnabled(false) ,isTimerEnabled(false)
,keyNames((vint)VKEY::KEY_MAXIMUM) ,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(); InitializeKeyNames();
} }
+1691 -896
View File
File diff suppressed because it is too large Load Diff
+129 -10
View File
@@ -12135,7 +12135,9 @@ IGuiDocumentElementRenderer
{ {
public: public:
virtual void NotifyParagraphPaddingUpdated(bool value) = 0; 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 Ptr<DocumentHyperlinkRun::Package> GetHyperlinkFromPoint(Point point) = 0;
virtual void OpenCaret(TextPos caret, Color color, bool frontSide) = 0; virtual void OpenCaret(TextPos caret, Color color, bool frontSide) = 0;
virtual void CloseCaret(TextPos caret) = 0; virtual void CloseCaret(TextPos caret) = 0;
@@ -20299,6 +20301,7 @@ namespace vl
{ {
class SetPropertiesVisitor; class SetPropertiesVisitor;
} }
class GuiDocumentElementRenderer;
/*********************************************************************** /***********************************************************************
GuiDocumentParagraphCache GuiDocumentParagraphCache
@@ -20317,11 +20320,12 @@ GuiDocumentParagraphCache
typedef collections::Dictionary<WString, vint> NameIdMap; typedef collections::Dictionary<WString, vint> NameIdMap;
typedef collections::List<vint> FreeIdList; typedef collections::List<vint> FreeIdList;
typedef collections::Dictionary<vint, Ptr<EmbeddedObject>> IdEmbeddedObjectMap; typedef collections::Dictionary<vint, Ptr<EmbeddedObject>> IdEmbeddedObjectMap;
typedef Variant<bool, collections::Pair<vint, vint>> CacheInvalidation;
struct ParagraphCache struct ParagraphCache
{ {
Ptr<IGuiGraphicsParagraph> graphicsParagraph; Ptr<IGuiGraphicsParagraph> graphicsParagraph;
bool outdatedStyles = true; CacheInvalidation invalidation = false;
WString fullText; WString fullText;
IdEmbeddedObjectMap embeddedObjects; IdEmbeddedObjectMap embeddedObjects;
@@ -20340,15 +20344,18 @@ GuiDocumentParagraphCache
typedef collections::Array<ParagraphSize> ParagraphSizeArray; 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 class GuiDocumentParagraphCache : public Object
{ {
friend class visitors::SetPropertiesVisitor; friend class visitors::SetPropertiesVisitor;
protected: protected:
GuiDocumentElementRenderer* renderer = nullptr;
IGuiGraphicsParagraphCallback* callback = nullptr; IGuiGraphicsParagraphCallback* callback = nullptr;
GuiDocumentElement* element = nullptr; GuiDocumentElement* element = nullptr;
IGuiGraphicsRenderTarget* renderTarget = nullptr; IGuiGraphicsRenderTarget* renderTarget = nullptr;
IGuiGraphicsLayoutProvider* layoutProvider = nullptr; IGuiGraphicsLayoutProvider* layoutProvider = nullptr;
vint defaultHeight = 0;
pg::ParagraphCacheArray paragraphCaches; pg::ParagraphCacheArray paragraphCaches;
pg::ParagraphSizeArray paragraphSizes; pg::ParagraphSizeArray paragraphSizes;
@@ -20359,9 +20366,11 @@ GuiDocumentParagraphCache
vint usedCallbackIds = 0; vint usedCallbackIds = 0;
public: public:
GuiDocumentParagraphCache(IGuiGraphicsParagraphCallback* _callback); GuiDocumentParagraphCache(GuiDocumentElementRenderer* _renderer);
~GuiDocumentParagraphCache(); ~GuiDocumentParagraphCache();
static vint GetDefaultHeight();
void Initialize(GuiDocumentElement* _element); void Initialize(GuiDocumentElement* _element);
void RenderTargetChanged(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget); void RenderTargetChanged(IGuiGraphicsRenderTarget* oldRenderTarget, IGuiGraphicsRenderTarget* newRenderTarget);
@@ -20372,13 +20381,73 @@ GuiDocumentParagraphCache
vint GetParagraphTopWithoutParagraphDistance(vint paragraphIndex); vint GetParagraphTopWithoutParagraphDistance(vint paragraphIndex);
vint GetParagraphTop(vint paragraphIndex, vint paragraphDistance); vint GetParagraphTop(vint paragraphIndex, vint paragraphDistance);
vint ResetCache(); // returns total height vint ResetCache(); // returns total height
vint ResetCache(vint index, vint oldCount, vint newCount, bool updatedText); // returns the diff of total height vint ResetTextCache(vint index, vint oldCount, vint newCount); // returns the diff of total height
vint EnsureParagraph(vint paragraphIndex, vint maxWidth); // 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); vint GetParagraphFromY(vint y, vint paragraphDistance);
void ReleaseParagraphs(vint index, vint count); 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 GuiDocumentElementRenderer
***********************************************************************/ ***********************************************************************/
@@ -20388,8 +20457,7 @@ GuiDocumentElementRenderer
, private virtual IGuiGraphicsParagraphCallback , private virtual IGuiGraphicsParagraphCallback
{ {
friend class GuiElementRendererBase<GuiDocumentElement, GuiDocumentElementRenderer, IGuiGraphicsRenderTarget, IGuiDocumentElementRenderer>; friend class GuiElementRendererBase<GuiDocumentElement, GuiDocumentElementRenderer, IGuiGraphicsRenderTarget, IGuiDocumentElementRenderer>;
protected: friend class GuiDocumentParagraphCache;
private: private:
Size OnRenderInlineObject(vint callbackId, Rect location)override; Size OnRenderInlineObject(vint callbackId, Rect location)override;
@@ -20399,6 +20467,7 @@ GuiDocumentElementRenderer
vint lastTotalWidth = 0; vint lastTotalWidth = 0;
vint lastTotalHeightWithoutParagraphDistance = 0; vint lastTotalHeightWithoutParagraphDistance = 0;
GuiDocumentParagraphCache pgCache; GuiDocumentParagraphCache pgCache;
GuiDocumentImageCache imageCache;
vint previousRenderBegin = -1; // -1 indicates invalid/uninitialized range vint previousRenderBegin = -1; // -1 indicates invalid/uninitialized range
vint previousRenderCount = 0; // Invalid when begin == -1 vint previousRenderCount = 0; // Invalid when begin == -1
@@ -20417,14 +20486,22 @@ GuiDocumentElementRenderer
void FixMinSize(); void FixMinSize();
void UpdateRenderRange(vint index, vint oldCount, vint newCount); void UpdateRenderRange(vint index, vint oldCount, vint newCount);
void UpdateRenderRangeAndCleanUp(vint currentBegin, vint currentCount); void UpdateRenderRangeAndCleanUp(vint currentBegin, vint currentCount);
void NotifyParagraphUpdateLastTotalWidth(vint index, vint count);
void ApplyPropertiesOnParagraph(vint paragraphIndex, vint start, vint end, vint maxWidth);
public: public:
GuiDocumentElementRenderer(); GuiDocumentElementRenderer();
~GuiDocumentElementRenderer();
void Render(Rect bounds) override; void Render(Rect bounds) override;
void OnElementStateChanged() override; void OnElementStateChanged() override;
void NotifyParagraphPaddingUpdated(bool value) 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; Ptr<DocumentHyperlinkRun::Package> GetHyperlinkFromPoint(Point point) override;
void OpenCaret(TextPos caret, Color color, bool frontSide) 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(WindowNotifyActivate, void, void, NOREQ, NORES, DROPREP)\
HANDLER(WindowNotifyShow, ::vl::presentation::remoteprotocol::WindowShowing, void, REQ, NORES, DROPREP)\ HANDLER(WindowNotifyShow, ::vl::presentation::remoteprotocol::WindowShowing, void, REQ, NORES, DROPREP)\
HANDLER(WindowNotifyMinSize, ::vl::presentation::NativeSize, 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(IOUpdateGlobalShortcutKey, ::vl::Ptr<::vl::collections::List<::vl::presentation::remoteprotocol::GlobalShortcutKey>>, void, REQ, NORES, NODROP)\
HANDLER(IORequireCapture, void, void, NOREQ, NORES, NODROP)\ HANDLER(IORequireCapture, void, void, NOREQ, NORES, NODROP)\
HANDLER(IOReleaseCapture, 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::collections::List<::vl::vint>>)\
HANDLER(::vl::Ptr<::vl::presentation::remoteprotocol::RenderingDom>)\ HANDLER(::vl::Ptr<::vl::presentation::remoteprotocol::RenderingDom>)\
HANDLER(::vl::WString)\ HANDLER(::vl::WString)\
HANDLER(::vl::presentation::NativePoint)\
HANDLER(::vl::presentation::NativeRect)\ HANDLER(::vl::presentation::NativeRect)\
HANDLER(::vl::presentation::NativeSize)\ HANDLER(::vl::presentation::NativeSize)\
HANDLER(::vl::presentation::VKEY)\ HANDLER(::vl::presentation::VKEY)\
@@ -21689,25 +21768,60 @@ DiffRuns
using DocumentInlineObjectRunPropertyMap = collections::Dictionary<CaretRange, remoteprotocol::DocumentInlineObjectRunProperty>; using DocumentInlineObjectRunPropertyMap = collections::Dictionary<CaretRange, remoteprotocol::DocumentInlineObjectRunProperty>;
using DocumentRunPropertyMap = collections::Dictionary<CaretRange, remoteprotocol::DocumentRunProperty>; 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( extern void AddTextRun(
DocumentTextRunPropertyMap& map, DocumentTextRunPropertyMap& map,
CaretRange range, CaretRange range,
const DocumentTextRunPropertyOverrides& propertyOverrides); 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( extern bool AddInlineObjectRun(
DocumentInlineObjectRunPropertyMap& map, DocumentInlineObjectRunPropertyMap& map,
CaretRange range, CaretRange range,
const remoteprotocol::DocumentInlineObjectRunProperty& property); 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( extern bool ResetInlineObjectRun(
DocumentInlineObjectRunPropertyMap& map, DocumentInlineObjectRunPropertyMap& map,
CaretRange range); 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( extern void MergeRuns(
const DocumentTextRunPropertyMap& textRuns, const DocumentTextRunPropertyMap& textRuns,
const DocumentInlineObjectRunPropertyMap& inlineObjectRuns, const DocumentInlineObjectRunPropertyMap& inlineObjectRuns,
DocumentRunPropertyMap& result); 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( extern void DiffRuns(
const DocumentRunPropertyMap& oldRuns, const DocumentRunPropertyMap& oldRuns,
const DocumentRunPropertyMap& newRuns, const DocumentRunPropertyMap& newRuns,
@@ -22112,6 +22226,7 @@ namespace vl::presentation::elements_remoteprotocol
{ {
protected: protected:
vint id = -1; vint id = -1;
GuiRemoteGraphicsRenderTarget* remoteRenderTarget = nullptr;
vuint64_t renderingBatchId = 0; vuint64_t renderingBatchId = 0;
bool updated = true; bool updated = true;
bool renderTargetChanged = false; bool renderTargetChanged = false;
@@ -23782,6 +23897,8 @@ namespace vl::presentation::remote_renderer
, protected virtual INativeWindowListener , protected virtual INativeWindowListener
, protected virtual INativeControllerListener , protected virtual INativeControllerListener
{ {
friend class GuiRemoteDocumentParagraphElement;
protected: protected:
INativeWindow* window = nullptr; INativeWindow* window = nullptr;
INativeScreen* screen = nullptr; INativeScreen* screen = nullptr;
@@ -23844,6 +23961,7 @@ namespace vl::presentation::remote_renderer
remoteprotocol::ImageMetadata CreateImageMetadata(vint id, INativeImage* image); remoteprotocol::ImageMetadata CreateImageMetadata(vint id, INativeImage* image);
remoteprotocol::ImageMetadata CreateImage(const remoteprotocol::ImageCreation& arguments); remoteprotocol::ImageMetadata CreateImage(const remoteprotocol::ImageCreation& arguments);
void CheckDom(); void CheckDom();
Ptr<elements::IGuiGraphicsElement> CreateRemoteDocumentParagraphElement();
protected: protected:
bool supressPaint = false; bool supressPaint = false;
@@ -23908,6 +24026,7 @@ namespace vl::presentation::remote_renderer
#endif #endif
/*********************************************************************** /***********************************************************************
.\PLATFORMPROVIDERS\REMOTE\GUIREMOTEPROTOCOL_DOMDIFF.H .\PLATFORMPROVIDERS\REMOTE\GUIREMOTEPROTOCOL_DOMDIFF.H
***********************************************************************/ ***********************************************************************/