mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-22 07:01:23 +08:00
Update release
This commit is contained in:
+51
-51
@@ -14951,7 +14951,7 @@ namespace vl
|
||||
return themeTemplates;
|
||||
}
|
||||
|
||||
TemplateProperty<templates::GuiControlTemplate> CreateStyle(ThemeName themeName)override
|
||||
TemplateProperty<GuiControlTemplate> CreateStyle(ThemeName themeName)override
|
||||
{
|
||||
switch (themeName)
|
||||
{
|
||||
@@ -17350,7 +17350,7 @@ GuiMultilineTextBox
|
||||
void GuiMultilineTextBox::AfterControlTemplateInstalled_(bool initialize)
|
||||
{
|
||||
auto ct = GetControlTemplateObject(true);
|
||||
Array<text::ColorEntry> colors(1);
|
||||
Array<ColorEntry> colors(1);
|
||||
colors[0] = ct->GetTextColor();
|
||||
textElement->SetColors(colors);
|
||||
textElement->SetCaretColor(ct->GetCaretColor());
|
||||
@@ -17378,7 +17378,7 @@ GuiMultilineTextBox
|
||||
|
||||
Size GuiMultilineTextBox::QueryFullSize()
|
||||
{
|
||||
text::TextLines& lines = textElement->GetLines();
|
||||
TextLines& lines = textElement->GetLines();
|
||||
return Size(lines.GetMaxWidth() + TextMargin * 2, lines.GetMaxHeight() + TextMargin * 2);
|
||||
}
|
||||
|
||||
@@ -17536,7 +17536,7 @@ GuiSinglelineTextBox
|
||||
void GuiSinglelineTextBox::AfterControlTemplateInstalled_(bool initialize)
|
||||
{
|
||||
auto ct = GetControlTemplateObject(true);
|
||||
Array<text::ColorEntry> colors(1);
|
||||
Array<ColorEntry> colors(1);
|
||||
colors[0] = ct->GetTextColor();
|
||||
textElement->SetColors(colors);
|
||||
textElement->SetCaretColor(ct->GetCaretColor());
|
||||
@@ -33695,14 +33695,14 @@ namespace vl
|
||||
}
|
||||
}
|
||||
|
||||
Ptr<DocumentModel> LoadDocumentFromClipboardStream(stream::IStream& stream)
|
||||
Ptr<DocumentModel> LoadDocumentFromClipboardStream(stream::IStream& clipboardStream)
|
||||
{
|
||||
auto tempResource = MakePtr<GuiResource>();
|
||||
auto tempResourceItem = MakePtr<GuiResourceItem>();
|
||||
tempResource->AddItem(L"Document", tempResourceItem);
|
||||
auto tempResolver = MakePtr<GuiResourcePathResolver>(tempResource, L"");
|
||||
|
||||
internal::ContextFreeReader reader(stream);
|
||||
internal::ContextFreeReader reader(clipboardStream);
|
||||
{
|
||||
WString title;
|
||||
vint32_t version = 0;
|
||||
@@ -33741,7 +33741,7 @@ namespace vl
|
||||
return document;
|
||||
}
|
||||
|
||||
void SaveDocumentToClipboardStream(Ptr<DocumentModel> model, stream::IStream& stream)
|
||||
void SaveDocumentToClipboardStream(Ptr<DocumentModel> model, stream::IStream& clipboardStream)
|
||||
{
|
||||
CollectImageRunsVisitor visitor;
|
||||
FOREACH(Ptr<DocumentParagraphRun>, paragraph, model->paragraphs)
|
||||
@@ -33749,7 +33749,7 @@ namespace vl
|
||||
paragraph->Accept(&visitor);
|
||||
}
|
||||
|
||||
internal::ContextFreeWriter writer(stream);
|
||||
internal::ContextFreeWriter writer(clipboardStream);
|
||||
{
|
||||
WString title = L"WCF_Document";
|
||||
vint32_t version = 1;
|
||||
@@ -33781,7 +33781,7 @@ namespace vl
|
||||
imageRun->image->SaveToStream(memoryStream, format);
|
||||
}
|
||||
|
||||
writer << (IStream&)memoryStream;
|
||||
writer << (stream::IStream&)memoryStream;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34058,7 +34058,7 @@ namespace vl
|
||||
;
|
||||
}
|
||||
|
||||
void SaveDocumentToHtmlClipboardStream(Ptr<DocumentModel> model, stream::IStream& stream)
|
||||
void SaveDocumentToHtmlClipboardStream(Ptr<DocumentModel> model, stream::IStream& clipboardStream)
|
||||
{
|
||||
AString header, content, footer;
|
||||
SaveDocumentToHtmlUtf8(model, header, content, footer);
|
||||
@@ -34079,12 +34079,12 @@ namespace vl
|
||||
memcpy(strstr(clipboardHeader, "EndFragment:") - offsetStartString.Length() - 2, offsetStartString.Buffer(), offsetStartString.Length());
|
||||
memcpy(clipboardHeader + sizeof(clipboardHeader) - 1 - offsetEndString.Length() - 2, offsetEndString.Buffer(), offsetEndString.Length());
|
||||
|
||||
stream.Write(clipboardHeader, sizeof(clipboardHeader) - 1);
|
||||
if (header.Length() > 0) stream.Write((void*)header.Buffer(), header.Length());
|
||||
stream.Write(commentStart, sizeof(commentStart) - 1);
|
||||
if (content.Length() > 0) stream.Write((void*)content.Buffer(), content.Length());
|
||||
stream.Write(commentEnd, sizeof(commentEnd) - 1);
|
||||
if (footer.Length() > 0) stream.Write((void*)footer.Buffer(), footer.Length());
|
||||
clipboardStream.Write(clipboardHeader, sizeof(clipboardHeader) - 1);
|
||||
if (header.Length() > 0) clipboardStream.Write((void*)header.Buffer(), header.Length());
|
||||
clipboardStream.Write(commentStart, sizeof(commentStart) - 1);
|
||||
if (content.Length() > 0) clipboardStream.Write((void*)content.Buffer(), content.Length());
|
||||
clipboardStream.Write(commentEnd, sizeof(commentEnd) - 1);
|
||||
if (footer.Length() > 0) clipboardStream.Write((void*)footer.Buffer(), footer.Length());
|
||||
}
|
||||
|
||||
#undef HTML_LINE
|
||||
@@ -34321,11 +34321,11 @@ namespace vl
|
||||
rtf = (const char*)rtfStream.GetInternalBuffer();
|
||||
}
|
||||
|
||||
void SaveDocumentToRtfStream(Ptr<DocumentModel> model, stream::IStream& stream)
|
||||
void SaveDocumentToRtfStream(Ptr<DocumentModel> model, stream::IStream& rtfStream)
|
||||
{
|
||||
AString rtf;
|
||||
SaveDocumentToRtf(model, rtf);
|
||||
stream.Write((void*)rtf.Buffer(), rtf.Length());
|
||||
rtfStream.Write((void*)rtf.Buffer(), rtf.Length());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38252,7 +38252,7 @@ namespace vl
|
||||
}
|
||||
}
|
||||
|
||||
void HexToBinary(stream::IStream& stream, const WString& hexText)
|
||||
void HexToBinary(stream::IStream& binaryStream, const WString& hexText)
|
||||
{
|
||||
const wchar_t* buffer = hexText.Buffer();
|
||||
vint count = hexText.Length() / 2;
|
||||
@@ -38260,17 +38260,17 @@ namespace vl
|
||||
{
|
||||
vuint8_t byte = (vuint8_t)(HexToInt(buffer[0]) * 16 + HexToInt(buffer[1]));
|
||||
buffer += 2;
|
||||
stream.Write(&byte, 1);
|
||||
binaryStream.Write(&byte, 1);
|
||||
}
|
||||
}
|
||||
|
||||
WString BinaryToHex(stream::IStream& stream)
|
||||
WString BinaryToHex(stream::IStream& binaryStream)
|
||||
{
|
||||
stream::MemoryStream memoryStream;
|
||||
{
|
||||
stream::StreamWriter writer(memoryStream);
|
||||
vuint8_t byte;
|
||||
while (stream.Read(&byte, 1) == 1)
|
||||
while (binaryStream.Read(&byte, 1) == 1)
|
||||
{
|
||||
writer.WriteChar(L"0123456789ABCDEF"[byte / 16]);
|
||||
writer.WriteChar(L"0123456789ABCDEF"[byte % 16]);
|
||||
@@ -39552,14 +39552,14 @@ GuiResource
|
||||
return doc;
|
||||
}
|
||||
|
||||
Ptr<GuiResource> GuiResource::LoadPrecompiledBinary(stream::IStream& stream, GuiResourceError::List& errors)
|
||||
Ptr<GuiResource> GuiResource::LoadPrecompiledBinary(stream::IStream& binaryStream, GuiResourceError::List& errors)
|
||||
{
|
||||
stream::internal::ContextFreeReader reader(stream);
|
||||
stream::internal::ContextFreeReader reader(binaryStream);
|
||||
auto resource = MakePtr<GuiResource>();
|
||||
{
|
||||
WString metadata;
|
||||
reader << metadata;
|
||||
|
||||
|
||||
auto parser = GetParserManager()->GetParser<XmlDocument>(L"XML");
|
||||
auto xmlMetadata = parser->Parse({ resource }, metadata, errors);
|
||||
if (!xmlMetadata) return nullptr;
|
||||
@@ -39576,25 +39576,25 @@ GuiResource
|
||||
|
||||
List<WString> typeNames;
|
||||
reader << typeNames;
|
||||
|
||||
|
||||
DelayLoadingList delayLoadings;
|
||||
resource->LoadResourceFolderFromBinary(delayLoadings, reader, typeNames, errors);
|
||||
|
||||
|
||||
ProcessDelayLoading(resource, delayLoadings, errors);
|
||||
return resource;
|
||||
}
|
||||
|
||||
Ptr<GuiResource> GuiResource::LoadPrecompiledBinary(stream::IStream& stream)
|
||||
Ptr<GuiResource> GuiResource::LoadPrecompiledBinary(stream::IStream& binaryStream)
|
||||
{
|
||||
GuiResourceError::List errors;
|
||||
auto resource = LoadPrecompiledBinary(stream, errors);
|
||||
auto resource = LoadPrecompiledBinary(binaryStream, errors);
|
||||
CHECK_ERROR(errors.Count() == 0, L"GuiResource::LoadPrecompiledBinary(IStream&)#There are errors.");
|
||||
return resource;
|
||||
}
|
||||
|
||||
void GuiResource::SavePrecompiledBinary(stream::IStream& stream)
|
||||
void GuiResource::SavePrecompiledBinary(stream::IStream& binaryStream)
|
||||
{
|
||||
stream::internal::ContextFreeWriter writer(stream);
|
||||
stream::internal::ContextFreeWriter writer(binaryStream);
|
||||
{
|
||||
auto xmlMetadata = metadata->SaveToXml();
|
||||
WString xml = GenerateToStream([&](StreamWriter& writer)
|
||||
@@ -40070,18 +40070,18 @@ Class Name Record (ClassNameRecord)
|
||||
return this;
|
||||
}
|
||||
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& stream)override
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& binaryStream)override
|
||||
{
|
||||
if (auto obj = content.Cast<GuiResourceClassNameRecord>())
|
||||
{
|
||||
internal::ContextFreeWriter writer(stream);
|
||||
internal::ContextFreeWriter writer(binaryStream);
|
||||
writer << obj->classNames;
|
||||
}
|
||||
}
|
||||
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& stream, GuiResourceError::List& errors)override
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& binaryStream, GuiResourceError::List& errors)override
|
||||
{
|
||||
internal::ContextFreeReader reader(stream);
|
||||
internal::ContextFreeReader reader(binaryStream);
|
||||
|
||||
auto obj = MakePtr<GuiResourceClassNameRecord>();
|
||||
reader << obj->classNames;
|
||||
@@ -40234,11 +40234,11 @@ IGuiInstanceResourceManager
|
||||
}
|
||||
}
|
||||
|
||||
void LoadResourceOrPending(stream::IStream& stream, GuiResourceError::List& errors, GuiResourceUsage usage)override
|
||||
void LoadResourceOrPending(stream::IStream& resourceStream, GuiResourceError::List& errors, GuiResourceUsage usage)override
|
||||
{
|
||||
auto pr = MakePtr<PendingResource>();
|
||||
pr->usage = usage;
|
||||
CopyStream(stream, pr->memoryStream);
|
||||
CopyStream(resourceStream, pr->memoryStream);
|
||||
|
||||
pr->metadata = MakePtr<GuiResourceMetadata>();
|
||||
{
|
||||
@@ -40275,10 +40275,10 @@ IGuiInstanceResourceManager
|
||||
}
|
||||
}
|
||||
|
||||
void LoadResourceOrPending(stream::IStream& stream, GuiResourceUsage usage)override
|
||||
void LoadResourceOrPending(stream::IStream& resourceStream, GuiResourceUsage usage)override
|
||||
{
|
||||
GuiResourceError::List errors;
|
||||
LoadResourceOrPending(stream, errors, usage);
|
||||
LoadResourceOrPending(resourceStream, errors, usage);
|
||||
CHECK_ERROR(errors.Count() == 0, L"GuiResourceManager::LoadResourceOrPending(stream::IStream&, GuiResourceUsage)#Error happened.");
|
||||
}
|
||||
|
||||
@@ -40348,10 +40348,10 @@ Image Type Resolver (Image)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& stream)override
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& binaryStream)override
|
||||
{
|
||||
auto obj = content.Cast<GuiImageData>();
|
||||
stream::internal::ContextFreeWriter writer(stream);
|
||||
stream::internal::ContextFreeWriter writer(binaryStream);
|
||||
FileStream fileStream(resource->GetFileAbsolutePath(), FileStream::ReadOnly);
|
||||
writer << (stream::IStream&)fileStream;
|
||||
}
|
||||
@@ -40376,9 +40376,9 @@ Image Type Resolver (Image)
|
||||
}
|
||||
}
|
||||
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& stream, GuiResourceError::List& errors)override
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& binaryStream, GuiResourceError::List& errors)override
|
||||
{
|
||||
stream::internal::ContextFreeReader reader(stream);
|
||||
stream::internal::ContextFreeReader reader(binaryStream);
|
||||
MemoryStream memoryStream;
|
||||
reader << (stream::IStream&)memoryStream;
|
||||
|
||||
@@ -40447,10 +40447,10 @@ Text Type Resolver (Text)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& stream)override
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& binaryStream)override
|
||||
{
|
||||
auto obj = content.Cast<GuiTextData>();
|
||||
stream::internal::ContextFreeWriter writer(stream);
|
||||
stream::internal::ContextFreeWriter writer(binaryStream);
|
||||
WString text = obj->GetText();
|
||||
writer << text;
|
||||
}
|
||||
@@ -40474,9 +40474,9 @@ Text Type Resolver (Text)
|
||||
}
|
||||
}
|
||||
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& stream, GuiResourceError::List& errors)override
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& binaryStream, GuiResourceError::List& errors)override
|
||||
{
|
||||
stream::internal::ContextFreeReader reader(stream);
|
||||
stream::internal::ContextFreeReader reader(binaryStream);
|
||||
WString text;
|
||||
reader << text;
|
||||
return new GuiTextData(text);
|
||||
@@ -40531,14 +40531,14 @@ Xml Type Resolver (Xml)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& stream)override
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& binaryStream)override
|
||||
{
|
||||
auto obj = content.Cast<XmlDocument>();
|
||||
WString text = GenerateToStream([&](StreamWriter& writer)
|
||||
{
|
||||
XmlPrint(obj, writer);
|
||||
});
|
||||
stream::internal::ContextFreeWriter writer(stream);
|
||||
stream::internal::ContextFreeWriter writer(binaryStream);
|
||||
writer << text;
|
||||
}
|
||||
|
||||
@@ -40571,11 +40571,11 @@ Xml Type Resolver (Xml)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& stream, GuiResourceError::List& errors)override
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& binaryStream, GuiResourceError::List& errors)override
|
||||
{
|
||||
if (auto parser = GetParserManager()->GetParser<XmlDocument>(L"XML"))
|
||||
{
|
||||
stream::internal::ContextFreeReader reader(stream);
|
||||
stream::internal::ContextFreeReader reader(binaryStream);
|
||||
WString text;
|
||||
reader << text;
|
||||
|
||||
|
||||
+5867
-5863
File diff suppressed because it is too large
Load Diff
+336
-336
File diff suppressed because it is too large
Load Diff
@@ -116,37 +116,37 @@ Compiled Workflow Type Resolver (Workflow)
|
||||
return this;
|
||||
}
|
||||
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& stream)override
|
||||
void SerializePrecompiled(Ptr<GuiResourceItem> resource, Ptr<DescriptableObject> content, stream::IStream& resourceStream)override
|
||||
{
|
||||
if (auto obj = content.Cast<GuiInstanceCompiledWorkflow>())
|
||||
{
|
||||
internal::ContextFreeWriter writer(stream);
|
||||
internal::ContextFreeWriter writer(resourceStream);
|
||||
|
||||
vint type = (vint)obj->type;
|
||||
writer << type;
|
||||
|
||||
if (obj->type == GuiInstanceCompiledWorkflow::InstanceClass)
|
||||
{
|
||||
MemoryStream memoryStream;
|
||||
stream::MemoryStream memoryStream;
|
||||
obj->assembly->Serialize(memoryStream);
|
||||
writer << (IStream&)memoryStream;
|
||||
writer << (stream::IStream&)memoryStream;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& stream, GuiResourceError::List& errors)override
|
||||
Ptr<DescriptableObject> ResolveResourcePrecompiled(Ptr<GuiResourceItem> resource, stream::IStream& resourceStream, GuiResourceError::List& errors)override
|
||||
{
|
||||
internal::ContextFreeReader reader(stream);
|
||||
internal::ContextFreeReader reader(resourceStream);
|
||||
|
||||
vint type;
|
||||
reader << type;
|
||||
|
||||
|
||||
auto obj = MakePtr<GuiInstanceCompiledWorkflow>();
|
||||
obj->type = (GuiInstanceCompiledWorkflow::AssemblyType)type;
|
||||
if (obj->type == GuiInstanceCompiledWorkflow::InstanceClass)
|
||||
{
|
||||
auto memoryStream = MakePtr<MemoryStream>();
|
||||
reader << (IStream&)*memoryStream.Obj();
|
||||
auto memoryStream = MakePtr<stream::MemoryStream>();
|
||||
reader << (stream::IStream&)*memoryStream.Obj();
|
||||
obj->binaryToLoad = memoryStream;
|
||||
}
|
||||
return obj;
|
||||
|
||||
+12
-12
@@ -13767,7 +13767,7 @@ WindowsImageFrame
|
||||
return frameBitmap.Obj();
|
||||
}
|
||||
|
||||
void WindowsImageFrame::SaveBitmapToStream(stream::IStream& stream)
|
||||
void WindowsImageFrame::SaveBitmapToStream(stream::IStream& imageStream)
|
||||
{
|
||||
UINT width = 0;
|
||||
UINT height = 0;
|
||||
@@ -13781,7 +13781,7 @@ WindowsImageFrame
|
||||
rect.Height = (INT)height;
|
||||
frameBitmap->CopyPixels(&rect, (UINT)bitmap->GetLineBytes(), (UINT)(bitmap->GetLineBytes()*height), (BYTE*)bitmap->GetScanLines()[0]);
|
||||
|
||||
bitmap->SaveToStream(stream, false);
|
||||
bitmap->SaveToStream(imageStream, false);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
@@ -13944,7 +13944,7 @@ WindowsImage
|
||||
}
|
||||
}
|
||||
|
||||
void MoveIStreamToStream(IStream* pIStream, stream::IStream& stream)
|
||||
void MoveIStreamToStream(IStream* pIStream, stream::IStream& outputStream)
|
||||
{
|
||||
LARGE_INTEGER dlibMove;
|
||||
dlibMove.QuadPart = 0;
|
||||
@@ -13957,7 +13957,7 @@ WindowsImage
|
||||
hr = pIStream->Read(&buffer[0], count, &read);
|
||||
if (read > 0)
|
||||
{
|
||||
stream.Write(&buffer[0], (vint)read);
|
||||
outputStream.Write(&buffer[0], (vint)read);
|
||||
}
|
||||
if (read != count)
|
||||
{
|
||||
@@ -13966,7 +13966,7 @@ WindowsImage
|
||||
}
|
||||
}
|
||||
|
||||
void WindowsImage::SaveToStream(stream::IStream& stream, FormatType formatType)
|
||||
void WindowsImage::SaveToStream(stream::IStream& imageStream, FormatType formatType)
|
||||
{
|
||||
auto factory = GetWICImagingFactory();
|
||||
GUID formatGUID;
|
||||
@@ -14084,7 +14084,7 @@ WindowsImage
|
||||
|
||||
hr = bitmapEncoder->Commit();
|
||||
bitmapEncoder->Release();
|
||||
MoveIStreamToStream(pIStream, stream);
|
||||
MoveIStreamToStream(pIStream, imageStream);
|
||||
pIStream->Release();
|
||||
}
|
||||
FAILED:;
|
||||
@@ -14125,7 +14125,7 @@ WindowsBitmapImage
|
||||
return index==0?frame.Obj():0;
|
||||
}
|
||||
|
||||
void WindowsBitmapImage::SaveToStream(stream::IStream& stream, FormatType formatType)
|
||||
void WindowsBitmapImage::SaveToStream(stream::IStream& imageStream, FormatType formatType)
|
||||
{
|
||||
auto factory = GetWICImagingFactory();
|
||||
if (formatType == INativeImage::Unknown)
|
||||
@@ -14169,7 +14169,7 @@ WindowsBitmapImage
|
||||
|
||||
hr = bitmapEncoder->Commit();
|
||||
bitmapEncoder->Release();
|
||||
MoveIStreamToStream(pIStream, stream);
|
||||
MoveIStreamToStream(pIStream, imageStream);
|
||||
pIStream->Release();
|
||||
}
|
||||
FAILED:;
|
||||
@@ -14239,15 +14239,15 @@ WindowsImageService
|
||||
return result;
|
||||
}
|
||||
|
||||
Ptr<INativeImage> WindowsImageService::CreateImageFromStream(stream::IStream& stream)
|
||||
Ptr<INativeImage> WindowsImageService::CreateImageFromStream(stream::IStream& imageStream)
|
||||
{
|
||||
stream::MemoryStream memoryStream;
|
||||
char buffer[65536];
|
||||
while(true)
|
||||
while (true)
|
||||
{
|
||||
vint length=stream.Read(buffer, sizeof(buffer));
|
||||
vint length = imageStream.Read(buffer, sizeof(buffer));
|
||||
memoryStream.Write(buffer, length);
|
||||
if(length!=sizeof(buffer))
|
||||
if (length != sizeof(buffer))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
+375
-374
File diff suppressed because it is too large
Load Diff
+43
-7
@@ -7,6 +7,11 @@ DEVELOPER: Zihan Chen(vczh)
|
||||
/***********************************************************************
|
||||
.\BASIC.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
#include <time.h>
|
||||
#if defined VCZH_MSVC
|
||||
#include <Windows.h>
|
||||
@@ -109,6 +114,8 @@ DateTime
|
||||
dt.minute = timeinfo->tm_min;
|
||||
dt.second = timeinfo->tm_sec;
|
||||
dt.milliseconds = milliseconds;
|
||||
|
||||
// in Linux and macOS, filetime will be mktime(t) * 1000 + gettimeofday().tv_usec / 1000
|
||||
dt.filetime = (vuint64_t)timer * 1000 + milliseconds;
|
||||
dt.totalMilliseconds = (vuint64_t)timer * 1000 + milliseconds;
|
||||
return dt;
|
||||
@@ -274,6 +281,11 @@ Interface
|
||||
/***********************************************************************
|
||||
.\CONSOLE.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
#if defined VCZH_MSVC
|
||||
#elif defined VCZH_GCC
|
||||
#include <iostream>
|
||||
@@ -394,6 +406,11 @@ Console
|
||||
/***********************************************************************
|
||||
.\EXCEPTION.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
namespace vl
|
||||
{
|
||||
@@ -457,6 +474,11 @@ ParsingException
|
||||
/***********************************************************************
|
||||
.\GLOBALSTORAGE.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
namespace vl
|
||||
{
|
||||
@@ -483,7 +505,6 @@ GlobalStorage
|
||||
***********************************************************************/
|
||||
|
||||
GlobalStorage::GlobalStorage(const wchar_t* key)
|
||||
:cleared(false)
|
||||
{
|
||||
InitializeGlobalStorage();
|
||||
GetGlobalStorageManager().storages->Add(key, this);
|
||||
@@ -514,21 +535,21 @@ Helper Functions
|
||||
|
||||
void InitializeGlobalStorage()
|
||||
{
|
||||
if(!GetGlobalStorageManager().storages)
|
||||
if (!GetGlobalStorageManager().storages)
|
||||
{
|
||||
GetGlobalStorageManager().storages=new Dictionary<WString, GlobalStorage*>;
|
||||
GetGlobalStorageManager().storages = new Dictionary<WString, GlobalStorage*>;
|
||||
}
|
||||
}
|
||||
|
||||
void FinalizeGlobalStorage()
|
||||
{
|
||||
if(GetGlobalStorageManager().storages)
|
||||
if (GetGlobalStorageManager().storages)
|
||||
{
|
||||
for(vint i=0;i<GetGlobalStorageManager().storages->Count();i++)
|
||||
for (vint i = 0; i < GetGlobalStorageManager().storages->Count(); i++)
|
||||
{
|
||||
GetGlobalStorageManager().storages->Values().Get(i)->ClearResource();
|
||||
}
|
||||
GetGlobalStorageManager().storages=0;
|
||||
GetGlobalStorageManager().storages = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -537,6 +558,11 @@ Helper Functions
|
||||
/***********************************************************************
|
||||
.\STRING.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
#if defined VCZH_MSVC
|
||||
#elif defined VCZH_GCC
|
||||
#include <stdio.h>
|
||||
@@ -1082,6 +1108,11 @@ namespace vl
|
||||
/***********************************************************************
|
||||
.\COLLECTIONS\PARTIALORDERING.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
namespace vl
|
||||
{
|
||||
@@ -1189,6 +1220,11 @@ PartialOrderingProcessor
|
||||
/***********************************************************************
|
||||
.\UNITTEST\UNITTEST.CPP
|
||||
***********************************************************************/
|
||||
/***********************************************************************
|
||||
Author: Zihan Chen (vczh)
|
||||
Licensed under https://github.com/vczh-libraries/License
|
||||
***********************************************************************/
|
||||
|
||||
#ifdef VCZH_MSVC
|
||||
#endif
|
||||
|
||||
@@ -1219,7 +1255,7 @@ UnitTest
|
||||
Category,
|
||||
Case,
|
||||
};
|
||||
|
||||
|
||||
struct UnitTestContext
|
||||
{
|
||||
UnitTestContext* parent = nullptr;
|
||||
|
||||
+3900
-3420
File diff suppressed because it is too large
Load Diff
+1569
-1569
File diff suppressed because it is too large
Load Diff
+1123
-1123
File diff suppressed because it is too large
Load Diff
+448
-448
File diff suppressed because it is too large
Load Diff
@@ -765,11 +765,11 @@ WfLexicalScopeManager
|
||||
stateMachineInfos.Clear();
|
||||
}
|
||||
|
||||
#define CALLBACK(EXPR) if (callback) callback->EXPR
|
||||
#define EXECUTE_CALLBACK(EXPR) if (callback) callback->EXPR
|
||||
|
||||
void WfLexicalScopeManager::Rebuild(bool keepTypeDescriptorNames, IWfCompilerCallback* callback)
|
||||
{
|
||||
CALLBACK(OnLoadEnvironment());
|
||||
EXECUTE_CALLBACK(OnLoadEnvironment());
|
||||
Clear(keepTypeDescriptorNames, false);
|
||||
if (!globalName)
|
||||
{
|
||||
@@ -777,7 +777,7 @@ WfLexicalScopeManager
|
||||
BuildGlobalNameFromTypeDescriptors(this);
|
||||
}
|
||||
|
||||
CALLBACK(OnInitialize(this));
|
||||
EXECUTE_CALLBACK(OnInitialize(this));
|
||||
vint errorCount = errors.Count();
|
||||
|
||||
#define EXIT_IF_ERRORS_EXIST\
|
||||
@@ -813,14 +813,14 @@ WfLexicalScopeManager
|
||||
EXIT_IF_ERRORS_EXIST;
|
||||
FOREACH(Ptr<WfModule>, module, modules)
|
||||
{
|
||||
CALLBACK(OnValidateModule(module));
|
||||
EXECUTE_CALLBACK(OnValidateModule(module));
|
||||
ValidateModuleSemantic(this, module);
|
||||
}
|
||||
|
||||
#undef EXIT_IF_ERRORS_EXIST
|
||||
}
|
||||
|
||||
#undef CALLBACK
|
||||
#undef EXECUTE_CALLBACK
|
||||
|
||||
bool WfLexicalScopeManager::ResolveMember(ITypeDescriptor* typeDescriptor, const WString& name, bool preferStatic, collections::SortedList<ITypeDescriptor*>& searchedTypes, collections::List<ResolveExpressionResult>& results)
|
||||
{
|
||||
@@ -24282,11 +24282,11 @@ GetInstructionTypeArgument
|
||||
GenerateAssembly
|
||||
***********************************************************************/
|
||||
|
||||
#define CALLBACK(EXPR) if (callback) callback->EXPR
|
||||
#define EXECUTE_CALLBACK(EXPR) if (callback) callback->EXPR
|
||||
|
||||
Ptr<runtime::WfAssembly> GenerateAssembly(analyzer::WfLexicalScopeManager* manager, IWfCompilerCallback* callback)
|
||||
{
|
||||
CALLBACK(OnGenerateMetadata());
|
||||
EXECUTE_CALLBACK(OnGenerateMetadata());
|
||||
auto assembly = MakePtr<WfAssembly>();
|
||||
assembly->insBeforeCodegen = new WfInstructionDebugInfo;
|
||||
assembly->insAfterCodegen = new WfInstructionDebugInfo;
|
||||
@@ -24381,19 +24381,19 @@ GenerateAssembly
|
||||
|
||||
FOREACH(Ptr<WfModule>, module, manager->GetModules())
|
||||
{
|
||||
CALLBACK(OnGenerateCode(module));
|
||||
EXECUTE_CALLBACK(OnGenerateCode(module));
|
||||
FOREACH(Ptr<WfDeclaration>, decl, module->declarations)
|
||||
{
|
||||
GenerateDeclarationInstructions(context, decl);
|
||||
}
|
||||
}
|
||||
|
||||
CALLBACK(OnGenerateDebugInfo());
|
||||
EXECUTE_CALLBACK(OnGenerateDebugInfo());
|
||||
assembly->Initialize();
|
||||
return assembly;
|
||||
}
|
||||
|
||||
#undef CALLBACK
|
||||
#undef EXECUTE_CALLBACK
|
||||
#undef FILL_LABEL_TO_CURRENT
|
||||
#undef FILL_LABEL_TO_INS
|
||||
#undef INSTRUCTION
|
||||
|
||||
+267
-267
File diff suppressed because it is too large
Load Diff
+356
-356
File diff suppressed because it is too large
Load Diff
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