Commit b4181e01 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

ASCPresentationEditor.dll (1.0.0.109)

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@58877 954022d7-b5bf-4e40-9824-e11837661b57
parent b37f342c
...@@ -63,13 +63,14 @@ __interface IAVSPresentationEditor: IDispatch ...@@ -63,13 +63,14 @@ __interface IAVSPresentationEditor: IDispatch
[id(2001)] HRESULT GetAdditionalParam([in] BSTR ParamName, [out, retval] VARIANT* ParamValue); [id(2001)] HRESULT GetAdditionalParam([in] BSTR ParamName, [out, retval] VARIANT* ParamValue);
}; };
[dispinterface, uuid("34EC371F-3F73-4a40-B8A6-FD21B9C3E789")] //?????? ???
__interface _IAVSPresentationEditorEvents //[dispinterface, uuid("34EC371F-3F73-4a40-B8A6-FD21B9C3E789")]
{ //__interface _IAVSPresentationEditorEvents
}; //{
//};
// CAVSPresentationEditor // CAVSPresentationEditor
[coclass, uuid("29759D68-916E-4317-BC8B-35793F7448B3"), event_source(com), threading(apartment), vi_progid("AVSPptEditor.PptEditor"), progid("AVSPptEditor.PptEditor.1"), version(1.0)] [coclass, uuid("29759D68-916E-4317-BC8B-35793F7448B3")/*, event_source(com)*/, threading(apartment), vi_progid("AVSPptEditor.PptEditor"), progid("AVSPptEditor.PptEditor.1"), version(1.0)]
class ATL_NO_VTABLE CAVSPresentationEditor: class ATL_NO_VTABLE CAVSPresentationEditor:
public IAVSPresentationEditor public IAVSPresentationEditor
{ {
...@@ -109,8 +110,6 @@ protected: ...@@ -109,8 +110,6 @@ protected:
#endif #endif
public: public:
__event __interface _IAVSPresentationEditorEvents;
CAVSPresentationEditor() CAVSPresentationEditor()
{ {
m_hSynchMutex = CreateMutex(NULL, FALSE, NULL); m_hSynchMutex = CreateMutex(NULL, FALSE, NULL);
......
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005 # Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCPresentationEditor", "ASCPresentationEditor_vs2005.vcproj", "{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCPresentationEditor", "ASCPresentationEditor_vs2005.vcproj", "{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}"
ProjectSection(ProjectDependencies) = postProject
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{DC24710E-8DF2-4A7A-B7C3-2313E294143C} = {DC24710E-8DF2-4A7A-B7C3-2313E294143C}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
{818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81} = {7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "agg2d", "..\DesktopEditor\agg-2.4\agg_vs2005.vcproj", "{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCHTMLRenderer", "..\ASCHTMLRenderer\ASCHTMLRendererLib.vcproj", "{DC24710E-8DF2-4A7A-B7C3-2313E294143C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "font_engine", "..\DesktopEditor\fontengine\font_engine_vs2005.vcproj", "{C739151F-5384-41DF-A1A6-F089E2C1AD56}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\DesktopEditor\graphics\graphics_vs2005.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "..\DesktopEditor\freetype-2.5.2\builds\windows\vc2005\freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raster", "..\DesktopEditor\raster\raster_vs2005.vcproj", "{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cximage", "..\DesktopEditor\cximage\CxImage\cximage_vs2005.vcproj", "{BC52A07C-A797-423D-8C4F-8678805BBB36}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg", "..\DesktopEditor\cximage\jpeg\Jpeg_vs2005.vcproj", "{818753F2-DBB9-4D3B-898A-A604309BE470}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiff", "..\DesktopEditor\cximage\tiff\Tiff_vs2005.vcproj", "{0588563C-F05C-428C-B21A-DD74756628B3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "png", "..\DesktopEditor\cximage\png\png_vs2005.vcproj", "{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mng", "..\DesktopEditor\cximage\mng\mng_vs2005.vcproj", "{40A69F40-063E-43FD-8543-455495D8733E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\DesktopEditor\cximage\zlib\zlib_vs2005.vcproj", "{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdcr", "..\DesktopEditor\cximage\raw\libdcr_vs2005.vcproj", "{DF861D33-9BC1-418C-82B1-581F590FE169}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpsd", "..\DesktopEditor\cximage\libpsd\libpsd_vs2005.vcproj", "{9A037A69-D1DF-4505-AB2A-6CB3641C476E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jasper", "..\DesktopEditor\cximage\jasper\jasper_vs2005.vcproj", "{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Multithreaded|Win32 = Debug Multithreaded|Win32
Debug Multithreaded|x64 = Debug Multithreaded|x64
Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32
Debug Singlethreaded|x64 = Debug Singlethreaded|x64
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release Multithreaded|Win32 = Release Multithreaded|Win32
Release Multithreaded|x64 = Release Multithreaded|x64
Release Singlethreaded|Win32 = Release Singlethreaded|Win32
Release Singlethreaded|x64 = Release Singlethreaded|x64
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseASC|Win32 = ReleaseASC|Win32 ReleaseASC|Win32 = ReleaseASC|Win32
ReleaseASC|x64 = ReleaseASC|x64
Unicode Debug|Win32 = Unicode Debug|Win32
Unicode Debug|x64 = Unicode Debug|x64
Unicode Release|Win32 = Unicode Release|Win32
Unicode Release|x64 = Unicode Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.ActiveCfg = Debug|Win32 {61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.Build.0 = Debug|Win32 {61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Debug|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Multithreaded|Win32.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Multithreaded|Win32.Build.0 = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Multithreaded|x64.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Singlethreaded|Win32.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Singlethreaded|Win32.Build.0 = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release Singlethreaded|x64.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.ActiveCfg = Release|Win32 {61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.Build.0 = Release|Win32 {61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|Win32.Build.0 = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Release|x64.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|Win32.ActiveCfg = ReleaseASC|Win32 {61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|Win32.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|Win32.Build.0 = ReleaseASC|Win32 {61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|Win32.Build.0 = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.ReleaseASC|x64.ActiveCfg = ReleaseASC|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Debug|Win32.Build.0 = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Release|Win32.ActiveCfg = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Release|Win32.Build.0 = Release|Win32
{61BE1BAC-A599-48FF-B44E-097C9D2DF0E9}.Unicode Release|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.ReleaseASC|x64.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|Win32.Build.0 = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|Win32.ActiveCfg = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|Win32.Build.0 = Release|Win32
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Debug|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Multithreaded|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Release|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.ReleaseASC|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.ReleaseASC|x64.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Debug|Win32.Build.0 = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Release|Win32.ActiveCfg = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Release|Win32.Build.0 = Release|Win32
{DC24710E-8DF2-4A7A-B7C3-2313E294143C}.Unicode Release|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.ReleaseASC|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.ReleaseASC|x64.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|Win32.Build.0 = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|Win32.ActiveCfg = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|Win32.Build.0 = Release|Win32
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|x64.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|x64.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.ActiveCfg = Debug Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.ActiveCfg = Debug Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x64.ActiveCfg = Release Multithreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.ReleaseASC|Win32.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.ReleaseASC|Win32.Build.0 = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.ReleaseASC|x64.ActiveCfg = Release Singlethreaded|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|Win32.Build.0 = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|x64.ActiveCfg = Debug|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|Win32.ActiveCfg = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|Win32.Build.0 = Release|Win32
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|x64.ActiveCfg = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Multithreaded|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|Win32.ActiveCfg = Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|Win32.Build.0 = Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Multithreaded|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Multithreaded|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release Singlethreaded|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|Win32.ActiveCfg = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|Win32.Build.0 = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseASC|Win32.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseASC|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.ReleaseASC|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|x64.Build.0 = Unicode Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Multithreaded|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|Win32.ActiveCfg = Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|Win32.Build.0 = Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Multithreaded|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Multithreaded|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release Singlethreaded|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|Win32.ActiveCfg = Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|Win32.Build.0 = Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.ReleaseASC|Win32.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.ReleaseASC|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.ReleaseASC|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|x64.Build.0 = Unicode Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Multithreaded|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|Win32.ActiveCfg = Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|Win32.Build.0 = Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Multithreaded|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Multithreaded|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release Singlethreaded|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|Win32.ActiveCfg = Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|Win32.Build.0 = Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.ReleaseASC|Win32.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.ReleaseASC|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.ReleaseASC|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|x64.Build.0 = Unicode Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Multithreaded|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|Win32.ActiveCfg = Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|Win32.Build.0 = Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Multithreaded|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Multithreaded|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release Singlethreaded|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|Win32.ActiveCfg = Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|Win32.Build.0 = Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.ReleaseASC|Win32.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.ReleaseASC|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.ReleaseASC|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|x64.Build.0 = Unicode Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Multithreaded|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|Win32.ActiveCfg = Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|Win32.Build.0 = Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Multithreaded|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Multithreaded|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release Singlethreaded|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|Win32.ActiveCfg = Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|Win32.Build.0 = Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.ReleaseASC|Win32.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.ReleaseASC|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.ReleaseASC|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|x64.Build.0 = Unicode Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Multithreaded|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|Win32.ActiveCfg = Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|Win32.Build.0 = Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Multithreaded|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Multithreaded|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release Singlethreaded|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release|Win32.ActiveCfg = Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Release|Win32.Build.0 = Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Release|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.ReleaseASC|Win32.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.ReleaseASC|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.ReleaseASC|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|x64.Build.0 = Unicode Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Multithreaded|x64.Build.0 = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|Win32.ActiveCfg = Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|Win32.Build.0 = Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|x64.ActiveCfg = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Debug|x64.Build.0 = Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Multithreaded|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Multithreaded|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release Singlethreaded|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|Win32.ActiveCfg = Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|Win32.Build.0 = Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Release|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.ReleaseASC|Win32.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.ReleaseASC|x64.ActiveCfg = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.ReleaseASC|x64.Build.0 = Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{7B53D2C7-1B4A-4A53-A7D3-E25B92470B81}.Unicode Release|x64.Build.0 = Unicode Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Multithreaded|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|Win32.ActiveCfg = Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|Win32.Build.0 = Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Multithreaded|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Multithreaded|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release Singlethreaded|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|Win32.ActiveCfg = Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|Win32.Build.0 = Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.ReleaseASC|Win32.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.ReleaseASC|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.ReleaseASC|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|x64.Build.0 = Unicode Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Multithreaded|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|Win32.ActiveCfg = Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|Win32.Build.0 = Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Multithreaded|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Multithreaded|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release Singlethreaded|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|Win32.ActiveCfg = Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|Win32.Build.0 = Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.ReleaseASC|Win32.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.ReleaseASC|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.ReleaseASC|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|x64.Build.0 = Unicode Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Multithreaded|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|Win32.ActiveCfg = Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|Win32.Build.0 = Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Multithreaded|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Multithreaded|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release Singlethreaded|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|Win32.ActiveCfg = Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|Win32.Build.0 = Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.ReleaseASC|Win32.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.ReleaseASC|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.ReleaseASC|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|x64.Build.0 = Unicode Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
......
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="2" Optimization="2"
AdditionalIncludeDirectories="..\ASCPresentationEditor;..\Common" AdditionalIncludeDirectories="..\ASCPresentationEditor;..\Common"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES" PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES;_USE_MATH_DEFINES;PPT_DEF;PPTX_DEF;ODP_DEF;_PRESENTATION_WRITER_;USE_ODF_FILE"
RuntimeLibrary="2" RuntimeLibrary="2"
EnableFunctionLevelLinking="true" EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2" UsePrecompiledHeader="2"
...@@ -424,6 +424,14 @@ ...@@ -424,6 +424,14 @@
<File <File
RelativePath=".\OfficeDrawing\Elements.cpp" RelativePath=".\OfficeDrawing\Elements.cpp"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath=".\OfficeDrawing\Elements.h" RelativePath=".\OfficeDrawing\Elements.h"
...@@ -436,6 +444,14 @@ ...@@ -436,6 +444,14 @@
<File <File
RelativePath=".\OfficeDrawing\Layout.cpp" RelativePath=".\OfficeDrawing\Layout.cpp"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath=".\OfficeDrawing\Layout.h" RelativePath=".\OfficeDrawing\Layout.h"
...@@ -468,6 +484,14 @@ ...@@ -468,6 +484,14 @@
<File <File
RelativePath=".\OfficeDrawing\TextAttributesEx.cpp" RelativePath=".\OfficeDrawing\TextAttributesEx.cpp"
> >
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath=".\OfficeDrawing\TextAttributesEx.h" RelativePath=".\OfficeDrawing\TextAttributesEx.h"
...@@ -485,30 +509,6 @@ ...@@ -485,30 +509,6 @@
RelativePath=".\OfficeDrawing\Theme.h" RelativePath=".\OfficeDrawing\Theme.h"
> >
</File> </File>
<Filter
Name="Graphics"
>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\agg_trans_affine.cpp"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\agg_trans_affine.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\ap_AggPlusEnums.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\ap_AggPlusTypes.h"
>
</File>
<File
RelativePath=".\OfficeDrawing\Shapes\Graphics\Matrix.h"
>
</File>
</Filter>
</Filter> </Filter>
<Filter <Filter
Name="PPTXWriter" Name="PPTXWriter"
......
#pragma once #pragma once
#ifdef _WIN32 #ifdef _WIN32
#include <atlcoll.h> #include <atlcoll.h>
#include "Gdiplus.h" #include <gdiplus.h>
#endif #endif
#include "Metric.h" #include "Metric.h"
......
...@@ -128,7 +128,7 @@ namespace NSPresentationEditor ...@@ -128,7 +128,7 @@ namespace NSPresentationEditor
class CAudioOverlay class CAudioOverlay
{ {
public: public:
CAtlArray<CAudioPart> m_arParts; std::vector<CAudioPart> m_arParts;
double m_dAllDuration; double m_dAllDuration;
public: public:
...@@ -144,7 +144,7 @@ namespace NSPresentationEditor ...@@ -144,7 +144,7 @@ namespace NSPresentationEditor
} }
CAudioOverlay& operator=(const CAudioOverlay& oSrc) CAudioOverlay& operator=(const CAudioOverlay& oSrc)
{ {
m_arParts.Copy(oSrc.m_arParts); m_arParts.insert(m_arParts.end(), oSrc.m_arParts.begin(), oSrc.m_arParts.end());
m_dAllDuration = oSrc.m_dAllDuration; m_dAllDuration = oSrc.m_dAllDuration;
return *this; return *this;
} }
...@@ -153,7 +153,7 @@ namespace NSPresentationEditor ...@@ -153,7 +153,7 @@ namespace NSPresentationEditor
void Calculate() void Calculate()
{ {
size_t nCount = m_arParts.GetCount(); size_t nCount = m_arParts.size();
// //
for (size_t i = 0; i < nCount; ++i) for (size_t i = 0; i < nCount; ++i)
...@@ -233,7 +233,7 @@ namespace NSPresentationEditor ...@@ -233,7 +233,7 @@ namespace NSPresentationEditor
{ {
CString strRes = _T(""); CString strRes = _T("");
size_t nCount = m_arParts.GetCount(); size_t nCount = m_arParts.size();
for (size_t i = 0; i < nCount; ++i) for (size_t i = 0; i < nCount; ++i)
{ {
......
...@@ -7,8 +7,8 @@ namespace NSPresentationEditor ...@@ -7,8 +7,8 @@ namespace NSPresentationEditor
class CDocument : public IBase class CDocument : public IBase
{ {
public: public:
CAtlArray<CTheme> m_arThemes; std::vector<CTheme> m_arThemes;
CAtlArray<CSlide> m_arSlides; std::vector<CSlide> m_arSlides;
CMetricInfo m_oInfo; CMetricInfo m_oInfo;
...@@ -24,8 +24,8 @@ namespace NSPresentationEditor ...@@ -24,8 +24,8 @@ namespace NSPresentationEditor
CDocument& operator=(const CDocument& oSrc) CDocument& operator=(const CDocument& oSrc)
{ {
m_arThemes.Copy(oSrc.m_arThemes); m_arThemes.insert(m_arThemes.end(), oSrc.m_arThemes.begin(), oSrc.m_arThemes.end());
m_arSlides.Copy(oSrc.m_arSlides); m_arSlides.insert(m_arSlides.end(), oSrc.m_arSlides.begin(), oSrc.m_arSlides.end());
m_oInfo = oSrc.m_oInfo; m_oInfo = oSrc.m_oInfo;
...@@ -47,15 +47,15 @@ namespace NSPresentationEditor ...@@ -47,15 +47,15 @@ namespace NSPresentationEditor
// //
inline void ClearThemes() inline void ClearThemes()
{ {
m_arThemes.RemoveAll(); m_arThemes.clear();
} }
inline void AddTheme(const CTheme& oTheme) inline void AddTheme(const CTheme& oTheme)
{ {
m_arThemes.Add(oTheme); m_arThemes.push_back(oTheme);
} }
inline void UpdateTheme(size_t nIndex, const CTheme& oTheme) inline void UpdateTheme(size_t nIndex, const CTheme& oTheme)
{ {
if (nIndex >= m_arThemes.GetCount()) if (nIndex >= m_arThemes.size())
return; return;
m_arThemes[nIndex] = oTheme; m_arThemes[nIndex] = oTheme;
...@@ -63,15 +63,15 @@ namespace NSPresentationEditor ...@@ -63,15 +63,15 @@ namespace NSPresentationEditor
// //
inline void ClearSlides() inline void ClearSlides()
{ {
m_arSlides.RemoveAll(); m_arSlides.clear();
} }
inline void AddSlide(const CSlide& oSlide) inline void AddSlide(const CSlide& oSlide)
{ {
m_arSlides.Add(oSlide); m_arSlides.push_back(oSlide);
} }
inline void UpdateSlide(size_t nIndex, const CSlide& oSlide) inline void UpdateSlide(size_t nIndex, const CSlide& oSlide)
{ {
if (nIndex >= m_arSlides.GetCount()) if (nIndex >= m_arSlides.size())
return; return;
m_arSlides[nIndex] = oSlide; m_arSlides[nIndex] = oSlide;
...@@ -82,17 +82,17 @@ namespace NSPresentationEditor ...@@ -82,17 +82,17 @@ namespace NSPresentationEditor
// layouts // layouts
void CalculateLayouts() void CalculateLayouts()
{ {
size_t nCountThemes = m_arThemes.GetCount(); size_t nCountThemes = m_arThemes.size();
for (size_t i = 0; i < nCountThemes; ++i) for (size_t i = 0; i < nCountThemes; ++i)
{ {
CTheme* pTheme = &m_arThemes[i]; CTheme* pTheme = &m_arThemes[i];
size_t nCountLayouts = pTheme->m_arLayouts.GetCount(); size_t nCountLayouts = pTheme->m_arLayouts.size();
for (size_t j = 0; j < nCountLayouts; ++j) for (size_t j = 0; j < nCountLayouts; ++j)
{ {
CLayout* pLayout = &pTheme->m_arLayouts[j]; CLayout* pLayout = &pTheme->m_arLayouts[j];
size_t nCountElements = pLayout->m_arElements.GetCount(); size_t nCountElements = pLayout->m_arElements.size();
for (size_t nElem = 0; nElem < nCountElements; ++nElem) for (size_t nElem = 0; nElem < nCountElements; ++nElem)
{ {
if (pLayout->m_bUseThemeColorScheme) if (pLayout->m_bUseThemeColorScheme)
...@@ -113,12 +113,12 @@ namespace NSPresentationEditor ...@@ -113,12 +113,12 @@ namespace NSPresentationEditor
{ {
CalculateLayouts(); CalculateLayouts();
size_t nCount = m_arSlides.GetCount(); size_t nCount = m_arSlides.size();
for (size_t nIndex = 0; nIndex < nCount; ++nIndex) for (size_t nIndex = 0; nIndex < nCount; ++nIndex)
{ {
LONG lThemeID = m_arSlides[nIndex].m_lThemeID; LONG lThemeID = m_arSlides[nIndex].m_lThemeID;
if ((0 > lThemeID) || (lThemeID >= (LONG)m_arThemes.GetCount())) if ((0 > lThemeID) || (lThemeID >= (LONG)m_arThemes.size()))
{ {
m_arSlides[nIndex].Calculate(NULL); m_arSlides[nIndex].Calculate(NULL);
continue; continue;
...@@ -128,23 +128,23 @@ namespace NSPresentationEditor ...@@ -128,23 +128,23 @@ namespace NSPresentationEditor
} }
// //
size_t nCountThemes = m_arThemes.GetCount(); size_t nCountThemes = m_arThemes.size();
for (size_t i = 0; i < nCountThemes; ++i) for (size_t i = 0; i < nCountThemes; ++i)
{ {
CTheme* pTheme = &m_arThemes[i]; CTheme* pTheme = &m_arThemes[i];
size_t nCountEl = pTheme->m_arElements.GetCount(); size_t nCountEl = pTheme->m_arElements.size();
for (size_t j = 0; j < nCountEl; ++j) for (size_t j = 0; j < nCountEl; ++j)
{ {
pTheme->m_arElements[j]->m_pTheme = pTheme; pTheme->m_arElements[j]->m_pTheme = pTheme;
} }
size_t nCountLayouts = pTheme->m_arLayouts.GetCount(); size_t nCountLayouts = pTheme->m_arLayouts.size();
for (size_t j = 0; j < nCountLayouts; ++j) for (size_t j = 0; j < nCountLayouts; ++j)
{ {
CLayout* pLayout = &pTheme->m_arLayouts[j]; CLayout* pLayout = &pTheme->m_arLayouts[j];
nCountEl = pLayout->m_arElements.GetCount(); nCountEl = pLayout->m_arElements.size();
for (size_t k = 0; k < nCountEl; ++k) for (size_t k = 0; k < nCountEl; ++k)
{ {
pLayout->m_arElements[k]->m_pTheme = pTheme; pLayout->m_arElements[k]->m_pTheme = pTheme;
...@@ -156,7 +156,7 @@ namespace NSPresentationEditor ...@@ -156,7 +156,7 @@ namespace NSPresentationEditor
// / // /
void ClearPreset() void ClearPreset()
{ {
size_t nCount = m_arSlides.GetCount(); size_t nCount = m_arSlides.size();
for (size_t nIndex = 0; nIndex < nCount; ++nIndex) for (size_t nIndex = 0; nIndex < nCount; ++nIndex)
{ {
m_arSlides[nIndex].ClearPreset(); m_arSlides[nIndex].ClearPreset();
...@@ -172,18 +172,18 @@ namespace NSPresentationEditor ...@@ -172,18 +172,18 @@ namespace NSPresentationEditor
CAudioOverlay oAudioOverlay; CAudioOverlay oAudioOverlay;
CalculateTimes(oAudioOverlay); CalculateTimes(oAudioOverlay);
size_t nCountSlides = m_arSlides.GetCount(); size_t nCountSlides = m_arSlides.size();
if ( nCountSlides > 0 ) if ( nCountSlides > 0 )
{ {
double dDuration = 0.0; double dDuration = 0.0;
for (size_t nIndex = 0; nIndex < m_arSlides.GetCount(); ++nIndex) for (size_t nIndex = 0; nIndex < m_arSlides.size(); ++nIndex)
{ {
dDuration += m_arSlides[nIndex].m_dDuration; dDuration += m_arSlides[nIndex].m_dDuration;
} }
CString XmlSlideSource = _T(""); CString XmlSlideSource = _T("");
for ( size_t nIndex = 0; nIndex < m_arSlides.GetCount(); ++nIndex ) for ( size_t nIndex = 0; nIndex < m_arSlides.size(); ++nIndex )
{ {
CSlide* pSlide = &m_arSlides[nIndex]; CSlide* pSlide = &m_arSlides[nIndex];
...@@ -208,7 +208,7 @@ namespace NSPresentationEditor ...@@ -208,7 +208,7 @@ namespace NSPresentationEditor
} }
else else
{ {
int nElements = (int)pSlide->m_arElements.GetCount(); int nElements = (int)pSlide->m_arElements.size();
for ( int nElem = 0; nElem < nElements; ++nElem ) for ( int nElem = 0; nElem < nElements; ++nElem )
{ {
if (etVideo == pSlide->m_arElements[nElem]->m_etType) if (etVideo == pSlide->m_arElements[nElem]->m_etType)
...@@ -490,7 +490,7 @@ namespace NSPresentationEditor ...@@ -490,7 +490,7 @@ namespace NSPresentationEditor
{ {
CaclulateSlideTimes(); CaclulateSlideTimes();
LONG lCount = (LONG)m_arSlides.GetCount(); LONG lCount = (LONG)m_arSlides.size();
double dAllDuration = 0; double dAllDuration = 0;
if (lCount > 0) if (lCount > 0)
...@@ -514,7 +514,7 @@ namespace NSPresentationEditor ...@@ -514,7 +514,7 @@ namespace NSPresentationEditor
double Duration = 0; double Duration = 0;
double Transition2 = 0; double Transition2 = 0;
int nCount = (int)m_arSlides.GetCount(); int nCount = (int)m_arSlides.size();
for (int i = 0; i < nCount; ++i) for (int i = 0; i < nCount; ++i)
{ {
CSlide* pSlide = &m_arSlides[i]; CSlide* pSlide = &m_arSlides[i];
...@@ -530,7 +530,7 @@ namespace NSPresentationEditor ...@@ -530,7 +530,7 @@ namespace NSPresentationEditor
// , . - , // , . - ,
// //
size_t nSize = pSlide->m_arElements.GetCount(); size_t nSize = pSlide->m_arElements.size();
for (size_t j = 0; j < nSize; ++j) for (size_t j = 0; j < nSize; ++j)
{ {
if (etVideo == pSlide->m_arElements[j]->m_etType) if (etVideo == pSlide->m_arElements[j]->m_etType)
...@@ -576,7 +576,7 @@ namespace NSPresentationEditor ...@@ -576,7 +576,7 @@ namespace NSPresentationEditor
CSlide* pSlide = &m_arSlides[nIndex]; CSlide* pSlide = &m_arSlides[nIndex];
size_t nCountElems = pSlide->m_arElements.GetCount(); size_t nCountElems = pSlide->m_arElements.size();
for (size_t i = 0; i < nCountElems; ++i) for (size_t i = 0; i < nCountElems; ++i)
{ {
IElement* pElement = pSlide->m_arElements[i]; IElement* pElement = pSlide->m_arElements[i];
...@@ -617,7 +617,7 @@ namespace NSPresentationEditor ...@@ -617,7 +617,7 @@ namespace NSPresentationEditor
} }
CAudioPart oPart(pAudioElem); CAudioPart oPart(pAudioElem);
oAudioOverlay.m_arParts.Add(oPart); oAudioOverlay.m_arParts.push_back(oPart);
} }
break; break;
...@@ -659,9 +659,10 @@ namespace NSPresentationEditor ...@@ -659,9 +659,10 @@ namespace NSPresentationEditor
XmlUtils::CXmlNode oNodeT; XmlUtils::CXmlNode oNodeT;
oThemes.GetAt(i, oNodeT); oThemes.GetAt(i, oNodeT);
m_arThemes.Add(); CTheme elem;
m_arThemes.push_back(elem);
CTheme* pTheme = &m_arThemes[m_arThemes.GetCount() - 1]; CTheme* pTheme = &m_arThemes.back();
pTheme->m_oInfo = m_oInfo; pTheme->m_oInfo = m_oInfo;
pTheme->ReadFromXml(oNodeT); pTheme->ReadFromXml(oNodeT);
} }
...@@ -680,9 +681,10 @@ namespace NSPresentationEditor ...@@ -680,9 +681,10 @@ namespace NSPresentationEditor
XmlUtils::CXmlNode oNodeS; XmlUtils::CXmlNode oNodeS;
oSlides.GetAt(i, oNodeS); oSlides.GetAt(i, oNodeS);
m_arSlides.Add(); CSlide elem;
m_arSlides.push_back(elem);
CSlide* pSlide = &m_arSlides[m_arSlides.GetCount() - 1]; CSlide* pSlide = &m_arSlides.back();
pSlide->m_lThemeID = oNodeS.ReadAttributeInt(_T("themeid")); pSlide->m_lThemeID = oNodeS.ReadAttributeInt(_T("themeid"));
pSlide->m_lLayoutID = oNodeS.ReadAttributeInt(_T("layoutid")); pSlide->m_lLayoutID = oNodeS.ReadAttributeInt(_T("layoutid"));
...@@ -714,18 +716,18 @@ namespace NSPresentationEditor ...@@ -714,18 +716,18 @@ namespace NSPresentationEditor
//CAudioOverlay oAudioOverlay; //CAudioOverlay oAudioOverlay;
//CalculateTimes(oAudioOverlay); //CalculateTimes(oAudioOverlay);
size_t nCountSlides = m_arSlides.GetCount(); size_t nCountSlides = m_arSlides.size();
if ( nCountSlides > 0 ) if ( nCountSlides > 0 )
{ {
double dDuration = 0.0; double dDuration = 0.0;
for (size_t nIndex = 0; nIndex < m_arSlides.GetCount(); ++nIndex) for (size_t nIndex = 0; nIndex < m_arSlides.size(); ++nIndex)
{ {
dDuration += m_arSlides[nIndex].m_dDuration; dDuration += m_arSlides[nIndex].m_dDuration;
} }
CString XmlSlideSource = _T(""); CString XmlSlideSource = _T("");
for ( size_t nIndex = 0; nIndex < m_arSlides.GetCount(); ++nIndex ) for ( size_t nIndex = 0; nIndex < m_arSlides.size(); ++nIndex )
{ {
CSlide* pSlide = &m_arSlides[nIndex]; CSlide* pSlide = &m_arSlides[nIndex];
...@@ -753,11 +755,11 @@ namespace NSPresentationEditor ...@@ -753,11 +755,11 @@ namespace NSPresentationEditor
CTheme* pTheme = NULL; CTheme* pTheme = NULL;
CLayout* pLayout = NULL; CLayout* pLayout = NULL;
if ((0 <= pSlide->m_lThemeID) && (pSlide->m_lThemeID < (LONG)m_arThemes.GetCount())) if ((0 <= pSlide->m_lThemeID) && (pSlide->m_lThemeID < (LONG)m_arThemes.size()))
{ {
pTheme = &m_arThemes[pSlide->m_lThemeID]; pTheme = &m_arThemes[pSlide->m_lThemeID];
} }
if ((NULL != pTheme) && ((0 <= pSlide->m_lLayoutID) && (pSlide->m_lLayoutID < (LONG)pTheme->m_arLayouts.GetCount()))) if ((NULL != pTheme) && ((0 <= pSlide->m_lLayoutID) && (pSlide->m_lLayoutID < (LONG)pTheme->m_arLayouts.size())))
{ {
pLayout = &pTheme->m_arLayouts[pSlide->m_lLayoutID]; pLayout = &pTheme->m_arLayouts[pSlide->m_lLayoutID];
} }
...@@ -807,7 +809,7 @@ namespace NSPresentationEditor ...@@ -807,7 +809,7 @@ namespace NSPresentationEditor
// theme elements // theme elements
if (pSlide->m_bShowMasterShapes && (NULL != pLayout) && pLayout->m_bShowMasterShapes && (NULL != pTheme)) if (pSlide->m_bShowMasterShapes && (NULL != pLayout) && pLayout->m_bShowMasterShapes && (NULL != pTheme))
{ {
size_t nCount = pTheme->m_arElements.GetCount(); size_t nCount = pTheme->m_arElements.size();
for (size_t ii = 0; ii < nCount; ++ii) for (size_t ii = 0; ii < nCount; ++ii)
XmlTransforms += pTheme->m_arElements[ii]->SaveToXML(); XmlTransforms += pTheme->m_arElements[ii]->SaveToXML();
} }
...@@ -815,7 +817,7 @@ namespace NSPresentationEditor ...@@ -815,7 +817,7 @@ namespace NSPresentationEditor
// layout elements // layout elements
if (NULL != pLayout) if (NULL != pLayout)
{ {
size_t nCount = pLayout->m_arElements.GetCount(); size_t nCount = pLayout->m_arElements.size();
for (size_t ii = 0; ii < nCount; ++ii) for (size_t ii = 0; ii < nCount; ++ii)
{ {
if (-1 == pLayout->m_arElements[ii]->m_lPlaceholderType) if (-1 == pLayout->m_arElements[ii]->m_lPlaceholderType)
...@@ -823,7 +825,7 @@ namespace NSPresentationEditor ...@@ -823,7 +825,7 @@ namespace NSPresentationEditor
} }
} }
int nElements = (int)pSlide->m_arElements.GetCount(); int nElements = (int)pSlide->m_arElements.size();
for ( int nElem = 0; nElem < nElements; ++nElem ) for ( int nElem = 0; nElem < nElements; ++nElem )
{ {
if (etVideo == pSlide->m_arElements[nElem]->m_etType) if (etVideo == pSlide->m_arElements[nElem]->m_etType)
...@@ -882,7 +884,7 @@ namespace NSPresentationEditor ...@@ -882,7 +884,7 @@ namespace NSPresentationEditor
CAudioOverlay oAudioOverlay; CAudioOverlay oAudioOverlay;
CalculateTimes(oAudioOverlay); CalculateTimes(oAudioOverlay);
size_t nCountSlides = m_arSlides.GetCount(); size_t nCountSlides = m_arSlides.size();
if ( nCountSlides > 0 ) if ( nCountSlides > 0 )
{ {
CString XmlSlideSource = _T(""); CString XmlSlideSource = _T("");
...@@ -900,7 +902,7 @@ namespace NSPresentationEditor ...@@ -900,7 +902,7 @@ namespace NSPresentationEditor
pSlide->m_dDuration, lWidthPix, lHeightPix, pSlide->m_dDuration, lWidthPix, lHeightPix,
pSlide->m_oSlideShow.m_oTransition.m_nEffectType, pSlide->m_oSlideShow.m_oTransition.m_dSpeed ); pSlide->m_oSlideShow.m_oTransition.m_nEffectType, pSlide->m_oSlideShow.m_oTransition.m_dSpeed );
int nElements = (int)pSlide->m_arElements.GetCount(); int nElements = (int)pSlide->m_arElements.size();
for ( int nElem = 0; nElem < nElements; ++nElem ) for ( int nElem = 0; nElem < nElements; ++nElem )
{ {
if (etAudio == pSlide->m_arElements[nElem]->m_etType) if (etAudio == pSlide->m_arElements[nElem]->m_etType)
...@@ -939,7 +941,7 @@ namespace NSPresentationEditor ...@@ -939,7 +941,7 @@ namespace NSPresentationEditor
oWriter.WriteString(_T("<Presentation xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"") + strMetric); oWriter.WriteString(_T("<Presentation xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"") + strMetric);
oWriter.WriteString(_T("<Themes>")); oWriter.WriteString(_T("<Themes>"));
size_t nCount = m_arThemes.GetCount(); size_t nCount = m_arThemes.size();
for (size_t i = 0; i < nCount; ++i) for (size_t i = 0; i < nCount; ++i)
{ {
oWriter.WriteString(m_arThemes[i].ToXmlEditor(m_oInfo)); oWriter.WriteString(m_arThemes[i].ToXmlEditor(m_oInfo));
...@@ -947,7 +949,7 @@ namespace NSPresentationEditor ...@@ -947,7 +949,7 @@ namespace NSPresentationEditor
oWriter.WriteString(_T("</Themes>")); oWriter.WriteString(_T("</Themes>"));
oWriter.WriteString(_T("<Slides>")); oWriter.WriteString(_T("<Slides>"));
nCount = m_arSlides.GetCount(); nCount = m_arSlides.size();
for (size_t i = 0; i < nCount; ++i) for (size_t i = 0; i < nCount; ++i)
{ {
NSPresentationEditor::CTheme* pThemeSlide = NULL; NSPresentationEditor::CTheme* pThemeSlide = NULL;
...@@ -955,11 +957,11 @@ namespace NSPresentationEditor ...@@ -955,11 +957,11 @@ namespace NSPresentationEditor
NSPresentationEditor::CSlide* pSlide = &m_arSlides[i]; NSPresentationEditor::CSlide* pSlide = &m_arSlides[i];
if ((0 <= pSlide->m_lThemeID) && (pSlide->m_lThemeID < (LONG)m_arThemes.GetCount())) if ((0 <= pSlide->m_lThemeID) && (pSlide->m_lThemeID < (LONG)m_arThemes.size()))
{ {
pThemeSlide = &m_arThemes[pSlide->m_lThemeID]; pThemeSlide = &m_arThemes[pSlide->m_lThemeID];
} }
if ((NULL != pThemeSlide) && (0 <= pSlide->m_lLayoutID) && (pSlide->m_lLayoutID < (LONG)pThemeSlide->m_arLayouts.GetCount())) if ((NULL != pThemeSlide) && (0 <= pSlide->m_lLayoutID) && (pSlide->m_lLayoutID < (LONG)pThemeSlide->m_arLayouts.size()))
{ {
pLayoutSlide = &pThemeSlide->m_arLayouts[pSlide->m_lLayoutID]; pLayoutSlide = &pThemeSlide->m_arLayouts[pSlide->m_lLayoutID];
} }
...@@ -981,13 +983,13 @@ namespace NSPresentationEditor ...@@ -981,13 +983,13 @@ namespace NSPresentationEditor
double dScaleX = (double)m_oInfo.m_lMillimetresHor / m_oInfo.m_lUnitsHor; double dScaleX = (double)m_oInfo.m_lMillimetresHor / m_oInfo.m_lUnitsHor;
double dScaleY = (double)m_oInfo.m_lMillimetresVer / m_oInfo.m_lUnitsVer; double dScaleY = (double)m_oInfo.m_lMillimetresVer / m_oInfo.m_lUnitsVer;
size_t nCountThemes = m_arThemes.GetCount(); size_t nCountThemes = m_arThemes.size();
for (size_t i = 0; i < nCountThemes; ++i) for (size_t i = 0; i < nCountThemes; ++i)
{ {
CTheme* pTheme = &m_arThemes[i]; CTheme* pTheme = &m_arThemes[i];
pTheme->CalculateStyles(); pTheme->CalculateStyles();
size_t nCountElems = pTheme->m_arElements.GetCount(); size_t nCountElems = pTheme->m_arElements.size();
for (size_t nIndexEl = 0; nIndexEl < nCountElems; ++nIndexEl) for (size_t nIndexEl = 0; nIndexEl < nCountElems; ++nIndexEl)
{ {
IElement* pElement = pTheme->m_arElements[nIndexEl]; IElement* pElement = pTheme->m_arElements[nIndexEl];
...@@ -1001,7 +1003,7 @@ namespace NSPresentationEditor ...@@ -1001,7 +1003,7 @@ namespace NSPresentationEditor
pElement->SetupProperties(NULL, pTheme, NULL); pElement->SetupProperties(NULL, pTheme, NULL);
} }
size_t nCountLayouts = pTheme->m_arLayouts.GetCount(); size_t nCountLayouts = pTheme->m_arLayouts.size();
for (size_t nIndexL = 0; nIndexL < nCountLayouts; ++nIndexL) for (size_t nIndexL = 0; nIndexL < nCountLayouts; ++nIndexL)
{ {
CLayout* pLayout = &pTheme->m_arLayouts[nIndexL]; CLayout* pLayout = &pTheme->m_arLayouts[nIndexL];
...@@ -1011,7 +1013,7 @@ namespace NSPresentationEditor ...@@ -1011,7 +1013,7 @@ namespace NSPresentationEditor
pLayout->m_lWidth = m_oInfo.m_lMillimetresHor; pLayout->m_lWidth = m_oInfo.m_lMillimetresHor;
pLayout->m_lHeight = m_oInfo.m_lMillimetresVer; pLayout->m_lHeight = m_oInfo.m_lMillimetresVer;
size_t nCountLayoutElements = pLayout->m_arElements.GetCount(); size_t nCountLayoutElements = pLayout->m_arElements.size();
for (size_t nIndexLayoutEl = 0; nIndexLayoutEl < nCountLayoutElements; ++nIndexLayoutEl) for (size_t nIndexLayoutEl = 0; nIndexLayoutEl < nCountLayoutElements; ++nIndexLayoutEl)
{ {
IElement* pElement = pLayout->m_arElements[nIndexLayoutEl]; IElement* pElement = pLayout->m_arElements[nIndexLayoutEl];
...@@ -1069,7 +1071,7 @@ namespace NSPresentationEditor ...@@ -1069,7 +1071,7 @@ namespace NSPresentationEditor
} }
} }
size_t nCountSlides = m_arSlides.GetCount(); size_t nCountSlides = m_arSlides.size();
for (size_t i = 0; i < nCountSlides; ++i) for (size_t i = 0; i < nCountSlides; ++i)
{ {
CSlide* pSlide = &m_arSlides[i]; CSlide* pSlide = &m_arSlides[i];
...@@ -1086,11 +1088,11 @@ namespace NSPresentationEditor ...@@ -1086,11 +1088,11 @@ namespace NSPresentationEditor
CLayout* pLayout = NULL; CLayout* pLayout = NULL;
if (NULL != pTheme) if (NULL != pTheme)
{ {
if ((0 <= pSlide->m_lLayoutID) && (pSlide->m_lLayoutID < (LONG)pTheme->m_arLayouts.GetCount())) if ((0 <= pSlide->m_lLayoutID) && (pSlide->m_lLayoutID < (LONG)pTheme->m_arLayouts.size()))
pLayout = &pTheme->m_arLayouts[pSlide->m_lLayoutID]; pLayout = &pTheme->m_arLayouts[pSlide->m_lLayoutID];
} }
size_t nCountElems = pSlide->m_arElements.GetCount(); size_t nCountElems = pSlide->m_arElements.size();
for (size_t nIndexEl = 0; nIndexEl < nCountElems; ++nIndexEl) for (size_t nIndexEl = 0; nIndexEl < nCountElems; ++nIndexEl)
{ {
IElement* pElement = pSlide->m_arElements[nIndexEl]; IElement* pElement = pSlide->m_arElements[nIndexEl];
...@@ -1112,7 +1114,7 @@ namespace NSPresentationEditor ...@@ -1112,7 +1114,7 @@ namespace NSPresentationEditor
virtual CString SerializeToXml() virtual CString SerializeToXml()
{ {
CString strDoc = _T("<Document>"); CString strDoc = _T("<Document>");
for (size_t i = 0; i < m_arSlides.GetCount(); ++i) for (size_t i = 0; i < m_arSlides.size(); ++i)
{ {
strDoc += m_arSlides[i].SerializeToXml(); strDoc += m_arSlides[i].SerializeToXml();
} }
......
...@@ -1087,7 +1087,7 @@ namespace NSPresentationEditor ...@@ -1087,7 +1087,7 @@ namespace NSPresentationEditor
NormalizeCoordsByMetric(); NormalizeCoordsByMetric();
m_oShape.m_pShape = new CPPTShape(); m_oShape.m_pShape = new CPPTShape();
m_oShape.m_oText.m_arParagraphs.RemoveAll(); m_oShape.m_oText.m_arParagraphs.clear();
XmlUtils::CXmlNode oNodeBody; XmlUtils::CXmlNode oNodeBody;
if (oNode.GetNode(_T("body"), oNodeBody)) if (oNode.GetNode(_T("body"), oNodeBody))
......
...@@ -170,7 +170,8 @@ namespace NSPresentationEditor ...@@ -170,7 +170,8 @@ namespace NSPresentationEditor
LONG lColor = 0; LONG lColor = 0;
for (size_t i = 0; i < nCount; i += 3) for (size_t i = 0; i < nCount; i += 3)
{ {
m_arColorScheme.push_back(elm); CColor elem;
m_arColorScheme.push_back(elem);
oStyles.m_arStyles[i].LoadColor(m_arColorScheme[lColor]); oStyles.m_arStyles[i].LoadColor(m_arColorScheme[lColor]);
++lColor; ++lColor;
} }
...@@ -282,7 +283,7 @@ namespace NSPresentationEditor ...@@ -282,7 +283,7 @@ namespace NSPresentationEditor
CStylesCSS oCSS; CStylesCSS oCSS;
oCSS.LoadStyles(oNodeS.GetText()); oCSS.LoadStyles(oNodeS.GetText());
size_t nCountS = oCSS.m_arStyles.GetCount(); size_t nCountS = oCSS.m_arStyles.size();
for (size_t nIndexStyle = 0; nIndexStyle < nCountS; ++nIndexStyle) for (size_t nIndexStyle = 0; nIndexStyle < nCountS; ++nIndexStyle)
{ {
LONG _lPhType = 0; LONG _lPhType = 0;
...@@ -316,18 +317,18 @@ namespace NSPresentationEditor ...@@ -316,18 +317,18 @@ namespace NSPresentationEditor
CStylesCSS oCSS; CStylesCSS oCSS;
oCSS.LoadStyles(oNodeFontRefs.GetText()); oCSS.LoadStyles(oNodeFontRefs.GetText());
size_t nCountS = oCSS.m_arStyles.GetCount(); size_t nCountS = oCSS.m_arStyles.size();
for (size_t i = 0; i < nCountS; ++i) for (size_t i = 0; i < nCountS; ++i)
{ {
oCSS.m_arStyles[i].m_strClassName.Delete(0, 6); oCSS.m_arStyles[i].m_strClassName.Delete(0, 6);
LONG lPhType = XmlUtils::GetInteger(oCSS.m_arStyles[i].m_strClassName); LONG lPhType = XmlUtils::GetInteger(oCSS.m_arStyles[i].m_strClassName);
std::map<CString, CString>::CPair* pPair = oCSS.m_arStyles[i].m_mapSettings.find(_T("font-index")); std::map<CString, CString>::iterator pPair = oCSS.m_arStyles[i].m_mapSettings.find(_T("font-index"));
if (NULL != pPair) if (oCSS.m_arStyles[i].m_mapSettings.end() != pPair)
{ {
LONG lFontRef = XmlUtils::GetInteger(pPair->second); LONG lFontRef = XmlUtils::GetInteger(pPair->second);
size_t nCountEl = m_arElements.GetCount(); size_t nCountEl = m_arElements.size();
for (size_t j = 0; j < nCountEl; ++j) for (size_t j = 0; j < nCountEl; ++j)
{ {
if ((lPhType == m_arElements[j]->m_lPlaceholderType) && if ((lPhType == m_arElements[j]->m_lPlaceholderType) &&
......
...@@ -664,7 +664,7 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::DrawPath(long nType) ...@@ -664,7 +664,7 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::DrawPath(long nType)
m_oSvgPen = m_oPen; m_oSvgPen = m_oPen;
m_oSvgBrush = m_oBrush; m_oSvgBrush = m_oBrush;
int lIndexPath = m_oSvgPath.m_arParts.GetSize() - 1; int lIndexPath = m_oSvgPath.m_arParts.size() - 1;
if (lIndexPath < 0) if (lIndexPath < 0)
return S_OK; return S_OK;
...@@ -741,7 +741,7 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::SetCommandParams(double dAngle ...@@ -741,7 +741,7 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::SetCommandParams(double dAngle
double m11 = bFlipX ? -1.0 : 1.0; double m11 = bFlipX ? -1.0 : 1.0;
double m22 = bFlipY ? -1.0 : 1.0; double m22 = bFlipY ? -1.0 : 1.0;
CMatrix oMatrix(1, 0, 0, 1, 0, 0); Aggplus::CMatrix oMatrix(1, 0, 0, 1, 0, 0);
if ((0 != dAngle) || (0 != lFlags)) if ((0 != dAngle) || (0 != lFlags))
{ {
...@@ -763,7 +763,7 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::SetCommandParams(double dAngle ...@@ -763,7 +763,7 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::SetCommandParams(double dAngle
} }
STDMETHODIMP NSPresentationEditor::CSVGConverter::SetTransform(double dA, double dB, double dC, double dD, double dE, double dF) STDMETHODIMP NSPresentationEditor::CSVGConverter::SetTransform(double dA, double dB, double dC, double dD, double dE, double dF)
{ {
CMatrix oTrans(dA, dB, dC, dD, dE, dF); Aggplus::CMatrix oTrans(dA, dB, dC, dD, dE, dF);
m_oTransform = oTrans; m_oTransform = oTrans;
CalculateFullTransform(); CalculateFullTransform();
...@@ -870,6 +870,6 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::OpenFile(BSTR bsFilePath) ...@@ -870,6 +870,6 @@ STDMETHODIMP NSPresentationEditor::CSVGConverter::OpenFile(BSTR bsFilePath)
} }
STDMETHODIMP NSPresentationEditor::CSVGConverter::CloseFile() STDMETHODIMP NSPresentationEditor::CSVGConverter::CloseFile()
{ {
m_oSvgPath.m_arParts.RemoveAll(); m_oSvgPath.m_arParts.clear();
return S_OK; return S_OK;
} }
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
#include "../stdafx.h" #include "../stdafx.h"
#include "Shapes\Shape.h" #include "Shapes\Shape.h"
#include "Shapes\Graphics\Matrix.h" #include "Shapes\BaseShape\Path.h"
#include "..\..\DesktopEditor\graphics\Matrix.h"
#include "../../ASCImageStudio3/ASCGraphics/Interfaces/ASCRenderer.h" #include "../../ASCImageStudio3/ASCGraphics/Interfaces/ASCRenderer.h"
namespace NSPresentationEditor namespace NSPresentationEditor
...@@ -187,9 +188,9 @@ namespace NSPresentationEditor ...@@ -187,9 +188,9 @@ namespace NSPresentationEditor
ASCGraphics::IASCGraphicSimpleComverter* m_pSimpleGraphicsConverter; // ASCGraphics::IASCGraphicSimpleComverter* m_pSimpleGraphicsConverter; //
ASCGraphics::IASCFontManager* m_pFontManager; // ASCGraphics::IASCFontManager* m_pFontManager; //
CMatrix m_oBaseTransform; // (: -> ) Aggplus::CMatrix m_oBaseTransform; // (: -> )
CMatrix m_oTransform; // Aggplus::CMatrix m_oTransform; //
CMatrix m_oFullTransform; // (m_oBaseTransform * m_oTransform) Aggplus::CMatrix m_oFullTransform; // (m_oBaseTransform * m_oTransform)
double m_dTransformAngle; double m_dTransformAngle;
...@@ -242,14 +243,16 @@ namespace NSPresentationEditor ...@@ -242,14 +243,16 @@ namespace NSPresentationEditor
double y = dY; double y = dY;
m_oFullTransform.TransformPoint(x, y); m_oFullTransform.TransformPoint(x, y);
int lIndexPath = m_oSvgPath.m_arParts.GetSize() - 1; int lIndexPath = m_oSvgPath.m_arParts.size() - 1;
if (lIndexPath < 0) if (lIndexPath < 0)
return; return;
CSlice oSlice(rtMoveTo); CSlice oSlice(rtMoveTo);
oSlice.AddParam(x); oSlice.AddParam(x);
oSlice.AddParam(y); oSlice.AddParam(y);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.Add(oSlice);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.push_back(oSlice);
} }
inline void LineTo(const double& dX, const double& dY) inline void LineTo(const double& dX, const double& dY)
{ {
...@@ -257,14 +260,16 @@ namespace NSPresentationEditor ...@@ -257,14 +260,16 @@ namespace NSPresentationEditor
double y = dY; double y = dY;
m_oFullTransform.TransformPoint(x, y); m_oFullTransform.TransformPoint(x, y);
int lIndexPath = m_oSvgPath.m_arParts.GetSize() - 1; int lIndexPath = m_oSvgPath.m_arParts.size() - 1;
if (lIndexPath < 0) if (lIndexPath < 0)
return; return;
CSlice oSlice(rtLineTo); CSlice oSlice(rtLineTo);
oSlice.AddParam(x); oSlice.AddParam(x);
oSlice.AddParam(y); oSlice.AddParam(y);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.Add(oSlice);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.push_back(oSlice);
} }
inline void CurveTo(const double& x1, const double& y1, const double& x2, const double& y2, const double& x3, const double& y3) inline void CurveTo(const double& x1, const double& y1, const double& x2, const double& y2, const double& x3, const double& y3)
{ {
...@@ -280,35 +285,37 @@ namespace NSPresentationEditor ...@@ -280,35 +285,37 @@ namespace NSPresentationEditor
double _y3 = y3; double _y3 = y3;
m_oFullTransform.TransformPoint(_x3, _y3); m_oFullTransform.TransformPoint(_x3, _y3);
int lIndexPath = m_oSvgPath.m_arParts.GetSize() - 1; int lIndexPath = m_oSvgPath.m_arParts.size() - 1;
if (lIndexPath < 0) if (lIndexPath < 0)
return; return;
CSlice oSlice(rtCurveTo); CSlice oSlice(rtCurveTo);
oSlice.AddParam(_x1); oSlice.AddParam(_x1);
oSlice.AddParam(_y1); oSlice.AddParam(_y1);
oSlice.AddParam(_x2); oSlice.AddParam(_x2);
oSlice.AddParam(_y2); oSlice.AddParam(_y2);
oSlice.AddParam(_x3); oSlice.AddParam(_x3);
oSlice.AddParam(_y3); oSlice.AddParam(_y3);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.Add(oSlice);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.push_back(oSlice);
} }
void Start() void Start()
{ {
CPartPath oPart; CPartPath oPart;
m_oSvgPath.m_arParts.Add(oPart); m_oSvgPath.m_arParts.push_back(oPart);
} }
void End() void End()
{ {
} }
void Close() void Close()
{ {
int lIndexPath = m_oSvgPath.m_arParts.GetSize() - 1; int lIndexPath = m_oSvgPath.m_arParts.size() - 1;
if (lIndexPath < 0) if (lIndexPath < 0)
return; return;
CSlice oSlice(rtClose); CSlice oSlice(rtClose);
m_oSvgPath.m_arParts[lIndexPath].m_arSlices.Add(oSlice); m_oSvgPath.m_arParts[lIndexPath].m_arSlices.push_back(oSlice);
} }
void _SetFont() void _SetFont()
......
...@@ -34,12 +34,13 @@ namespace NSGuidesOdp ...@@ -34,12 +34,13 @@ namespace NSGuidesOdp
double GetNum (CString str) double GetNum (CString str)
{ {
long numGuide = mapGuides.FindKey(str); std::map<CString, long>::iterator numGuide = mapGuides.find(str);
long numAdj = mapAdjustments.FindKey(str); std::map<CString, long>::iterator numAdj = mapAdjustments.find(str);
if (numGuide>=0)
return numGuide; if (numGuide != mapGuides.end())
else if ( numAdj >=0) return numGuide->second;
return numAdj; else if ( numAdj != mapAdjustments.end())
return numAdj->second;
return 0; return 0;
} }
...@@ -87,6 +88,7 @@ namespace NSGuidesOdp ...@@ -87,6 +88,7 @@ namespace NSGuidesOdp
Adjustments->clear(); Adjustments->clear();
for(int i = 0; i < manager.Adjustments->size(); i++) for(int i = 0; i < manager.Adjustments->size(); i++)
Adjustments->push_back((*manager.Adjustments)[i]); Adjustments->push_back((*manager.Adjustments)[i]);
Guides->clear(); Guides->clear();
for(int i = 0; i < manager.Guides->size(); i++) for(int i = 0; i < manager.Guides->size(); i++)
Guides->push_back((*manager.Guides)[i]); Guides->push_back((*manager.Guides)[i]);
...@@ -96,49 +98,50 @@ namespace NSGuidesOdp ...@@ -96,49 +98,50 @@ namespace NSGuidesOdp
void AddAdjustment(const CString& name, const long value) void AddAdjustment(const CString& name, const long value)
{ {
long num = mapAdjustments.FindKey(name); std::map<CString, long>::iterator num = mapAdjustments.find(name);
if(num >= 0) if(num != mapAdjustments.end())
{ {
(*Adjustments)[mapAdjustments.GetValueAt(num)] = value; (*Adjustments)[num->second] = value;
return; return;
} }
Adjustments->push_back(value); Adjustments->push_back(value);
mapAdjustments.push_back(name, Adjustments->size() - 1); mapAdjustments.insert(std::pair<CString, long>(name, Adjustments->size() - 1));
} }
void AddGuide(const CString& name, const CString& fmla) void AddGuide(const CString& name, const CString& fmla)
{ {
long num = mapGuides.FindKey(name); std::map<CString, long>::iterator num = mapGuides.find(name);
if(num >= 0) if(num != mapGuides.end())
{ {
strGuides[mapGuides.GetValueAt(num)] = fmla; strGuides[num->second] = fmla;
(*Guides)[mapGuides.GetValueAt(num)] = dNonDefResult; (*Guides)[num->second] = dNonDefResult;
return; return;
} }
strGuides.push_back(fmla); strGuides.push_back(fmla);
Guides->push_back(dNonDefResult); Guides->push_back(dNonDefResult);
mapGuides.insert(name, strGuides.size() - 1);
mapGuides.insert(std::pair<CString, long>(name, strGuides.size() - 1));
} }
double GetValue(CString str) double GetValue(CString str)
{ {
long numGuide = mapGuides.FindKey(str); std::map<CString, long>::iterator numGuide = mapGuides.find(str);
long numAdj = mapAdjustments.FindKey(str); std::map<CString, long>::iterator numAdj = mapAdjustments.find(str);
if(numGuide >= 0) if(numGuide != mapGuides.end())
{ {
double res = (*Guides)[mapGuides.GetValueAt(numGuide)]; double res = (*Guides)[numGuide->second];
if(res < dNonDefResult) if(res < dNonDefResult)
return res; return res;
TParser parser; TParser parser;
parser.Compile(strGuides[mapGuides.GetValueAt(numGuide)], *this); parser.Compile(strGuides[numGuide->second], *this);
parser.Evaluate(); parser.Evaluate();
parser.Decompile(); parser.Decompile();
(*Guides)[mapGuides.GetValueAt(numGuide)] = parser.GetResult(); (*Guides)[numGuide->second] = parser.GetResult();
return parser.GetResult(); return parser.GetResult();
} }
if(numAdj >= 0) if(numAdj != mapAdjustments.end())
{ {
return (*Adjustments)[mapAdjustments.GetValueAt(numAdj)]; return (*Adjustments)[numAdj->second];
} }
return XmlUtils::GetInteger(CString(str)); return XmlUtils::GetInteger(CString(str));
} }
......
...@@ -382,7 +382,7 @@ public: ...@@ -382,7 +382,7 @@ public:
if(viewBox != _T("")) if(viewBox != _T(""))
{ {
CSimpleArray<CString> borders; std::vector<CString> borders;
// CString left, top, right, bottom; // CString left, top, right, bottom;
NSStringUtils::ParseString(_T(" "), viewBox, &borders); NSStringUtils::ParseString(_T(" "), viewBox, &borders);
...@@ -397,7 +397,7 @@ public: ...@@ -397,7 +397,7 @@ public:
FManager.AddGuide(_T("bottom"), borders[3]); FManager.AddGuide(_T("bottom"), borders[3]);
FManager.Clear(); FManager.Clear();
for(int i = 0; i < m_oPath.m_arParts.GetSize(); i++) for(int i = 0; i < m_oPath.m_arParts.size(); i++)
{ {
m_oPath.m_arParts[i].height = (long)FManager.GetValue(_T("height")); m_oPath.m_arParts[i].height = (long)FManager.GetValue(_T("height"));
m_oPath.m_arParts[i].width = (long)FManager.GetValue(_T("width")); m_oPath.m_arParts[i].width = (long)FManager.GetValue(_T("width"));
...@@ -414,11 +414,12 @@ public: ...@@ -414,11 +414,12 @@ public:
{ {
if(xml != _T("")) if(xml != _T(""))
{ {
CSimpleArray<CString> adjusts; std::vector<CString> adjusts;
NSStringUtils::ParseString(_T(" "), xml, &adjusts); NSStringUtils::ParseString(_T(" "), xml, &adjusts);
m_arAdjustments.RemoveAll();
m_arAdjustments.clear();
CString buffer; CString buffer;
for(int i = 0; i < adjusts.GetSize(); i++) for(int i = 0; i < adjusts.size(); i++)
{ {
buffer.Format(_T("%i"), i); buffer.Format(_T("%i"), i);
FManager.AddAdjustment(CString(_T("$")) + buffer, XmlUtils::GetInteger(adjusts[i])); FManager.AddAdjustment(CString(_T("$")) + buffer, XmlUtils::GetInteger(adjusts[i]));
...@@ -447,7 +448,7 @@ public: ...@@ -447,7 +448,7 @@ public:
{ {
if(xml != _T("")) if(xml != _T(""))
{ {
CSimpleArray<CString> borders; std::vector<CString> borders;
NSStringUtils::ParseString(_T(" "), xml, &borders); NSStringUtils::ParseString(_T(" "), xml, &borders);
RECT TextRect; RECT TextRect;
...@@ -455,9 +456,10 @@ public: ...@@ -455,9 +456,10 @@ public:
TextRect.top = (long)FManager.GetValue(borders[1]); TextRect.top = (long)FManager.GetValue(borders[1]);
TextRect.right = (long)FManager.GetValue(borders[2]); TextRect.right = (long)FManager.GetValue(borders[2]);
TextRect.bottom = (long)FManager.GetValue(borders[3]); TextRect.bottom = (long)FManager.GetValue(borders[3]);
if(m_arTextRects.GetSize() > 0)
if(m_arTextRects.size() > 0)
m_arTextRects[0] = TextRect; m_arTextRects[0] = TextRect;
else m_arTextRects.Add(TextRect); else m_arTextRects.push_back(TextRect);
// return true; // return true;
} }
...@@ -470,7 +472,7 @@ public: ...@@ -470,7 +472,7 @@ public:
{ {
m_oPath.FromXML(xml, FManager); m_oPath.FromXML(xml, FManager);
for(int i = 0; i < m_oPath.m_arParts.GetSize(); i++) for(int i = 0; i < m_oPath.m_arParts.size(); i++)
{ {
m_oPath.m_arParts[i].height = (long)FManager.GetValue(_T("height")); m_oPath.m_arParts[i].height = (long)FManager.GetValue(_T("height"));
m_oPath.m_arParts[i].width = (long)FManager.GetValue(_T("width")); m_oPath.m_arParts[i].width = (long)FManager.GetValue(_T("width"));
......
...@@ -1762,7 +1762,7 @@ namespace NSPresentationEditor ...@@ -1762,7 +1762,7 @@ namespace NSPresentationEditor
void FromXML(CString strPath , NSGuidesOdp::CFormulaManager& pManager) void FromXML(CString strPath , NSGuidesOdp::CFormulaManager& pManager)
{ {
NSStringUtils::CheckPathOn_Fill_Stroke(strPath, m_bFill, m_bStroke); NSStringUtils::CheckPathOn_Fill_Stroke(strPath, m_bFill, m_bStroke);
CSimpleArray<CString> oArray; std::vector<CString> oArray;
//NSStringUtils::ParsePath(strPath, &oArray); //NSStringUtils::ParsePath(strPath, &oArray);
NSStringUtils::ParseString(_T(" "), strPath, &oArray); NSStringUtils::ParseString(_T(" "), strPath, &oArray);
...@@ -1770,7 +1770,7 @@ namespace NSPresentationEditor ...@@ -1770,7 +1770,7 @@ namespace NSPresentationEditor
LONG lValue; LONG lValue;
bool bRes = true; bool bRes = true;
for (int nIndex = 0; nIndex < oArray.GetSize(); ++nIndex) for (int nIndex = 0; nIndex < oArray.size(); ++nIndex)
{ {
eRuler = GetRuler(oArray[nIndex], bRes); eRuler = GetRuler(oArray[nIndex], bRes);
if (bRes) if (bRes)
...@@ -1792,9 +1792,9 @@ namespace NSPresentationEditor ...@@ -1792,9 +1792,9 @@ namespace NSPresentationEditor
else else
{ {
lValue = (long)pManager.GetValue(oArray[nIndex]); lValue = (long)pManager.GetValue(oArray[nIndex]);
if (0 != m_arSlices.GetSize()) if (0 != m_arSlices.size())
{ {
m_arSlices[m_arSlices.GetSize() - 1].AddParam(lValue); m_arSlices[m_arSlices.size() - 1].AddParam(lValue);
} }
} }
} }
...@@ -1924,15 +1924,15 @@ namespace NSPresentationEditor ...@@ -1924,15 +1924,15 @@ namespace NSPresentationEditor
#if defined(ODP_DEF) #if defined(ODP_DEF)
void FromXML(CString strPath, NSGuidesOdp::CFormulaManager& pManager) void FromXML(CString strPath, NSGuidesOdp::CFormulaManager& pManager)
{ {
m_arParts.RemoveAll(); m_arParts.clear();
CSimpleArray<CString> oArray; std::vector<CString> oArray;
NSStringUtils::ParseString(_T("N"), strPath, &oArray); NSStringUtils::ParseString(_T("N"), strPath, &oArray);
for (int nIndex = 0; nIndex < oArray.GetSize(); ++nIndex) for (int nIndex = 0; nIndex < oArray.size(); ++nIndex)
{ {
CPartPath oPath; CPartPath oPath;
m_arParts.push_back(oPath); m_arParts.push_back(oPath);
m_arParts[m_arParts.GetSize() - 1].FromXML(oArray[nIndex], pManager); m_arParts[m_arParts.size() - 1].FromXML(oArray[nIndex], pManager);
} }
} }
#endif #endif
......
#pragma once
#include "ap_AggPlusEnums.h"
#include "ap_AggPlusTypes.h"
#include "agg_trans_affine.h"
namespace NSPresentationEditor
{
class CMatrix
{
public:
CMatrix(double m11, double m12, double m21, double m22, double dx, double dy) : m_agg_mtx(m11, m12, m21, m22, dx, dy)
{
}
CMatrix() : m_agg_mtx()
{
}
~CMatrix()
{
}
void Translate(double offsetX, double offsetY, Aggplus::MatrixOrder order = Aggplus::MatrixOrderPrepend)
{
if (order == Aggplus::MatrixOrderPrepend)
{
m_agg_mtx.premultiply(agg::trans_affine_translation(offsetX, offsetY));
}
else
{
m_agg_mtx.multiply(agg::trans_affine_translation(offsetX, offsetY));
}
}
void Scale(double scaleX, double scaleY, Aggplus::MatrixOrder order = Aggplus::MatrixOrderPrepend)
{
if (order == Aggplus::MatrixOrderPrepend)
{
m_agg_mtx.premultiply(agg::trans_affine_scaling(scaleX, scaleY));
}
else
{
m_agg_mtx.multiply(agg::trans_affine_scaling(scaleX, scaleY));
}
}
void Shear(double shearX, double shearY, Aggplus::MatrixOrder order = Aggplus::MatrixOrderPrepend)
{
if (order == Aggplus::MatrixOrderPrepend)
{
m_agg_mtx.premultiply(agg::trans_affine_skewing(shearX, shearY));
}
else
{
m_agg_mtx.multiply(agg::trans_affine_skewing(shearX, shearY));
}
}
void TransformPoint(double& x, double& y)
{
m_agg_mtx.transform(&x, &y);
}
void Rotate(double angle, Aggplus::MatrixOrder order = Aggplus::MatrixOrderPrepend)
{
if (order == Aggplus::MatrixOrderPrepend)
{
m_agg_mtx.premultiply(agg::trans_affine_rotation(agg::deg2rad(angle)));
}
else
{
m_agg_mtx.multiply(agg::trans_affine_rotation(agg::deg2rad(angle)));
}
}
void RotateAt(double angle, double x, double y, Aggplus::MatrixOrder order = Aggplus::MatrixOrderPrepend)
{
Translate(-x, -y, order);
if (order == Aggplus::MatrixOrderPrepend)
{
m_agg_mtx.premultiply(agg::trans_affine_rotation(agg::deg2rad(angle)));
}
else
{
m_agg_mtx.multiply(agg::trans_affine_rotation(agg::deg2rad(angle)));
}
Translate(x, y, order);
}
void Multiply(const CMatrix* matrix, Aggplus::MatrixOrder order = Aggplus::MatrixOrderPrepend)
{
if (order == Aggplus::MatrixOrderPrepend)
{
m_agg_mtx.premultiply(matrix->m_agg_mtx);
}
else
{
m_agg_mtx.multiply(matrix->m_agg_mtx);
}
}
double OffsetX() const
{
double M[6]; m_agg_mtx.store_to(M);
return (M[4]);
}
double OffsetY() const
{
double M[6]; m_agg_mtx.store_to(M);
return (M[5]);
}
bool GetElements(float* m) const
{
double M[6]; m_agg_mtx.store_to(M);
m[0]=(float)M[0];
m[1]=(float)M[1];
m[2]=(float)M[2];
m[3]=(float)M[3];
m[4]=(float)M[4];
m[5]=(float)M[5];
return true;
}
bool GetElements(double* m) const
{
m_agg_mtx.store_to(m);
return true;
}
void Reset()
{
m_agg_mtx.reset();
}
const CMatrix& operator=(const CMatrix& Src)
{
m_agg_mtx = Src.m_agg_mtx;
return *this;
}
bool Invert()
{
double d = m_agg_mtx.determinant();
if (0.0001 >= abs(d))
return false;
m_agg_mtx.invert();
return true;
}
//Temp
//Used in X_BrushLinearGradient constructor
double z_Rotation() const
{
return agg::rad2deg(m_agg_mtx.rotation());
}
public:
agg::trans_affine m_agg_mtx;
};
}
\ No newline at end of file
//
// Affine transformations
//
//----------------------------------------------------------------------------
#include "stdafx.h"
#include "agg_trans_affine.h"
namespace agg
{
//------------------------------------------------------------------------
const trans_affine& trans_affine::parl_to_parl(const double* src,
const double* dst)
{
sx = src[2] - src[0];
shy = src[3] - src[1];
shx = src[4] - src[0];
sy = src[5] - src[1];
tx = src[0];
ty = src[1];
invert();
multiply(trans_affine(dst[2] - dst[0], dst[3] - dst[1],
dst[4] - dst[0], dst[5] - dst[1],
dst[0], dst[1]));
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::rect_to_parl(double x1, double y1,
double x2, double y2,
const double* parl)
{
double src[6];
src[0] = x1; src[1] = y1;
src[2] = x2; src[3] = y1;
src[4] = x2; src[5] = y2;
parl_to_parl(src, parl);
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::parl_to_rect(const double* parl,
double x1, double y1,
double x2, double y2)
{
double dst[6];
dst[0] = x1; dst[1] = y1;
dst[2] = x2; dst[3] = y1;
dst[4] = x2; dst[5] = y2;
parl_to_parl(parl, dst);
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::multiply(const trans_affine& m)
{
double t0 = sx * m.sx + shy * m.shx;
double t2 = shx * m.sx + sy * m.shx;
double t4 = tx * m.sx + ty * m.shx + m.tx;
shy = sx * m.shy + shy * m.sy;
sy = shx * m.shy + sy * m.sy;
ty = tx * m.shy + ty * m.sy + m.ty;
sx = t0;
shx = t2;
tx = t4;
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::invert()
{
double d = determinant_reciprocal();
double t0 = sy * d;
sy = sx * d;
shy = -shy * d;
shx = -shx * d;
double t4 = -tx * t0 - ty * shx;
ty = -tx * shy - ty * sy;
sx = t0;
tx = t4;
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::flip_x()
{
sx = -sx;
shy = -shy;
tx = -tx;
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::flip_y()
{
shx = -shx;
sy = -sy;
ty = -ty;
return *this;
}
//------------------------------------------------------------------------
const trans_affine& trans_affine::reset()
{
sx = sy = 1.0;
shy = shx = tx = ty = 0.0;
return *this;
}
//------------------------------------------------------------------------
bool trans_affine::is_identity(double epsilon) const
{
return is_equal_eps(sx, 1.0, epsilon) &&
is_equal_eps(shy, 0.0, epsilon) &&
is_equal_eps(shx, 0.0, epsilon) &&
is_equal_eps(sy, 1.0, epsilon) &&
is_equal_eps(tx, 0.0, epsilon) &&
is_equal_eps(ty, 0.0, epsilon);
}
//------------------------------------------------------------------------
bool trans_affine::is_valid(double epsilon) const
{
return fabs(sx) > epsilon && fabs(sy) > epsilon;
}
//------------------------------------------------------------------------
bool trans_affine::is_equal(const trans_affine& m, double epsilon) const
{
return is_equal_eps(sx, m.sx, epsilon) &&
is_equal_eps(shy, m.shy, epsilon) &&
is_equal_eps(shx, m.shx, epsilon) &&
is_equal_eps(sy, m.sy, epsilon) &&
is_equal_eps(tx, m.tx, epsilon) &&
is_equal_eps(ty, m.ty, epsilon);
}
//------------------------------------------------------------------------
double trans_affine::rotation() const
{
double x1 = 0.0;
double y1 = 0.0;
double x2 = 1.0;
double y2 = 0.0;
transform(&x1, &y1);
transform(&x2, &y2);
return atan2(y2-y1, x2-x1);
}
//------------------------------------------------------------------------
void trans_affine::translation(double* dx, double* dy) const
{
*dx = tx;
*dy = ty;
}
//------------------------------------------------------------------------
void trans_affine::scaling(double* x, double* y) const
{
double x1 = 0.0;
double y1 = 0.0;
double x2 = 1.0;
double y2 = 1.0;
trans_affine t(*this);
t *= trans_affine_rotation(-rotation());
t.transform(&x1, &y1);
t.transform(&x2, &y2);
*x = x2 - x1;
*y = y2 - y1;
}
}
#pragma once
#ifndef _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
#endif
#include <math.h>
namespace agg
{
const double affine_epsilon = 1e-14;
//------------------------------------------------------------is_equal_eps
template<class T> inline bool is_equal_eps(T v1, T v2, T epsilon)
{
return fabs(v1 - v2) <= double(epsilon);
}
//------------------------------------------------------------------deg2rad
inline double deg2rad(double deg)
{
return deg * M_PI / 180.0;
}
//------------------------------------------------------------------rad2deg
inline double rad2deg(double rad)
{
return rad * 180.0 / M_PI;
}
//============================================================trans_affine
//
// See Implementation agg_trans_affine.cpp
//
// Affine transformation are linear transformations in Cartesian coordinates
// (strictly speaking not only in Cartesian, but for the beginning we will
// think so). They are rotation, scaling, translation and skewing.
// After any affine transformation a line segment remains a line segment
// and it will never become a curve.
//
// There will be no math about matrix calculations, since it has been
// described many times. Ask yourself a very simple question:
// "why do we need to understand and use some matrix stuff instead of just
// rotating, scaling and so on". The answers are:
//
// 1. Any combination of transformations can be done by only 4 multiplications
// and 4 additions in floating point.
// 2. One matrix transformation is equivalent to the number of consecutive
// discrete transformations, i.e. the matrix "accumulates" all transformations
// in the order of their settings. Suppose we have 4 transformations:
// * rotate by 30 degrees,
// * scale X to 2.0,
// * scale Y to 1.5,
// * move to (100, 100).
// The result will depend on the order of these transformations,
// and the advantage of matrix is that the sequence of discret calls:
// rotate(30), scaleX(2.0), scaleY(1.5), move(100,100)
// will have exactly the same result as the following matrix transformations:
//
// affine_matrix m;
// m *= rotate_matrix(30);
// m *= scaleX_matrix(2.0);
// m *= scaleY_matrix(1.5);
// m *= move_matrix(100,100);
//
// m.transform_my_point_at_last(x, y);
//
// What is the good of it? In real life we will set-up the matrix only once
// and then transform many points, let alone the convenience to set any
// combination of transformations.
//
// So, how to use it? Very easy - literally as it's shown above. Not quite,
// let us write a correct example:
//
// agg::trans_affine m;
// m *= agg::trans_affine_rotation(30.0 * 3.1415926 / 180.0);
// m *= agg::trans_affine_scaling(2.0, 1.5);
// m *= agg::trans_affine_translation(100.0, 100.0);
// m.transform(&x, &y);
//
// The affine matrix is all you need to perform any linear transformation,
// but all transformations have origin point (0,0). It means that we need to
// use 2 translations if we want to rotate someting around (100,100):
//
// m *= agg::trans_affine_translation(-100.0, -100.0); // move to (0,0)
// m *= agg::trans_affine_rotation(30.0 * 3.1415926 / 180.0); // rotate
// m *= agg::trans_affine_translation(100.0, 100.0); // move back to (100,100)
//----------------------------------------------------------------------
struct trans_affine
{
double sx, shy, shx, sy, tx, ty;
//------------------------------------------ Construction
// Identity matrix
trans_affine() :
sx(1.0), shy(0.0), shx(0.0), sy(1.0), tx(0.0), ty(0.0)
{}
// Custom matrix. Usually used in derived classes
trans_affine(double v0, double v1, double v2,
double v3, double v4, double v5) :
sx(v0), shy(v1), shx(v2), sy(v3), tx(v4), ty(v5)
{}
// Custom matrix from m[6]
explicit trans_affine(const double* m) :
sx(m[0]), shy(m[1]), shx(m[2]), sy(m[3]), tx(m[4]), ty(m[5])
{}
// Rectangle to a parallelogram.
trans_affine(double x1, double y1, double x2, double y2,
const double* parl)
{
rect_to_parl(x1, y1, x2, y2, parl);
}
// Parallelogram to a rectangle.
trans_affine(const double* parl,
double x1, double y1, double x2, double y2)
{
parl_to_rect(parl, x1, y1, x2, y2);
}
// Arbitrary parallelogram transformation.
trans_affine(const double* src, const double* dst)
{
parl_to_parl(src, dst);
}
//---------------------------------- Parellelogram transformations
// transform a parallelogram to another one. Src and dst are
// pointers to arrays of three points (double[6], x1,y1,...) that
// identify three corners of the parallelograms assuming implicit
// fourth point. The arguments are arrays of double[6] mapped
// to x1,y1, x2,y2, x3,y3 where the coordinates are:
// *-----------------*
// / (x3,y3)/
// / /
// /(x1,y1) (x2,y2)/
// *-----------------*
const trans_affine& parl_to_parl(const double* src,
const double* dst);
const trans_affine& rect_to_parl(double x1, double y1,
double x2, double y2,
const double* parl);
const trans_affine& parl_to_rect(const double* parl,
double x1, double y1,
double x2, double y2);
//------------------------------------------ Operations
// Reset - load an identity matrix
const trans_affine& reset();
// Direct transformations operations
const trans_affine& translate(double x, double y);
const trans_affine& rotate(double a);
const trans_affine& scale(double s);
const trans_affine& scale(double x, double y);
// Multiply matrix to another one
const trans_affine& multiply(const trans_affine& m);
// Multiply "m" to "this" and assign the result to "this"
const trans_affine& premultiply(const trans_affine& m);
// Multiply matrix to inverse of another one
const trans_affine& multiply_inv(const trans_affine& m);
// Multiply inverse of "m" to "this" and assign the result to "this"
const trans_affine& premultiply_inv(const trans_affine& m);
// Invert matrix. Do not try to invert degenerate matrices,
// there's no check for validity. If you set scale to 0 and
// then try to invert matrix, expect unpredictable result.
const trans_affine& invert();
// Mirroring around X
const trans_affine& flip_x();
// Mirroring around Y
const trans_affine& flip_y();
//------------------------------------------- Load/Store
// Store matrix to an array [6] of double
void store_to(double* m) const
{
*m++ = sx; *m++ = shy; *m++ = shx; *m++ = sy; *m++ = tx; *m++ = ty;
}
// Load matrix from an array [6] of double
const trans_affine& load_from(const double* m)
{
sx = *m++; shy = *m++; shx = *m++; sy = *m++; tx = *m++; ty = *m++;
return *this;
}
//------------------------------------------- Operators
// Multiply the matrix by another one
const trans_affine& operator *= (const trans_affine& m)
{
return multiply(m);
}
// Multiply the matrix by inverse of another one
const trans_affine& operator /= (const trans_affine& m)
{
return multiply_inv(m);
}
// Multiply the matrix by another one and return
// the result in a separete matrix.
trans_affine operator * (const trans_affine& m)
{
return trans_affine(*this).multiply(m);
}
// Multiply the matrix by inverse of another one
// and return the result in a separete matrix.
trans_affine operator / (const trans_affine& m)
{
return trans_affine(*this).multiply_inv(m);
}
// Calculate and return the inverse matrix
trans_affine operator ~ () const
{
trans_affine ret = *this;
return ret.invert();
}
// Equal operator with default epsilon
bool operator == (const trans_affine& m) const
{
return is_equal(m, affine_epsilon);
}
// Not Equal operator with default epsilon
bool operator != (const trans_affine& m) const
{
return !is_equal(m, affine_epsilon);
}
//-------------------------------------------- Transformations
// Direct transformation of x and y
void transform(double* x, double* y) const;
// Direct transformation of x and y, 2x2 matrix only, no translation
void transform_2x2(double* x, double* y) const;
// Inverse transformation of x and y. It works slower than the
// direct transformation. For massive operations it's better to
// invert() the matrix and then use direct transformations.
void inverse_transform(double* x, double* y) const;
//-------------------------------------------- Auxiliary
// Calculate the determinant of matrix
double determinant() const
{
return sx * sy - shy * shx;
}
// Calculate the reciprocal of the determinant
double determinant_reciprocal() const
{
return 1.0 / (sx * sy - shy * shx);
}
// Get the average scale (by X and Y).
// Basically used to calculate the approximation_scale when
// decomposinting curves into line segments.
double scale() const;
// Check to see if the matrix is not degenerate
bool is_valid(double epsilon = affine_epsilon) const;
// Check to see if it's an identity matrix
bool is_identity(double epsilon = affine_epsilon) const;
// Check to see if two matrices are equal
bool is_equal(const trans_affine& m, double epsilon = affine_epsilon) const;
// Determine the major parameters. Use with caution considering
// possible degenerate cases.
double rotation() const;
void translation(double* dx, double* dy) const;
void scaling(double* x, double* y) const;
void scaling_abs(double* x, double* y) const;
};
//------------------------------------------------------------------------
inline void trans_affine::transform(double* x, double* y) const
{
register double tmp = *x;
*x = tmp * sx + *y * shx + tx;
*y = tmp * shy + *y * sy + ty;
}
//------------------------------------------------------------------------
inline void trans_affine::transform_2x2(double* x, double* y) const
{
register double tmp = *x;
*x = tmp * sx + *y * shx;
*y = tmp * shy + *y * sy;
}
//------------------------------------------------------------------------
inline void trans_affine::inverse_transform(double* x, double* y) const
{
register double d = determinant_reciprocal();
register double a = (*x - tx) * d;
register double b = (*y - ty) * d;
*x = a * sy - b * shx;
*y = b * sx - a * shy;
}
//------------------------------------------------------------------------
inline double trans_affine::scale() const
{
double x = 0.707106781 * sx + 0.707106781 * shx;
double y = 0.707106781 * shy + 0.707106781 * sy;
return sqrt(x*x + y*y);
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::translate(double x, double y)
{
tx += x;
ty += y;
return *this;
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::rotate(double a)
{
double ca = cos(a);
double sa = sin(a);
double t0 = sx * ca - shy * sa;
double t2 = shx * ca - sy * sa;
double t4 = tx * ca - ty * sa;
shy = sx * sa + shy * ca;
sy = shx * sa + sy * ca;
ty = tx * sa + ty * ca;
sx = t0;
shx = t2;
tx = t4;
return *this;
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::scale(double x, double y)
{
double mm0 = x; // Possible hint for the optimizer
double mm3 = y;
sx *= mm0;
shx *= mm0;
tx *= mm0;
shy *= mm3;
sy *= mm3;
ty *= mm3;
return *this;
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::scale(double s)
{
double m = s; // Possible hint for the optimizer
sx *= m;
shx *= m;
tx *= m;
shy *= m;
sy *= m;
ty *= m;
return *this;
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::premultiply(const trans_affine& m)
{
trans_affine t = m;
return *this = t.multiply(*this);
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::multiply_inv(const trans_affine& m)
{
trans_affine t = m;
t.invert();
return multiply(t);
}
//------------------------------------------------------------------------
inline const trans_affine& trans_affine::premultiply_inv(const trans_affine& m)
{
trans_affine t = m;
t.invert();
return *this = t.multiply(*this);
}
//------------------------------------------------------------------------
inline void trans_affine::scaling_abs(double* x, double* y) const
{
// Used to calculate scaling coefficients in image resampling.
// When there is considerable shear this method gives us much
// better estimation than just sx, sy.
*x = sqrt(sx * sx + shx * shx);
*y = sqrt(shy * shy + sy * sy);
}
//====================================================trans_affine_rotation
// Rotation matrix. sin() and cos() are calculated twice for the same angle.
// There's no harm because the performance of sin()/cos() is very good on all
// modern processors. Besides, this operation is not going to be invoked too
// often.
class trans_affine_rotation : public trans_affine
{
public:
trans_affine_rotation(double a) :
trans_affine(cos(a), sin(a), -sin(a), cos(a), 0.0, 0.0)
{}
};
//====================================================trans_affine_scaling
// Scaling matrix. x, y - scale coefficients by X and Y respectively
class trans_affine_scaling : public trans_affine
{
public:
trans_affine_scaling(double x, double y) :
trans_affine(x, 0.0, 0.0, y, 0.0, 0.0)
{}
trans_affine_scaling(double s) :
trans_affine(s, 0.0, 0.0, s, 0.0, 0.0)
{}
};
//================================================trans_affine_translation
// Translation matrix
class trans_affine_translation : public trans_affine
{
public:
trans_affine_translation(double x, double y) :
trans_affine(1.0, 0.0, 0.0, 1.0, x, y)
{}
};
//====================================================trans_affine_skewing
// Sckewing (shear) matrix
class trans_affine_skewing : public trans_affine
{
public:
trans_affine_skewing(double x, double y) :
trans_affine(1.0, tan(y), tan(x), 1.0, 0.0, 0.0)
{}
};
//===============================================trans_affine_line_segment
// Rotate, Scale and Translate, associating 0...dist with line segment
// x1,y1,x2,y2
class trans_affine_line_segment : public trans_affine
{
public:
trans_affine_line_segment(double x1, double y1, double x2, double y2,
double dist)
{
double dx = x2 - x1;
double dy = y2 - y1;
if(dist > 0.0)
{
multiply(trans_affine_scaling(sqrt(dx * dx + dy * dy) / dist));
}
multiply(trans_affine_rotation(atan2(dy, dx)));
multiply(trans_affine_translation(x1, y1));
}
};
//============================================trans_affine_reflection_unit
// Reflection matrix. Reflect coordinates across the line through
// the origin containing the unit vector (ux, uy).
// Contributed by John Horigan
class trans_affine_reflection_unit : public trans_affine
{
public:
trans_affine_reflection_unit(double ux, double uy) :
trans_affine(2.0 * ux * ux - 1.0,
2.0 * ux * uy,
2.0 * ux * uy,
2.0 * uy * uy - 1.0,
0.0, 0.0)
{}
};
//=================================================trans_affine_reflection
// Reflection matrix. Reflect coordinates across the line through
// the origin at the angle a or containing the non-unit vector (x, y).
// Contributed by John Horigan
class trans_affine_reflection : public trans_affine_reflection_unit
{
public:
trans_affine_reflection(double a) :
trans_affine_reflection_unit(cos(a), sin(a))
{}
trans_affine_reflection(double x, double y) :
trans_affine_reflection_unit(x / sqrt(x * x + y * y), y / sqrt(x * x + y * y))
{}
};
}
\ No newline at end of file
//
//
//////////////////////////////////////////////////////////////////////
#ifndef _AGGPLUSENUMS_H
#define _AGGPLUSENUMS_H
#include "ap_AggPlusTypes.h"
//#define __cplusplus
namespace Aggplus
{
#define PixelFormatIndexed 0x00010000 // Indexes into a palette
#define PixelFormatGDI 0x00020000 // Is a GDI-supported format
#define PixelFormatAlpha 0x00040000 // Has an alpha component
#define PixelFormatPAlpha 0x00080000 // Pre-multiplied alpha
#define PixelFormatExtended 0x00100000 // Extended color 16 bits/channel
#define PixelFormatCanonical 0x00200000
#define PixelFormatUndefined 0
#define PixelFormatDontCare 0
#define PixelFormat1bppIndexed (1 | ( 1 << 8) | PixelFormatIndexed | PixelFormatGDI)
#define PixelFormat4bppIndexed (2 | ( 4 << 8) | PixelFormatIndexed | PixelFormatGDI)
#define PixelFormat8bppIndexed (3 | ( 8 << 8) | PixelFormatIndexed | PixelFormatGDI)
#define PixelFormat16bppGrayScale (4 | (16 << 8) | PixelFormatExtended)
#define PixelFormat16bppRGB555 (5 | (16 << 8) | PixelFormatGDI)
#define PixelFormat16bppRGB565 (6 | (16 << 8) | PixelFormatGDI)
#define PixelFormat16bppARGB1555 (7 | (16 << 8) | PixelFormatAlpha | PixelFormatGDI)
#define PixelFormat24bppRGB (8 | (24 << 8) | PixelFormatGDI)
#define PixelFormat32bppRGB (9 | (32 << 8) | PixelFormatGDI)
#define PixelFormat32bppARGB (10 | (32 << 8) | PixelFormatAlpha | PixelFormatGDI | PixelFormatCanonical)
#define PixelFormat32bppPARGB (11 | (32 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatGDI)
#define PixelFormat48bppRGB (12 | (48 << 8) | PixelFormatExtended)
#define PixelFormat64bppARGB (13 | (64 << 8) | PixelFormatAlpha | PixelFormatCanonical | PixelFormatExtended)
#define PixelFormat64bppPARGB (14 | (64 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatExtended)
#ifndef PixelFormatMax
#define PixelFormatMax 15
#endif
//--------------------------------------------------------------------------
// Matrix Order
//--------------------------------------------------------------------------
enum MatrixOrder
{
MatrixOrderPrepend = 0,
MatrixOrderAppend = 1
};
//--------------------------------------------------------------------------
// Dash style constants
//--------------------------------------------------------------------------
enum DashStyle
{
DashStyleSolid, // 0
DashStyleDash, // 1
DashStyleDot, // 2
DashStyleDashDot, // 3
DashStyleDashDotDot, // 4
DashStyleCustom // 5
};
//--------------------------------------------------------------------------
// Line join constants
//--------------------------------------------------------------------------
enum LineJoin
{
LineJoinMiter = 0,
LineJoinBevel = 1,
LineJoinRound = 2,
LineJoinMiterClipped = 3
};
//--------------------------------------------------------------------------
// Line cap constants
//--------------------------------------------------------------------------
enum LineCap
{
LineCapFlat = 0,
LineCapSquare = 1,
LineCapRound = 2,
LineCapTriangle = 3,
LineCapNoAnchor = 0x10, // corresponds to flat cap
LineCapSquareAnchor = 0x11, // corresponds to square cap
LineCapRoundAnchor = 0x12, // corresponds to round cap
LineCapDiamondAnchor = 0x13, // corresponds to triangle cap
LineCapArrowAnchor = 0x14, // no correspondence
LineCapCustom = 0xff, // custom cap
LineCapAnchorMask = 0xf0 // mask to check for anchor or not.
};
//--------------------------------------------------------------------------
// Brush types
//--------------------------------------------------------------------------
enum BrushType
{
BrushTypeSolidColor = 0,
BrushTypeHatchFill = 1,
BrushTypeTextureFill = 2,
BrushTypePathGradient = 3,
BrushTypeLinearGradient = 4
};
//--------------------------------------------------------------------------
// Various wrap modes for brushes
//--------------------------------------------------------------------------
enum WrapMode
{
WrapModeTile, // 0
WrapModeTileFlipX, // 1
WrapModeTileFlipY, // 2
WrapModeTileFlipXY, // 3
WrapModeClamp // 4
};
//--------------------------------------------------------------------------
// FontStyle: face types and common styles
//--------------------------------------------------------------------------
enum FontStyle
{
FontStyleRegular = 0,
FontStyleBold = 1,
FontStyleItalic = 2,
FontStyleBoldItalic = 3,
FontStyleUnderline = 4,
FontStyleStrikeout = 8
};
//---------------------------------------------------------------------------
// String alignment flags
//---------------------------------------------------------------------------
enum StringAlignment
{
// Left edge for left-to-right text,
// right for right-to-left text,
// and top for vertical
StringAlignmentNear = 0,
StringAlignmentCenter = 1,
StringAlignmentFar = 2
};
//############## Not implemented-Used
//--------------------------------------------------------------------------
// Unit constants
//--------------------------------------------------------------------------
enum Unit
{
UnitWorld, // 0 -- World coordinate (non-physical unit)
UnitDisplay, // 1 -- Variable -- for PageTransform only
UnitPixel, // 2 -- Each unit is one device pixel.
UnitPoint, // 3 -- Each unit is a printer's point, or 1/72 inch.
UnitInch, // 4 -- Each unit is 1 inch.
UnitDocument, // 5 -- Each unit is 1/300 inch.
UnitMillimeter // 6 -- Each unit is 1 millimeter.
};
//---------------------------------------------------------------------------
// Text Rendering Hint
//---------------------------------------------------------------------------
enum TextRenderingHint
{
TextRenderingHintSystemDefault = 0, // Glyph with system default rendering hint
TextRenderingHintSingleBitPerPixelGridFit, // Glyph bitmap with hinting
TextRenderingHintSingleBitPerPixel, // Glyph bitmap without hinting
TextRenderingHintAntiAliasGridFit, // Glyph anti-alias bitmap with hinting
TextRenderingHintAntiAlias, // Glyph anti-alias bitmap without hinting
TextRenderingHintClearTypeGridFit // Glyph CT bitmap with hinting
};
//--------------------------------------------------------------------------
// Quality mode constants
//--------------------------------------------------------------------------
enum QualityMode
{
QualityModeInvalid = -1,
QualityModeDefault = 0,
QualityModeLow = 1, // Best performance
QualityModeHigh = 2 // Best rendering quality
};
//--------------------------------------------------------------------------
// Alpha Compositing mode constants
//--------------------------------------------------------------------------
enum CompositingMode
{
CompositingModeSourceOver, // 0
CompositingModeSourceCopy // 1
};
//--------------------------------------------------------------------------
// Alpha Compositing quality constants
//--------------------------------------------------------------------------
enum CompositingQuality
{
CompositingQualityInvalid = QualityModeInvalid,
CompositingQualityDefault = QualityModeDefault,
CompositingQualityHighSpeed = QualityModeLow,
CompositingQualityHighQuality = QualityModeHigh,
CompositingQualityGammaCorrected,
CompositingQualityAssumeLinear
};
//---------------------------------------------------------------------------
// Smoothing Mode
//---------------------------------------------------------------------------
enum SmoothingMode
{
SmoothingModeInvalid = QualityModeInvalid,
SmoothingModeDefault = QualityModeDefault,
SmoothingModeHighSpeed = QualityModeLow,
SmoothingModeHighQuality = QualityModeHigh,
SmoothingModeNone,
SmoothingModeAntiAlias
};
//--------------------------------------------------------------------------
// Interpolation modes
//--------------------------------------------------------------------------
enum InterpolationMode
{
InterpolationModeInvalid = QualityModeInvalid,
InterpolationModeDefault = QualityModeDefault,
InterpolationModeLowQuality = QualityModeLow,
InterpolationModeHighQuality = QualityModeHigh,
InterpolationModeBilinear,
InterpolationModeBicubic,
InterpolationModeNearestNeighbor,
InterpolationModeHighQualityBilinear,
InterpolationModeHighQualityBicubic
};
enum StringFormatFlags
{
//not supp StringFormatFlagsDirectionRightToLeft = 0x00000001,
//not supp StringFormatFlagsDirectionVertical = 0x00000002,
//not supp StringFormatFlagsNoFitBlackBox = 0x00000004,
//not supp StringFormatFlagsDisplayFormatControl = 0x00000020,
//not supp StringFormatFlagsNoFontFallback = 0x00000400,
//not supp StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
//not supp StringFormatFlagsNoWrap = 0x00001000,
StringFormatFlagsLineLimit = 0x00002000
//not supp StringFormatFlagsNoClip = 0x00004000
};
} //namespace Aggplus
#endif // !defined(_AGGPLUSENUMS_H)
#ifndef _AGGPLUSTYPES_H
#define _AGGPLUSTYPES_H
#include "windows.h"
namespace Aggplus
{
typedef float REAL;
typedef int INT;
typedef unsigned int *PUINT;
typedef unsigned long ARGB;
typedef INT PixelFormat;
#define REAL_MAX FLT_MAX
#define REAL_MIN FLT_MIN
#define REAL_TOLERANCE (FLT_MIN * 100)
#define REAL_EPSILON 1.192092896e-07F /* FLT_EPSILON */
//--------------------------------------------------------------------------
// Status return values from AGG+ methods
//--------------------------------------------------------------------------
enum Status
{
Ok = 0,
GenericError = 1,
InvalidParameter = 2,
OutOfMemory = 3,
ObjectBusy = 4,
InsufficientBuffer = 5,
NotImplemented = 6,
Win32Error = 7,
WrongState = 8,
Aborted = 9,
FileNotFound = 10,
ValueOverflow = 11,
AccessDenied = 12,
UnknownImageFormat = 13,
FontFamilyNotFound = 14,
FontStyleNotFound = 15,
NotTrueTypeFont = 16,
UnsupportedGdiplusVersion = 17,
AggplusNotInitialized = 18,
PropertyNotFound = 19,
PropertyNotSupported = 20
};
class SizeF
{
public:
SizeF() : Width(0.0f), Height(0.0f) { }
SizeF(const SizeF& size) : Width(size.Width), Height(size.Height) { }
SizeF(REAL width, REAL height) : Width(width), Height(height) { }
SizeF operator+(const SizeF& sz) const { return SizeF(Width+sz.Width, Height+sz.Height); }
SizeF operator-(const SizeF& sz) const { return SizeF(Width-sz.Width, Height-sz.Height); }
BOOL Equals(const SizeF& sz) const { return((Width == sz.Width) && (Height == sz.Height)); }
BOOL Empty() const { return(Width == 0.0f && Height == 0.0f); }
public:
REAL Width, Height;
};
class PointF
{
public:
PointF() : X(0.0f), Y(0.0f) { }
PointF(const PointF &point) : X(point.X), Y(point.Y) { }
PointF(const SizeF &size) : X(size.Width), Y(size.Height) { }
PointF(REAL x, REAL y) : X(x), Y(y) { }
//~PointF() { }
BOOL Equals(const PointF& point) const { return(X==point.X && Y==point.Y); }
PointF operator+(const PointF& point) const { return PointF(X + point.X, Y + point.Y); }
PointF operator-(const PointF& point) const { return PointF(X - point.X, Y - point.Y); }
public:
REAL X, Y;
};
class RectF
{
public:
RectF() : X(0.0f), Y(0.0f), Width(0.0f), Height(0.0f) { }
RectF(REAL x, REAL y, REAL width, REAL height) : X(x), Y(y), Width(width), Height(height) { }
RectF(RECT rct)
{ X = REAL(rct.left); Y = REAL(rct.top); Width = REAL(rct.right-rct.left); Height=REAL(rct.bottom-rct.top);}
RectF(const PointF& location, const SizeF& size) : X(location.X), Y(location.Y), Width(size.Width), Height(size.Height) { }
RectF* Clone() const { return new RectF(X, Y, Width, Height); }
void GetLocation(PointF* point) const { point->X = X; point->Y = Y; }
void GetSize(SizeF* size) const { size->Width = Width; size->Height = Height; }
void GetBounds(RectF* rect) const { rect->X = X; rect->Y = Y; rect->Width = Width; rect->Height = Height; }
REAL GetLeft() const { return X; }
REAL GetTop() const { return Y; }
REAL GetRight() const { return X+Width; }
REAL GetBottom() const { return Y+Height; }
BOOL IsEmptyArea() const { return (Width <= REAL_EPSILON) || (Height <= REAL_EPSILON); }
BOOL Equals(const RectF & rect) const
{
return X == rect.X && Y == rect.Y &&
Width == rect.Width && Height == rect.Height;
}
BOOL Contains(REAL x, REAL y) const
{
return x >= X && x < X+Width &&
y >= Y && y < Y+Height;
}
BOOL Contains(const PointF& pt) const { return Contains(pt.X, pt.Y); }
BOOL Contains(const RectF& rect) const
{
return (X <= rect.X) && (rect.GetRight() <= GetRight()) &&
(Y <= rect.Y) && (rect.GetBottom() <= GetBottom());
}
void Inflate(REAL dx, REAL dy) { X -= dx; Y -= dy; Width += 2*dx; Height += 2*dy; }
void Inflate(const PointF& point) { Inflate(point.X, point.Y); }
BOOL Intersect(const RectF& rect) { return Intersect(*this, *this, rect); }
static BOOL Intersect(RectF& c, const RectF& a, const RectF& b)
{
REAL right = min(a.GetRight(), b.GetRight());
REAL bottom = min(a.GetBottom(), b.GetBottom());
REAL left = max(a.GetLeft(), b.GetLeft());
REAL top = max(a.GetTop(), b.GetTop());
c.X = left;
c.Y = top;
c.Width = right - left;
c.Height = bottom - top;
return !c.IsEmptyArea();
}
BOOL IntersectsWith(const RectF& rect) const
{
return (GetLeft() < rect.GetRight() &&
GetTop() < rect.GetBottom() &&
GetRight() > rect.GetLeft() &&
GetBottom() > rect.GetTop());
}
static BOOL Union(RectF& c, const RectF& a, const RectF& b)
{
REAL right = max(a.GetRight(), b.GetRight());
REAL bottom = max(a.GetBottom(), b.GetBottom());
REAL left = min(a.GetLeft(), b.GetLeft());
REAL top = min(a.GetTop(), b.GetTop());
c.X = left;
c.Y = top;
c.Width = right - left;
c.Height = bottom - top;
return !c.IsEmptyArea();
}
void Offset(const PointF& point) { Offset(point.X, point.Y); }
void Offset(REAL dx, REAL dy) { X += dx; Y += dy; }
public:
REAL X, Y, Width, Height;
};
} //namespace Aggplus
#endif // _AGGPLUSTYPES_H
\ No newline at end of file
...@@ -216,7 +216,7 @@ public: ...@@ -216,7 +216,7 @@ public:
#ifdef ODP_DEF #ifdef ODP_DEF
if (!bIsFound) if (!bIsFound)
{ {
if (0 < m_pShape->m_arTextRects.GetSize()) if (0 < m_pShape->m_arTextRects.size())
{ {
double koefX = oInfo.m_dWidth / ShapeSizeVML; double koefX = oInfo.m_dWidth / ShapeSizeVML;
double koefY = oInfo.m_dHeight / ShapeSizeVML; double koefY = oInfo.m_dHeight / ShapeSizeVML;
...@@ -305,7 +305,7 @@ public: ...@@ -305,7 +305,7 @@ public:
#if defined(ODP_DEF) #if defined(ODP_DEF)
if (!bIsFound) if (!bIsFound)
{ {
if (0 < m_pShape->m_arTextRects.GetSize()) if (0 < m_pShape->m_arTextRects.size())
{ {
double koefX = dWidth / ShapeSizeVML; double koefX = dWidth / ShapeSizeVML;
double koefY = dHeight / ShapeSizeVML; double koefY = dHeight / ShapeSizeVML;
......
...@@ -215,7 +215,7 @@ namespace NSPresentationEditor ...@@ -215,7 +215,7 @@ namespace NSPresentationEditor
#ifdef _PRESENTATION_WRITER_ #ifdef _PRESENTATION_WRITER_
m_bUseLayoutColorScheme = true; m_bUseLayoutColorScheme = true;
//colors //colors
m_arColorScheme.RemoveAll(); m_arColorScheme.clear();
XmlUtils::CXmlNode oNodeColors; XmlUtils::CXmlNode oNodeColors;
if (oNode.GetNode(_T("Colors"), oNodeColors)) if (oNode.GetNode(_T("Colors"), oNodeColors))
{ {
...@@ -228,7 +228,8 @@ namespace NSPresentationEditor ...@@ -228,7 +228,8 @@ namespace NSPresentationEditor
LONG lColor = 0; LONG lColor = 0;
for (size_t i = 0; i < nCount; i += 3) for (size_t i = 0; i < nCount; i += 3)
{ {
m_arColorScheme.push_back(); CColor elem;
m_arColorScheme.push_back(elem);
oStyles.m_arStyles[i].LoadColor(m_arColorScheme[lColor]); oStyles.m_arStyles[i].LoadColor(m_arColorScheme[lColor]);
++lColor; ++lColor;
} }
...@@ -286,16 +287,16 @@ namespace NSPresentationEditor ...@@ -286,16 +287,16 @@ namespace NSPresentationEditor
CStylesCSS oCSS; CStylesCSS oCSS;
oCSS.LoadStyles(oNodeFontRefs.GetText()); oCSS.LoadStyles(oNodeFontRefs.GetText());
size_t nCountS = oCSS.m_arStyles.GetCount(); size_t nCountS = oCSS.m_arStyles.size();
for (size_t i = 0; i < nCountS; ++i) for (size_t i = 0; i < nCountS; ++i)
{ {
oCSS.m_arStyles[i].m_strClassName.Delete(0, 6); oCSS.m_arStyles[i].m_strClassName.Delete(0, 6);
LONG lElementID = XmlUtils::GetInteger(oCSS.m_arStyles[i].m_strClassName); LONG lElementID = XmlUtils::GetInteger(oCSS.m_arStyles[i].m_strClassName);
CAtlMap<CString, CString>::CPair* pPair = oCSS.m_arStyles[i].m_mapSettings.Lookup(_T("font-index")); std::map<CString, CString>::iterator pPair = oCSS.m_arStyles[i].m_mapSettings.find(_T("font-index"));
if (NULL != pPair) if (oCSS.m_arStyles[i].m_mapSettings.end() != pPair)
{ {
LONG lFontRef = XmlUtils::GetInteger(pPair->m_value); LONG lFontRef = XmlUtils::GetInteger(pPair->second);
size_t nCountEl = m_arElements.size(); size_t nCountEl = m_arElements.size();
for (size_t j = 0; j < nCountEl; ++j) for (size_t j = 0; j < nCountEl; ++j)
......
...@@ -12,7 +12,7 @@ namespace NSPresentationEditor ...@@ -12,7 +12,7 @@ namespace NSPresentationEditor
// colors ---- // colors ----
oWriter.WriteString(_T("<Colors>")); oWriter.WriteString(_T("<Colors>"));
size_t nCountColors = m_arColorScheme.GetCount(); size_t nCountColors = m_arColorScheme.size();
for (size_t i = 0; i < nCountColors; ++i) for (size_t i = 0; i < nCountColors; ++i)
{ {
CString strFormat = _T(""); CString strFormat = _T("");
...@@ -28,7 +28,7 @@ namespace NSPresentationEditor ...@@ -28,7 +28,7 @@ namespace NSPresentationEditor
// fonts ----- // fonts -----
oWriter.WriteString(_T("<Fonts>")); oWriter.WriteString(_T("<Fonts>"));
size_t nCountFonts = m_arFonts.GetCount(); size_t nCountFonts = m_arFonts.size();
//if (nCountFonts > 1) //if (nCountFonts > 1)
// nCountFonts = 1; // nCountFonts = 1;
for (size_t i = 0; i < nCountFonts; ++i) for (size_t i = 0; i < nCountFonts; ++i)
...@@ -109,7 +109,7 @@ namespace NSPresentationEditor ...@@ -109,7 +109,7 @@ namespace NSPresentationEditor
// elements // elements
oWriter.WriteString(_T("<Elements>")); oWriter.WriteString(_T("<Elements>"));
size_t nCountElems = m_arElements.GetCount(); size_t nCountElems = m_arElements.size();
for (size_t i = 0; i < nCountElems; ++i) for (size_t i = 0; i < nCountElems; ++i)
{ {
m_arElements[i]->m_bIsBackground = false; m_arElements[i]->m_bIsBackground = false;
...@@ -123,7 +123,7 @@ namespace NSPresentationEditor ...@@ -123,7 +123,7 @@ namespace NSPresentationEditor
// layouts // layouts
oWriter.WriteString(_T("<Layouts>")); oWriter.WriteString(_T("<Layouts>"));
size_t nCountLayouts = m_arLayouts.GetCount(); size_t nCountLayouts = m_arLayouts.size();
for (size_t i = 0; i < nCountLayouts; ++i) for (size_t i = 0; i < nCountLayouts; ++i)
{ {
oWriter.WriteString(m_arLayouts[i].ToXmlEditor(this, oInfo)); oWriter.WriteString(m_arLayouts[i].ToXmlEditor(this, oInfo));
...@@ -140,18 +140,19 @@ namespace NSPresentationEditor ...@@ -140,18 +140,19 @@ namespace NSPresentationEditor
{ {
#ifdef _PRESENTATION_WRITER_ #ifdef _PRESENTATION_WRITER_
//colors //colors
m_arColorScheme.RemoveAll(); m_arColorScheme.clear();
XmlUtils::CXmlNode oNodeColors; XmlUtils::CXmlNode oNodeColors;
if (oNode.GetNode(_T("Colors"), oNodeColors)) if (oNode.GetNode(_T("Colors"), oNodeColors))
{ {
CStylesCSS oStyles; CStylesCSS oStyles;
oStyles.LoadStyles(oNodeColors.GetText()); oStyles.LoadStyles(oNodeColors.GetText());
size_t nCount = oStyles.m_arStyles.GetCount(); size_t nCount = oStyles.m_arStyles.size();
LONG lColor = 0; LONG lColor = 0;
for (size_t i = 0; i < nCount; i += 3) for (size_t i = 0; i < nCount; i += 3)
{ {
m_arColorScheme.Add(); CColor elem;
m_arColorScheme.push_back(elem);
oStyles.m_arStyles[i].LoadColor(m_arColorScheme[lColor]); oStyles.m_arStyles[i].LoadColor(m_arColorScheme[lColor]);
++lColor; ++lColor;
} }
...@@ -163,10 +164,11 @@ namespace NSPresentationEditor ...@@ -163,10 +164,11 @@ namespace NSPresentationEditor
CStylesCSS oStyles; CStylesCSS oStyles;
oStyles.LoadStyles(oNodeFonts.GetText()); oStyles.LoadStyles(oNodeFonts.GetText());
size_t nCount = oStyles.m_arStyles.GetCount(); size_t nCount = oStyles.m_arStyles.size();
for (size_t i = 0; i < nCount; ++i) for (size_t i = 0; i < nCount; ++i)
{ {
m_arFonts.Add(); CFont elem;
m_arFonts.push_back(elem);
oStyles.m_arStyles[i].LoadFont(m_arFonts[i]); oStyles.m_arStyles[i].LoadFont(m_arFonts[i]);
} }
} }
...@@ -191,7 +193,7 @@ namespace NSPresentationEditor ...@@ -191,7 +193,7 @@ namespace NSPresentationEditor
CStylesCSS oCSS; CStylesCSS oCSS;
oCSS.LoadStyles(oNodeStyle.GetText()); oCSS.LoadStyles(oNodeStyle.GetText());
if (20 != oCSS.m_arStyles.GetCount()) if (20 != oCSS.m_arStyles.size())
continue; continue;
for (int nIndexStyle = 0; nIndexStyle < 10; ++nIndexStyle) for (int nIndexStyle = 0; nIndexStyle < 10; ++nIndexStyle)
...@@ -242,7 +244,7 @@ namespace NSPresentationEditor ...@@ -242,7 +244,7 @@ namespace NSPresentationEditor
pShapeEl->m_pTheme = this; pShapeEl->m_pTheme = this;
m_arElements.Add(pShapeEl); m_arElements.push_back(pShapeEl);
} }
} }
} }
...@@ -258,10 +260,12 @@ namespace NSPresentationEditor ...@@ -258,10 +260,12 @@ namespace NSPresentationEditor
{ {
XmlUtils::CXmlNode oNodeL; XmlUtils::CXmlNode oNodeL;
oLayouts.GetAt(nL, oNodeL); oLayouts.GetAt(nL, oNodeL);
m_arLayouts.Add();
m_arLayouts[m_arLayouts.GetCount() - 1].SetMetricInfo(m_oInfo); CLayout elem;
m_arLayouts[m_arLayouts.GetCount() - 1].ReadFromXml(oNodeL); m_arLayouts.push_back(elem);
m_arLayouts.back().SetMetricInfo(m_oInfo);
m_arLayouts.back().ReadFromXml(oNodeL);
} }
} }
} }
......
...@@ -153,7 +153,7 @@ namespace NSPresentationEditor ...@@ -153,7 +153,7 @@ namespace NSPresentationEditor
<Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\" />\ <Override PartName=\"/docProps/core.xml\" ContentType=\"application/vnd.openxmlformats-package.core-properties+xml\" />\
<Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\" />"); <Override PartName=\"/docProps/app.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.extended-properties+xml\" />");
int nThemes = (int)m_pDocument->m_arThemes.GetCount(); int nThemes = (int)m_pDocument->m_arThemes.size();
int nIndexLayout = 0; int nIndexLayout = 0;
for (int nT = 0; nT < nThemes; ++nT) for (int nT = 0; nT < nThemes; ++nT)
{ {
...@@ -164,7 +164,7 @@ namespace NSPresentationEditor ...@@ -164,7 +164,7 @@ namespace NSPresentationEditor
strContentTypes += strTheme; strContentTypes += strTheme;
int nCountL = (int)m_pDocument->m_arThemes[nT].m_arLayouts.GetCount(); int nCountL = (int)m_pDocument->m_arThemes[nT].m_arLayouts.size();
for (int nL = 0; nL < nCountL; ++nL, ++nIndexLayout) for (int nL = 0; nL < nCountL; ++nL, ++nIndexLayout)
{ {
CString strL = _T(""); CString strL = _T("");
...@@ -178,7 +178,7 @@ namespace NSPresentationEditor ...@@ -178,7 +178,7 @@ namespace NSPresentationEditor
strContentTypes += _T("<Override PartName=\"/ppt/notesMasters/notesMaster1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml\"/>"); strContentTypes += _T("<Override PartName=\"/ppt/notesMasters/notesMaster1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml\"/>");
int nCountS = (int)m_pDocument->m_arSlides.GetCount(); int nCountS = (int)m_pDocument->m_arSlides.size();
for (int nS = 0; nS < nCountS; ++nS) for (int nS = 0; nS < nCountS; ++nS)
{ {
CString strS = _T(""); CString strS = _T("");
...@@ -212,7 +212,7 @@ namespace NSPresentationEditor ...@@ -212,7 +212,7 @@ namespace NSPresentationEditor
oFile.WriteStringUTF8(str1); oFile.WriteStringUTF8(str1);
CString str2 = _T(""); CString str2 = _T("");
str2.Format(_T("<Slides>%d</Slides>"), (int)m_pDocument->m_arSlides.GetCount()); str2.Format(_T("<Slides>%d</Slides>"), (int)m_pDocument->m_arSlides.size());
oFile.WriteStringUTF8(str2); oFile.WriteStringUTF8(str2);
CString str3 = _T("<Notes>0</Notes>\ CString str3 = _T("<Notes>0</Notes>\
...@@ -223,8 +223,8 @@ namespace NSPresentationEditor ...@@ -223,8 +223,8 @@ namespace NSPresentationEditor
<vt:vector size=\"4\" baseType=\"variant\">"); <vt:vector size=\"4\" baseType=\"variant\">");
oFile.WriteStringUTF8(str3); oFile.WriteStringUTF8(str3);
int nCountThemes = (int)m_pDocument->m_arThemes.GetCount(); int nCountThemes = (int)m_pDocument->m_arThemes.size();
int nCountSlides = (int)m_pDocument->m_arSlides.GetCount(); int nCountSlides = (int)m_pDocument->m_arSlides.size();
CString strThemes = _T(""); CString strThemes = _T("");
strThemes.Format(_T("<vt:variant><vt:lpstr>Theme</vt:lpstr></vt:variant><vt:variant><vt:i4>%d</vt:i4></vt:variant>"), nCountThemes); strThemes.Format(_T("<vt:variant><vt:lpstr>Theme</vt:lpstr></vt:variant><vt:variant><vt:i4>%d</vt:i4></vt:variant>"), nCountThemes);
...@@ -307,7 +307,7 @@ namespace NSPresentationEditor ...@@ -307,7 +307,7 @@ namespace NSPresentationEditor
CString strPresSlides = _T(""); CString strPresSlides = _T("");
size_t nCountLayouts = 0; size_t nCountLayouts = 0;
size_t nCountThemes = m_pDocument->m_arThemes.GetCount(); size_t nCountThemes = m_pDocument->m_arThemes.size();
for (size_t nIndexTheme = 0; nIndexTheme < nCountThemes; ++nIndexTheme) for (size_t nIndexTheme = 0; nIndexTheme < nCountThemes; ++nIndexTheme)
{ {
CString strRels = _T(""); CString strRels = _T("");
...@@ -320,14 +320,14 @@ namespace NSPresentationEditor ...@@ -320,14 +320,14 @@ namespace NSPresentationEditor
strRels = _T(""); strRels = _T("");
strRels.Format(_T("<p:sldMasterId id=\"%u\" r:id=\"rId%d\" />"), 0x80000000 + nCountLayouts, 2 * nIndexTheme + 1); strRels.Format(_T("<p:sldMasterId id=\"%u\" r:id=\"rId%d\" />"), 0x80000000 + nCountLayouts, 2 * nIndexTheme + 1);
nCountLayouts += m_pDocument->m_arThemes[nIndexTheme].m_arLayouts.GetCount(); nCountLayouts += m_pDocument->m_arThemes[nIndexTheme].m_arLayouts.size();
nCountLayouts += 1; nCountLayouts += 1;
strPresMasters += strRels; strPresMasters += strRels;
} }
int nCurrentRels = (int)(2 * nCountThemes + 1); int nCurrentRels = (int)(2 * nCountThemes + 1);
size_t nCountSlides = m_pDocument->m_arSlides.GetCount(); size_t nCountSlides = m_pDocument->m_arSlides.size();
for (size_t nIndexSlide = 0; nIndexSlide < nCountSlides; ++nIndexSlide, ++nCurrentRels) for (size_t nIndexSlide = 0; nIndexSlide < nCountSlides; ++nIndexSlide, ++nCurrentRels)
{ {
CString strRels = _T(""); CString strRels = _T("");
...@@ -394,14 +394,14 @@ namespace NSPresentationEditor ...@@ -394,14 +394,14 @@ namespace NSPresentationEditor
HINSTANCE hInst = _AtlBaseModule.GetModuleInstance(); HINSTANCE hInst = _AtlBaseModule.GetModuleInstance();
CString strThemeNotes = _T(""); CString strThemeNotes = _T("");
strThemeNotes.Format(_T("\\ppt\\theme\\theme%d.xml"), (int)m_pDocument->m_arThemes.GetCount() + 1); strThemeNotes.Format(_T("\\ppt\\theme\\theme%d.xml"), (int)m_pDocument->m_arThemes.size() + 1);
LoadResourceFile(hInst, MAKEINTRESOURCE(IDB_XML_NOTESTHEME), _T("PPTXW"), m_strTempDirectory + strThemeNotes); LoadResourceFile(hInst, MAKEINTRESOURCE(IDB_XML_NOTESTHEME), _T("PPTXW"), m_strTempDirectory + strThemeNotes);
LoadResourceFile(hInst, MAKEINTRESOURCE(IDB_XML_NOTESMASTER), _T("PPTXW"), m_strTempDirectory + _T("\\ppt\\notesMasters\\notesMaster1.xml")); LoadResourceFile(hInst, MAKEINTRESOURCE(IDB_XML_NOTESMASTER), _T("PPTXW"), m_strTempDirectory + _T("\\ppt\\notesMasters\\notesMaster1.xml"));
// - notesMasterRels ----------------------------------- // - notesMasterRels -----------------------------------
CDirectory::CreateDirectory(m_strTempDirectory + _T("\\ppt\\notesMasters\\_rels")); CDirectory::CreateDirectory(m_strTempDirectory + _T("\\ppt\\notesMasters\\_rels"));
CString strThemeNotesNum = _T(""); CString strThemeNotesNum = _T("");
strThemeNotesNum.Format(_T("%d"), (int)m_pDocument->m_arThemes.GetCount() + 1); strThemeNotesNum.Format(_T("%d"), (int)m_pDocument->m_arThemes.size() + 1);
CString strVal = _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\ CString strVal = _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\
<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\ <Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\
<Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"../theme/theme") + strThemeNotesNum + _T(".xml\"/></Relationships>"); <Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target=\"../theme/theme") + strThemeNotesNum + _T(".xml\"/></Relationships>");
...@@ -411,7 +411,7 @@ namespace NSPresentationEditor ...@@ -411,7 +411,7 @@ namespace NSPresentationEditor
oFileRels.CloseFile(); oFileRels.CloseFile();
// ----------------------------------------------------- // -----------------------------------------------------
int nCount = (int)m_pDocument->m_arThemes.GetCount(); int nCount = (int)m_pDocument->m_arThemes.size();
int nStartLayout = 0; int nStartLayout = 0;
for (int nIndexTheme = 0; nIndexTheme < nCount; ++nIndexTheme) for (int nIndexTheme = 0; nIndexTheme < nCount; ++nIndexTheme)
{ {
...@@ -453,10 +453,10 @@ namespace NSPresentationEditor ...@@ -453,10 +453,10 @@ namespace NSPresentationEditor
CString strFonts = _T(""); CString strFonts = _T("");
CString sFont1 = _T(""); CString sFont1 = _T("");
if (0 < pTheme->m_arFonts.GetCount()) if (0 < pTheme->m_arFonts.size())
sFont1 = pTheme->m_arFonts[0].Name; sFont1 = pTheme->m_arFonts[0].Name;
CString sFont2 = _T(""); CString sFont2 = _T("");
if (1 < pTheme->m_arFonts.GetCount()) if (1 < pTheme->m_arFonts.size())
sFont2 = pTheme->m_arFonts[1].Name; sFont2 = pTheme->m_arFonts[1].Name;
strFonts.Format(_T("<a:fontScheme name=\"default\"><a:majorFont><a:latin typeface=\"%d\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/>\ strFonts.Format(_T("<a:fontScheme name=\"default\"><a:majorFont><a:latin typeface=\"%d\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/>\
...@@ -503,7 +503,7 @@ namespace NSPresentationEditor ...@@ -503,7 +503,7 @@ namespace NSPresentationEditor
// masterslide // masterslide
CRelsGenerator oRels(&m_oManager); CRelsGenerator oRels(&m_oManager);
int nCountLayouts = (int)pTheme->m_arLayouts.GetCount(); int nCountLayouts = (int)pTheme->m_arLayouts.size();
oRels.StartMaster(nIndexTheme, nStartLayout, nCountLayouts); oRels.StartMaster(nIndexTheme, nStartLayout, nCountLayouts);
CStringWriter oWriter; CStringWriter oWriter;
...@@ -520,7 +520,7 @@ namespace NSPresentationEditor ...@@ -520,7 +520,7 @@ namespace NSPresentationEditor
<a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>"); <a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>");
oWriter.WriteString(strElems); oWriter.WriteString(strElems);
size_t nElements = pTheme->m_arElements.GetCount(); size_t nElements = pTheme->m_arElements.size();
for (size_t nEl = 0; nEl < nElements; ++nEl) for (size_t nEl = 0; nEl < nElements; ++nEl)
WriteElement(oWriter, oRels, pTheme->m_arElements[nEl]); WriteElement(oWriter, oRels, pTheme->m_arElements[nEl]);
...@@ -574,7 +574,7 @@ namespace NSPresentationEditor ...@@ -574,7 +574,7 @@ namespace NSPresentationEditor
nStartLayout += nCountLayouts; nStartLayout += nCountLayouts;
} }
size_t nCountSlides = m_pDocument->m_arSlides.GetCount(); size_t nCountSlides = m_pDocument->m_arSlides.size();
for (size_t nIndexS = 0; nIndexS < nCountSlides; ++nIndexS) for (size_t nIndexS = 0; nIndexS < nCountSlides; ++nIndexS)
{ {
CRelsGenerator::StartNotes((int)nIndexS, m_strTempDirectory, m_pDocument->m_arSlides[nIndexS].m_strComment); CRelsGenerator::StartNotes((int)nIndexS, m_strTempDirectory, m_pDocument->m_arSlides[nIndexS].m_strComment);
...@@ -623,7 +623,7 @@ namespace NSPresentationEditor ...@@ -623,7 +623,7 @@ namespace NSPresentationEditor
{ {
if (-1 != pElement->m_lPlaceholderType) if (-1 != pElement->m_lPlaceholderType)
{ {
size_t nCountElements = pLayout->m_arElements.GetCount(); size_t nCountElements = pLayout->m_arElements.size();
for (size_t nIndex = 0; nIndex < nCountElements; ++nIndex) for (size_t nIndex = 0; nIndex < nCountElements; ++nIndex)
{ {
if ((pElement->m_lPlaceholderType == pLayout->m_arElements[nIndex]->m_lPlaceholderType) && if ((pElement->m_lPlaceholderType == pLayout->m_arElements[nIndex]->m_lPlaceholderType) &&
...@@ -668,7 +668,7 @@ namespace NSPresentationEditor ...@@ -668,7 +668,7 @@ namespace NSPresentationEditor
<a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>"); <a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>");
oWriter.WriteString(strElems); oWriter.WriteString(strElems);
size_t nElements = oLayout.m_arElements.GetCount(); size_t nElements = oLayout.m_arElements.size();
for (size_t nEl = 0; nEl < nElements; ++nEl) for (size_t nEl = 0; nEl < nElements; ++nEl)
WriteElement(oWriter, oRels, oLayout.m_arElements[nEl]); WriteElement(oWriter, oRels, oLayout.m_arElements[nEl]);
...@@ -704,7 +704,7 @@ namespace NSPresentationEditor ...@@ -704,7 +704,7 @@ namespace NSPresentationEditor
{ {
int nLayout = oSlide.m_lLayoutID; int nLayout = oSlide.m_lLayoutID;
for (int i = 0; i < oSlide.m_lThemeID; ++i) for (int i = 0; i < oSlide.m_lThemeID; ++i)
nLayout += (int)m_pDocument->m_arThemes[i].m_arLayouts.GetCount(); nLayout += (int)m_pDocument->m_arThemes[i].m_arLayouts.size();
oRels.StartSlide(nLayout, nIndexSlide); oRels.StartSlide(nLayout, nIndexSlide);
} }
...@@ -721,7 +721,7 @@ namespace NSPresentationEditor ...@@ -721,7 +721,7 @@ namespace NSPresentationEditor
<a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>"); <a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>");
oWriter.WriteString(strElems); oWriter.WriteString(strElems);
size_t nElements = oSlide.m_arElements.GetCount(); size_t nElements = oSlide.m_arElements.size();
for (size_t nEl = 0; nEl < nElements; ++nEl) for (size_t nEl = 0; nEl < nElements; ++nEl)
WriteElement(oWriter, oRels, oSlide.m_arElements[nEl], &m_pDocument->m_arThemes[oSlide.m_lThemeID].m_arLayouts[oSlide.m_lLayoutID]); WriteElement(oWriter, oRels, oSlide.m_arElements[nEl], &m_pDocument->m_arThemes[oSlide.m_lThemeID].m_arLayouts[oSlide.m_lLayoutID]);
......
...@@ -731,7 +731,7 @@ STDMETHODIMP NSPresentationEditor::CShapeWriter::SetCommandParams(double dAngle, ...@@ -731,7 +731,7 @@ STDMETHODIMP NSPresentationEditor::CShapeWriter::SetCommandParams(double dAngle,
double m11 = bFlipX ? -1.0 : 1.0; double m11 = bFlipX ? -1.0 : 1.0;
double m22 = bFlipY ? -1.0 : 1.0; double m22 = bFlipY ? -1.0 : 1.0;
CMatrix oMatrix(1, 0, 0, 1, 0, 0); Aggplus::CMatrix oMatrix(1, 0, 0, 1, 0, 0);
if ((0 != dAngle) || (0 != lFlags)) if ((0 != dAngle) || (0 != lFlags))
{ {
...@@ -753,7 +753,7 @@ STDMETHODIMP NSPresentationEditor::CShapeWriter::SetCommandParams(double dAngle, ...@@ -753,7 +753,7 @@ STDMETHODIMP NSPresentationEditor::CShapeWriter::SetCommandParams(double dAngle,
} }
STDMETHODIMP NSPresentationEditor::CShapeWriter::SetTransform(double dA, double dB, double dC, double dD, double dE, double dF) STDMETHODIMP NSPresentationEditor::CShapeWriter::SetTransform(double dA, double dB, double dC, double dD, double dE, double dF)
{ {
CMatrix oTrans(dA, dB, dC, dD, dE, dF); Aggplus::CMatrix oTrans(dA, dB, dC, dD, dE, dF);
m_oTransform = oTrans; m_oTransform = oTrans;
CalculateFullTransform(); CalculateFullTransform();
......
...@@ -134,7 +134,7 @@ namespace NSPresentationEditor ...@@ -134,7 +134,7 @@ namespace NSPresentationEditor
if (m_pShapeElement->m_oShape.m_lDrawType & c_ShapeDrawType_Graphic) if (m_pShapeElement->m_oShape.m_lDrawType & c_ShapeDrawType_Graphic)
{ {
m_pShapeElement->m_oShape.ToRenderer(this, oInfo, m_oMetricInfo, 0.0, 1.0); m_pShapeElement->m_oShape.ToRenderer(dynamic_cast<IRenderer*>(this), oInfo, m_oMetricInfo, 0.0, 1.0);
} }
if (m_oWriterVML.GetCurSize() >= 10) if (m_oWriterVML.GetCurSize() >= 10)
...@@ -151,7 +151,7 @@ namespace NSPresentationEditor ...@@ -151,7 +151,7 @@ namespace NSPresentationEditor
int __r = (int)((m_oTextRect.right - m_oBounds.left) * 100000 / dW); int __r = (int)((m_oTextRect.right - m_oBounds.left) * 100000 / dW);
int __b = (int)((m_oTextRect.bottom - m_oBounds.top) * 100000 / dH); int __b = (int)((m_oTextRect.bottom - m_oBounds.top) * 100000 / dH);
size_t __nCount = m_pShapeElement->m_oShape.m_oText.m_arParagraphs.GetCount(); size_t __nCount = m_pShapeElement->m_oShape.m_oText.m_arParagraphs.size();
if (0 == __nCount || (0x00 == (m_pShapeElement->m_oShape.m_lDrawType & c_ShapeDrawType_Text))) if (0 == __nCount || (0x00 == (m_pShapeElement->m_oShape.m_lDrawType & c_ShapeDrawType_Text)))
{ {
m_oWriter.WriteString(_T("<a:rect l=\"l\" t=\"t\" r=\"r\" b=\"b\"/>")); m_oWriter.WriteString(_T("<a:rect l=\"l\" t=\"t\" r=\"r\" b=\"b\"/>"));
...@@ -443,9 +443,9 @@ namespace NSPresentationEditor ...@@ -443,9 +443,9 @@ namespace NSPresentationEditor
ASCGraphics::IASCGraphicSimpleComverter* m_pSimpleGraphicsConverter; // ASCGraphics::IASCGraphicSimpleComverter* m_pSimpleGraphicsConverter; //
ASCGraphics::IASCFontManager* m_pFontManager; // ASCGraphics::IASCFontManager* m_pFontManager; //
CMatrix m_oBaseTransform; // (: -> ) Aggplus::CMatrix m_oBaseTransform; // (: -> )
CMatrix m_oTransform; // Aggplus::CMatrix m_oTransform; //
CMatrix m_oFullTransform; // (m_oBaseTransform * m_oTransform) Aggplus::CMatrix m_oFullTransform; // (m_oBaseTransform * m_oTransform)
double m_dTransformAngle; double m_dTransformAngle;
...@@ -565,7 +565,7 @@ namespace NSPresentationEditor ...@@ -565,7 +565,7 @@ namespace NSPresentationEditor
void WriteTextInfo() void WriteTextInfo()
{ {
size_t nCount = m_pShapeElement->m_oShape.m_oText.m_arParagraphs.GetCount(); size_t nCount = m_pShapeElement->m_oShape.m_oText.m_arParagraphs.size();
if (/*0 == nCount || */(0x00 == (m_pShapeElement->m_oShape.m_lDrawType & c_ShapeDrawType_Text))) if (/*0 == nCount || */(0x00 == (m_pShapeElement->m_oShape.m_lDrawType & c_ShapeDrawType_Text)))
return; return;
...@@ -695,7 +695,7 @@ namespace NSPresentationEditor ...@@ -695,7 +695,7 @@ namespace NSPresentationEditor
m_oWriter.WriteString(_T("</a:pPr>")); m_oWriter.WriteString(_T("</a:pPr>"));
size_t nCountSpans = pParagraph->m_arSpans.GetCount(); size_t nCountSpans = pParagraph->m_arSpans.size();
for (size_t nSpan = 0; nSpan < nCountSpans; ++nSpan) for (size_t nSpan = 0; nSpan < nCountSpans; ++nSpan)
{ {
if (TRUE) if (TRUE)
......
...@@ -39,19 +39,13 @@ ...@@ -39,19 +39,13 @@
#include <atlctl.h> #include <atlctl.h>
#include <atlhost.h> #include <atlhost.h>
#include <atlcoll.h> #include <atlcoll.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include <gdiplus.h>
using namespace ATL; using namespace ATL;
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
#define PPT_DEF #include <gdiplus.h>
#define PPTX_DEF #pragma comment(lib, "gdiplus.lib")
#define ODP_DEF
#define _PRESENTATION_WRITER_ #include <math.h>
#include "../Common/OfficeFileTemplate.h" #include "../Common/OfficeFileTemplate.h"
#include "../ASCImageStudio3/ASCGraphics/Interfaces/ASCRenderer.h" #include "../ASCImageStudio3/ASCGraphics/Interfaces/ASCRenderer.h"
...@@ -62,15 +56,9 @@ using namespace Gdiplus; ...@@ -62,15 +56,9 @@ using namespace Gdiplus;
#import "../Redist/ASCHTMLRenderer.dll" named_guids rename_namespace("HTMLRenderer"), raw_interfaces_only, exclude("IASCRenderer") #import "../Redist/ASCHTMLRenderer.dll" named_guids rename_namespace("HTMLRenderer"), raw_interfaces_only, exclude("IASCRenderer")
#import "../Redist/ASCOfficePPTFile.dll" named_guids rename_namespace("PPTFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile") #import "../Redist/ASCOfficePPTFile.dll" named_guids rename_namespace("PPTFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
//#import "../Redist/ASCOfficePPTXFile.dll" named_guids rename_namespace("PPTXFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
#import "../Redist/ASCOfficeDocxFile2.dll" named_guids rename_namespace("PPTXFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile") #import "../Redist/ASCOfficeDocxFile2.dll" named_guids rename_namespace("PPTXFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
//#import "../Redist/ASCOfficeOdpFile.dll" named_guids rename_namespace("ODPFile"), raw_interfaces_only, exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
#import "../Redist/ASCOfficePDFWriter.dll" named_guids rename_namespace("PDFFile"), raw_interfaces_only, exclude("IASCRenderer") #import "../Redist/ASCOfficePDFWriter.dll" named_guids rename_namespace("PDFFile"), raw_interfaces_only, exclude("IASCRenderer")
#define USE_ODF_FILE
#ifdef USE_ODF_FILE #ifdef USE_ODF_FILE
#import "../Redist/ASCOfficeOdfFile.dll" named_guids raw_interfaces_only rename_namespace("ODFFile"), exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile") # import "../Redist/ASCOfficeOdfFile.dll" named_guids raw_interfaces_only rename_namespace("ODFFile"), exclude("IAVSOfficeFileTemplate", "_IAVSOfficeFileTemplateEvents", "_IAVSOfficeFileTemplateEvents2", "IAVSOfficeFile")
#endif #endif
\ No newline at end of file
typedef float REAL;
\ No newline at end of file
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
//1 //1
//0 //0
//0 //0
//45 //109
#define INTVER 1,0,0,45 #define INTVER 1,0,0,109
#define STRVER "1,0,0,45\0" #define STRVER "1,0,0,109\0"
...@@ -166,11 +166,11 @@ protected: ...@@ -166,11 +166,11 @@ protected:
Unit m_ePageUnits; Unit m_ePageUnits;
CMatrix m_oCoordTransform; Aggplus::CMatrix m_oCoordTransform;
CMatrix m_oBaseTransform; Aggplus::CMatrix m_oBaseTransform;
CMatrix m_oTransform; Aggplus::CMatrix m_oTransform;
CMatrix m_oFullTransform; Aggplus::CMatrix m_oFullTransform;
double m_dClipLeft; double m_dClipLeft;
double m_dClipTop; double m_dClipTop;
...@@ -226,9 +226,9 @@ public: ...@@ -226,9 +226,9 @@ public:
Unit GetPageUnit(); Unit GetPageUnit();
Status SetPageUnit(Unit lUnits); Status SetPageUnit(Unit lUnits);
CMatrix* GetTransform(); Aggplus::CMatrix* GetTransform();
Status SetTransform(CMatrix* pTransform); Status SetTransform(CMatrix* pTransform);
CMatrix* GetBaseTransform(); Aggplus::CMatrix* GetBaseTransform();
Status SetBaseTransform(CMatrix* pTransform); Status SetBaseTransform(CMatrix* pTransform);
Status TranslateTransform(double x, double y, MatrixOrder order = MatrixOrderPrepend); Status TranslateTransform(double x, double y, MatrixOrder order = MatrixOrderPrepend);
Status RotateTransform(double dAngle, MatrixOrder order = MatrixOrderPrepend); Status RotateTransform(double dAngle, MatrixOrder order = MatrixOrderPrepend);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment