mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-20 03:11:23 +08:00
Update release
This commit is contained in:
+550
-457
File diff suppressed because it is too large
Load Diff
@@ -4137,6 +4137,7 @@ Resource Structure
|
||||
|
||||
typedef collections::List<DelayLoading> DelayLoadingList;
|
||||
|
||||
WString importUri;
|
||||
ItemMap items;
|
||||
FolderMap folders;
|
||||
|
||||
@@ -4147,11 +4148,19 @@ Resource Structure
|
||||
void SaveResourceFolderToBinary(stream::internal::ContextFreeWriter& writer, collections::List<WString>& typeNames);
|
||||
void PrecompileResourceFolder(GuiResourcePrecompileContext& context, IGuiResourcePrecompileCallback* callback, GuiResourceError::List& errors);
|
||||
void InitializeResourceFolder(GuiResourceInitializeContext& context);
|
||||
void ImportFromUri(const WString& uri, GuiResourceTextPos position, GuiResourceError::List& errors);
|
||||
public:
|
||||
/// <summary>Create a resource folder.</summary>
|
||||
GuiResourceFolder();
|
||||
~GuiResourceFolder();
|
||||
|
||||
///<summary>Get the import uri for this folder.</summary>
|
||||
///<returns>The import uri for this folder. Returns an empty string for non-import folders</returns>
|
||||
const WString& GetImportUri();
|
||||
///<summary>Set the import uri for this folder.</summary>
|
||||
///<param name="uri">The import uri for this folder. Set an empty string for non-import folders</param>
|
||||
void SetImportUri(const WString& uri);
|
||||
|
||||
/// <summary>Get all sub items.</summary>
|
||||
/// <returns>All sub items.</returns>
|
||||
const ItemList& GetItems();
|
||||
|
||||
@@ -484,6 +484,7 @@ WindowsDirect2DParagraph (Initialization)
|
||||
if(!FAILED(hr))
|
||||
{
|
||||
textLayout=rawTextLayout;
|
||||
textLayout->SetMaxWidth(65536);
|
||||
textLayout->SetWordWrapping(DWRITE_WORD_WRAPPING_WRAP);
|
||||
}
|
||||
graphicsElements.Add(TextRange(0, _text.Length()), 0);
|
||||
@@ -4277,7 +4278,7 @@ WindowsGDIParagraph
|
||||
Rect caretBounds=GetCaretBounds(caret, caretFrontSide);
|
||||
vint x=caretBounds.x1+bounds.x1;
|
||||
vint y1=caretBounds.y1+bounds.y1;
|
||||
vint y2=y1+caretBounds.Height();
|
||||
vint y2=y1+(vint)(caretBounds.Height()*1.5);
|
||||
|
||||
WinDC* dc=renderTarget->GetDC();
|
||||
dc->SetPen(caretPen);
|
||||
|
||||
File diff suppressed because one or more lines are too long
+94
-1
@@ -15683,7 +15683,7 @@ Collection Wrappers
|
||||
}
|
||||
};
|
||||
|
||||
#define WRAPPER_POINTER ValueEnumerableWrapper<T>::wrapperPointer
|
||||
#define WRAPPER_POINTER this->wrapperPointer
|
||||
|
||||
template<typename T>
|
||||
class ValueReadonlyListWrapper : public ValueEnumerableWrapper<T>, public virtual IValueReadonlyList
|
||||
@@ -15771,6 +15771,99 @@ Collection Wrappers
|
||||
}
|
||||
};
|
||||
|
||||
template<typename T, typename K>
|
||||
class ValueListWrapper<collections::Array<T, K>*> : public ValueReadonlyListWrapper<collections::Array<T, K>*>, public virtual IValueList
|
||||
{
|
||||
protected:
|
||||
typedef collections::Array<T, K> ContainerType;
|
||||
typedef T ElementType;
|
||||
typedef K ElementKeyType;
|
||||
|
||||
public:
|
||||
ValueListWrapper(collections::Array<T, K>* _wrapperPointer)
|
||||
:ValueReadonlyListWrapper<collections::Array<T, K>*>(_wrapperPointer)
|
||||
{
|
||||
}
|
||||
|
||||
void Set(vint index, const Value& value)override
|
||||
{
|
||||
ElementType item = UnboxValue<ElementType>(value);
|
||||
WRAPPER_POINTER->Set(index, item);
|
||||
}
|
||||
|
||||
vint Add(const Value& value)override
|
||||
{
|
||||
throw Exception(L"Array doesn't have Add method.");
|
||||
}
|
||||
|
||||
vint Insert(vint index, const Value& value)override
|
||||
{
|
||||
throw Exception(L"Array doesn't have Insert method.");
|
||||
}
|
||||
|
||||
bool Remove(const Value& value)override
|
||||
{
|
||||
throw Exception(L"Array doesn't have Remove method.");
|
||||
}
|
||||
|
||||
bool RemoveAt(vint index)override
|
||||
{
|
||||
throw Exception(L"Array doesn't have RemoveAt method.");
|
||||
}
|
||||
|
||||
void Clear()override
|
||||
{
|
||||
throw Exception(L"Array doesn't have Clear method.");
|
||||
}
|
||||
};
|
||||
|
||||
template<typename T, typename K>
|
||||
class ValueListWrapper<collections::SortedList<T, K>*> : public ValueReadonlyListWrapper<collections::SortedList<T, K>*>, public virtual IValueList
|
||||
{
|
||||
protected:
|
||||
typedef collections::SortedList<T, K> ContainerType;
|
||||
typedef T ElementType;
|
||||
typedef K ElementKeyType;
|
||||
|
||||
public:
|
||||
ValueListWrapper(collections::SortedList<T, K>* _wrapperPointer)
|
||||
:ValueReadonlyListWrapper<collections::SortedList<T, K>*>(_wrapperPointer)
|
||||
{
|
||||
}
|
||||
|
||||
void Set(vint index, const Value& value)override
|
||||
{
|
||||
throw Exception(L"SortedList doesn't have Set method.");
|
||||
}
|
||||
|
||||
vint Add(const Value& value)override
|
||||
{
|
||||
ElementType item = UnboxValue<ElementType>(value);
|
||||
return WRAPPER_POINTER->Add(item);
|
||||
}
|
||||
|
||||
vint Insert(vint index, const Value& value)override
|
||||
{
|
||||
throw Exception(L"SortedList doesn't have Insert method.");
|
||||
}
|
||||
|
||||
bool Remove(const Value& value)override
|
||||
{
|
||||
ElementKeyType item = UnboxValue<ElementKeyType>(value);
|
||||
return WRAPPER_POINTER->Remove(item);
|
||||
}
|
||||
|
||||
bool RemoveAt(vint index)override
|
||||
{
|
||||
return WRAPPER_POINTER->RemoveAt(index);
|
||||
}
|
||||
|
||||
void Clear()override
|
||||
{
|
||||
WRAPPER_POINTER->Clear();
|
||||
}
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
class ValueObservableListWrapper : public ValueListWrapper<T>, public virtual IValueObservableList
|
||||
{
|
||||
|
||||
+19
-4
@@ -29,9 +29,24 @@ you should add the following metadata in GacGenConfig like this:
|
||||
</Dependencies>
|
||||
</ResourceMetadata>
|
||||
</Xml>
|
||||
<Folder name="Cpp">...</Folder>
|
||||
<Folder name="ResX86">...</Folder>
|
||||
<Folder name="ResX64">...</Folder>
|
||||
<Folder name="Cpp">
|
||||
<Text name="Resource">The output path for unscripted binary resource. Use GetResourceManager()->LoadResourceOrPending to load the resource.</Text>
|
||||
<Text name="Compressed">The output path for unscripted compressed binary resource. Call DecompressStream before loading the resource.</Text>
|
||||
<Text name="CppResource">The output path for unscripted binary resource embedded in C++ code. Just add this cpp file to your project and it just works.</Text>
|
||||
<Text name="CppCompressed">The output path for unscripted binary resource embedded in C++ code. Just add this cpp file to your project and it just works.</Text>
|
||||
<Text name="NormalInclude">#include targets in generated C++ files, seperated by semicolon.</Text>
|
||||
<Text name="ReflectionInclude">#include targets in generated C++ files when you turn on reflection, seperated by semicolon.</Text>
|
||||
<Text name="Name">General file name for generated C++ files without extension.</Text>
|
||||
<Text name="SourceFolder">The output folder for all generated C++ files.</Text>
|
||||
</Folder>
|
||||
<Folder name="ResX86">
|
||||
<Text name="Resource">The output path for scripted binary resource. Use GetResourceManager()->LoadResourceOrPending with GuiResourceUsage::InstanceClass to load the resource.</Text>
|
||||
<Text name="Compressed">The output path for scripted compressed binary resource. Use GetResourceManager()->LoadResourceOrPending to load the resource.</Text>
|
||||
<Text name="Assembly">Generated Workflow script, which is equivalent to generated C++ code. All assemblies are included in scripted binary resources, but if you want to load unscripted binary resources and assemblies separately, you will need this file.</Text>
|
||||
</Folder>
|
||||
<Folder name="ResX64">
|
||||
<!-- just like RexX86 but they are for x64. x86 and x64 generates different Workflow script. -->
|
||||
</Folder>
|
||||
</Folder>
|
||||
</Folder>
|
||||
...
|
||||
@@ -58,8 +73,8 @@ try {
|
||||
$FileName = (Resolve-Path -Path $FileName).Path
|
||||
if (Test-Path -Path "$($FileName).log") {
|
||||
Remove-Item -Path "$($FileName).log" -Recurse | Out-Null
|
||||
New-Item -ItemType Directory "$($FileName).log" | Out-Null
|
||||
}
|
||||
New-Item -ItemType Directory "$($FileName).log" | Out-Null
|
||||
|
||||
EnumerateResourceFiles $FileName
|
||||
if (-not (Test-Path -Path "$($FileName).log\ResourceFiles.txt")) {
|
||||
|
||||
+1
-1
@@ -22,8 +22,8 @@ try {
|
||||
$FileName = (Resolve-Path -Path $FileName).Path
|
||||
if (Test-Path -Path "$($FileName).log") {
|
||||
Remove-Item -Path "$($FileName).log" -Recurse | Out-Null
|
||||
New-Item -ItemType Directory "$($FileName).log" | Out-Null
|
||||
}
|
||||
New-Item -ItemType Directory "$($FileName).log" | Out-Null
|
||||
|
||||
EnumerateResourceFiles $FileName
|
||||
if (-not (Test-Path -Path "$($FileName).log\ResourceFiles.txt")) {
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user