Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
onlyoffice_core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
onlyoffice_core
Commits
4eb0a73f
Commit
4eb0a73f
authored
Apr 13, 2017
by
ElenaSubbotina
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PptxFormat - delete unused
OdfFormatWriter - extended text styles
parent
7929d798
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
232 additions
and
3036 deletions
+232
-3036
ASCOfficeOdfFileW/OdfFileWTest/OdfFileWTest.sln
ASCOfficeOdfFileW/OdfFileWTest/OdfFileWTest.sln
+7
-503
ASCOfficeOdfFileW/source/OdfFormat/odf_drawing_context.cpp
ASCOfficeOdfFileW/source/OdfFormat/odf_drawing_context.cpp
+2
-2
ASCOfficeOdfFileW/source/OdfFormat/odp_conversion_context.cpp
...fficeOdfFileW/source/OdfFormat/odp_conversion_context.cpp
+1
-1
ASCOfficeOdfFileW/source/OdfFormat/odp_slide_context.cpp
ASCOfficeOdfFileW/source/OdfFormat/odp_slide_context.cpp
+5
-0
ASCOfficeOdfFileW/source/OdfFormat/odp_slide_context.h
ASCOfficeOdfFileW/source/OdfFormat/odp_slide_context.h
+2
-1
ASCOfficeOdfFileW/source/Oox2OdfConverter/ConvertDrawing.cpp
ASCOfficeOdfFileW/source/Oox2OdfConverter/ConvertDrawing.cpp
+67
-31
ASCOfficeOdfFileW/source/Oox2OdfConverter/DocxConverter.cpp
ASCOfficeOdfFileW/source/Oox2OdfConverter/DocxConverter.cpp
+1
-8
ASCOfficeOdfFileW/source/Oox2OdfConverter/PptxConverter.cpp
ASCOfficeOdfFileW/source/Oox2OdfConverter/PptxConverter.cpp
+8
-15
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.h
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.h
+0
-1
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp
+87
-227
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h
+7
-20
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeProperties.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeProperties.cpp
+0
-824
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeProperties.h
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeProperties.h
+0
-130
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeTextProperties.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeTextProperties.cpp
+0
-658
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeTextProperties.h
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeTextProperties.h
+0
-176
ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.h
ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.h
+0
-2
ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.cpp
ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.cpp
+0
-11
ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.h
ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.h
+0
-3
ASCOfficePPTXFile/PPTXFormat/Logic/TxStyles.h
ASCOfficePPTXFile/PPTXFormat/Logic/TxStyles.h
+0
-1
ASCOfficePPTXFile/PPTXFormat/PPTX.h
ASCOfficePPTXFile/PPTXFormat/PPTX.h
+0
-1
ASCOfficePPTXFile/PPTXFormat/Slide.h
ASCOfficePPTXFile/PPTXFormat/Slide.h
+2
-38
ASCOfficePPTXFile/PPTXFormat/SlideLayout.h
ASCOfficePPTXFile/PPTXFormat/SlideLayout.h
+19
-86
ASCOfficePPTXFile/PPTXFormat/SlideMaster.h
ASCOfficePPTXFile/PPTXFormat/SlideMaster.h
+23
-163
ASCOfficePPTXFile/PPTXFormat/Theme.h
ASCOfficePPTXFile/PPTXFormat/Theme.h
+0
-19
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
+1
-115
No files found.
ASCOfficeOdfFileW/OdfFileWTest/OdfFileWTest.sln
View file @
4eb0a73f
...
...
@@ -3,19 +3,19 @@ Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormatWriterLib", "..\source\win32\OdfFormat.vcproj", "{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}"
ProjectSection(ProjectDependencies) = postProject
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Oox2OdfConverter", "..\source\win32\Oox2OdfConverter.vcproj", "{BEE01B53-244A-44E6-8947-ED9342D9247E}"
ProjectSection(ProjectDependencies) = postProject
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0}
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD} = {E5A67556-44DA-4481-8F87-0A3AEDBD20DD}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFileWriterTest", "OdfFileWTest.vcproj", "{FBA8446A-150F-4A10-B4DA-1022048D6473}"
...
...
@@ -40,9 +40,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfCommon", "..\..\ASCOffic
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raster", "..\..\DesktopEditor\raster\raster_vs2005.vcproj", "{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}"
ProjectSection(ProjectDependencies) = postProject
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1} = {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1} = {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jbig2", "..\..\DesktopEditor\raster\JBig2\win32\jbig2.vcproj", "{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}"
...
...
@@ -92,700 +92,204 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "..\..\DesktopEdi
EndProject
Global
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|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|x64 = Release|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
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug Multithreaded|x64.Build.0 = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug|Win32.ActiveCfg = Debug|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug|Win32.Build.0 = Debug|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug|x64.ActiveCfg = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Debug|x64.Build.0 = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release Multithreaded|x64.ActiveCfg = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release Multithreaded|x64.Build.0 = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release Singlethreaded|x64.Build.0 = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release|Win32.ActiveCfg = Release|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release|Win32.Build.0 = Release|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release|x64.ActiveCfg = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Release|x64.Build.0 = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Debug|Win32.Build.0 = Debug|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Debug|x64.ActiveCfg = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Debug|x64.Build.0 = Debug|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Release|Win32.ActiveCfg = Release|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Release|Win32.Build.0 = Release|Win32
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Release|x64.ActiveCfg = Release|x64
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD}.Unicode Release|x64.Build.0 = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug Multithreaded|x64.Build.0 = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug|Win32.ActiveCfg = Debug|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug|Win32.Build.0 = Debug|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug|x64.ActiveCfg = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Debug|x64.Build.0 = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release Multithreaded|x64.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release Multithreaded|x64.Build.0 = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release Singlethreaded|x64.Build.0 = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release|Win32.ActiveCfg = Release|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release|Win32.Build.0 = Release|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release|x64.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Release|x64.Build.0 = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Debug|Win32.Build.0 = Debug|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Debug|x64.ActiveCfg = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Debug|x64.Build.0 = Debug|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Release|Win32.ActiveCfg = Release|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Release|Win32.Build.0 = Release|Win32
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Release|x64.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.Unicode Release|x64.Build.0 = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug Multithreaded|x64.Build.0 = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug|Win32.ActiveCfg = Debug|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug|Win32.Build.0 = Debug|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug|x64.ActiveCfg = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Debug|x64.Build.0 = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release Multithreaded|x64.ActiveCfg = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release Multithreaded|x64.Build.0 = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release Singlethreaded|x64.Build.0 = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release|Win32.ActiveCfg = Release|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release|Win32.Build.0 = Release|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release|x64.ActiveCfg = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Release|x64.Build.0 = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Debug|Win32.Build.0 = Debug|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Debug|x64.ActiveCfg = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Debug|x64.Build.0 = Debug|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Release|Win32.ActiveCfg = Release|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Release|Win32.Build.0 = Release|Win32
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Release|x64.ActiveCfg = Release|x64
{FBA8446A-150F-4A10-B4DA-1022048D6473}.Unicode Release|x64.Build.0 = Release|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug Multithreaded|x64.Build.0 = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|Win32.ActiveCfg = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|Win32.Build.0 = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|x64.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|x64.Build.0 = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release Multithreaded|Win32.ActiveCfg = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release Multithreaded|x64.ActiveCfg = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release Multithreaded|x64.Build.0 = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release Singlethreaded|Win32.ActiveCfg = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release Singlethreaded|x64.ActiveCfg = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release Singlethreaded|x64.Build.0 = ReleaseOpenSource|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|Win32.ActiveCfg = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|Win32.Build.0 = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|x64.ActiveCfg = Release|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|x64.Build.0 = Release|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Debug|Win32.Build.0 = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Debug|x64.ActiveCfg = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Debug|x64.Build.0 = Debug|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Release|Win32.ActiveCfg = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Release|Win32.Build.0 = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Release|x64.ActiveCfg = Release|x64
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Unicode Release|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug Multithreaded|x64.Build.0 = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|Win32.ActiveCfg = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|Win32.Build.0 = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x64.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Debug|x64.Build.0 = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release Multithreaded|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release Multithreaded|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release Singlethreaded|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|Win32.ActiveCfg = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|Win32.Build.0 = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Release|x64.Build.0 = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Debug|Win32.Build.0 = Debug|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Debug|x64.ActiveCfg = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Debug|x64.Build.0 = Debug|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Release|Win32.ActiveCfg = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Release|Win32.Build.0 = Release|Win32
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Release|x64.ActiveCfg = Release|x64
{94954A67-A853-43B1-A727-6EF2774C5A6A}.Unicode Release|x64.Build.0 = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Multithreaded|x64.Build.0 = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{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|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|x64.Build.0 = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|x64.ActiveCfg = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Multithreaded|x64.Build.0 = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release Singlethreaded|x64.Build.0 = Release|x64
{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|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.Build.0 = Release|x64
{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|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|x64.Build.0 = Debug|x64
{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|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug Multithreaded|x64.Build.0 = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|Win32.ActiveCfg = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|Win32.Build.0 = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x64.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Debug|x64.Build.0 = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release Multithreaded|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release Multithreaded|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release Singlethreaded|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|Win32.ActiveCfg = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|Win32.Build.0 = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Release|x64.Build.0 = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Debug|Win32.Build.0 = Debug|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Debug|x64.ActiveCfg = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Debug|x64.Build.0 = Debug|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Release|Win32.ActiveCfg = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Release|Win32.Build.0 = Release|Win32
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Release|x64.ActiveCfg = Release|x64
{609ED938-3CA8-4BED-B363-25096D4C4812}.Unicode Release|x64.Build.0 = Release|x64
{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}.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
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug Multithreaded|x64.Build.0 = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|Win32.ActiveCfg = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|Win32.Build.0 = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|x64.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|x64.Build.0 = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release Multithreaded|x64.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release Multithreaded|x64.Build.0 = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release Singlethreaded|x64.Build.0 = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|Win32.ActiveCfg = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|Win32.Build.0 = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|x64.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|x64.Build.0 = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|Win32.Build.0 = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|x64.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|x64.Build.0 = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|Win32.ActiveCfg = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|Win32.Build.0 = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|x64.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|x64.Build.0 = 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}.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
{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}.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
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug Multithreaded|x64.Build.0 = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|Win32.ActiveCfg = Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|Win32.Build.0 = Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|x64.ActiveCfg = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|x64.Build.0 = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release Multithreaded|x64.ActiveCfg = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release Multithreaded|x64.Build.0 = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release Singlethreaded|x64.Build.0 = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|Win32.ActiveCfg = Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|Win32.Build.0 = Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|x64.ActiveCfg = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|x64.Build.0 = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Multithreaded|x64.Build.0 = Debug|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{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|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|x64.Build.0 = Debug|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|x64.ActiveCfg = Release|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Multithreaded|x64.Build.0 = Release|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release Singlethreaded|x64.Build.0 = Release|x64
{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|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|x64.Build.0 = Release|x64
{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|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Debug|x64.Build.0 = Debug|x64
{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|x64
{C739151F-5384-41DF-A1A6-F089E2C1AD56}.Unicode Release|x64.Build.0 = Release|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.ActiveCfg = Debug Multithreaded|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.Build.0 = Debug Multithreaded|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.Build.0 = Debug Singlethreaded|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.Build.0 = Debug|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x64.Build.0 = Release Multithreaded|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.Build.0 = Release Singlethreaded|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.Build.0 = Release|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Debug|x64.Build.0 = Debug|x64
{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|x64
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Unicode Release|x64.Build.0 = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug Multithreaded|x64.Build.0 = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug|Win32.ActiveCfg = Debug|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug|Win32.Build.0 = Debug|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug|x64.ActiveCfg = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Debug|x64.Build.0 = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release Multithreaded|x64.ActiveCfg = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release Multithreaded|x64.Build.0 = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release Singlethreaded|x64.Build.0 = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release|Win32.ActiveCfg = Release|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Release|Win32.Build.0 = Release|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Release|x64.ActiveCfg = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Release|x64.Build.0 = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Debug|Win32.Build.0 = Debug|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Debug|x64.ActiveCfg = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Debug|x64.Build.0 = Debug|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Release|Win32.ActiveCfg = Release|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Release|Win32.Build.0 = Release|Win32
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Release|x64.ActiveCfg = Release|x64
{F8274B05-168E-4D6E-B843-AA7510725363}.Unicode Release|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Multithreaded|x64.Build.0 = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{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|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Debug|x64.Build.0 = Debug|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Multithreaded|x64.Build.0 = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release Singlethreaded|x64.Build.0 = Release|x64
{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|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Release|x64.Build.0 = Release|x64
{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|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Debug|x64.Build.0 = Debug|x64
{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|x64
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}.Unicode Release|x64.Build.0 = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug Multithreaded|x64.Build.0 = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|Win32.ActiveCfg = Debug|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|Win32.Build.0 = Debug|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|x64.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Debug|x64.Build.0 = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release Multithreaded|x64.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release Multithreaded|x64.Build.0 = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release Singlethreaded|x64.Build.0 = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|Win32.ActiveCfg = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|Win32.Build.0 = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|x64.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Release|x64.Build.0 = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Debug|Win32.Build.0 = Debug|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Debug|x64.ActiveCfg = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Debug|x64.Build.0 = Debug|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Release|Win32.ActiveCfg = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Release|Win32.Build.0 = Release|Win32
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Release|x64.ActiveCfg = Release|x64
{36636678-AE25-4BE6-9A34-2561D1BCF302}.Unicode Release|x64.Build.0 = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Multithreaded|Win32.ActiveCfg = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Multithreaded|x64.Build.0 = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Singlethreaded|Win32.ActiveCfg = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug Singlethreaded|x64.Build.0 = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|x64.ActiveCfg = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Debug|x64.Build.0 = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Multithreaded|Win32.ActiveCfg = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Multithreaded|x64.ActiveCfg = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Multithreaded|x64.Build.0 = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Singlethreaded|Win32.ActiveCfg = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Singlethreaded|x64.ActiveCfg = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release Singlethreaded|x64.Build.0 = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|x64.ActiveCfg = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Release|x64.Build.0 = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|Win32.Build.0 = Debug|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|x64.ActiveCfg = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Debug|x64.Build.0 = Debug|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|Win32.ActiveCfg = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|Win32.Build.0 = Release|Win32
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|x64.ActiveCfg = Release|x64
{21663823-DE45-479B-91D0-B4FEF4916EF0}.Unicode Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
ASCOfficeOdfFileW/source/OdfFormat/odf_drawing_context.cpp
View file @
4eb0a73f
...
...
@@ -1887,7 +1887,7 @@ void odf_drawing_context::set_textarea_font(std::wstring & latin, std::wstring &
if
(
!
impl_
->
current_text_properties
)
return
;
if
(
!
ea
.
empty
())
impl_
->
current_text_properties
->
content_
.
fo_font_family_
=
ea
;
if
(
!
cs
.
empty
())
impl_
->
current_text_properties
->
content_
.
style_font_family_complex_
=
cs
;
if
(
!
cs
.
empty
())
impl_
->
current_text_properties
->
content_
.
style_font_family_complex_
=
cs
;
if
(
!
latin
.
empty
())
impl_
->
current_text_properties
->
content_
.
style_font_family_asian_
=
latin
;
}
...
...
@@ -2218,7 +2218,7 @@ void odf_drawing_context::set_text(odf_text_context* text_context)
{
if
(
text_context
==
NULL
||
impl_
->
current_level_
.
size
()
<
1
)
return
;
//
if (impl_->is_presentation_ && *impl_->is_presentation_) return;
if
(
impl_
->
is_presentation_
&&
*
impl_
->
is_presentation_
)
return
;
for
(
size_t
i
=
0
;
i
<
text_context
->
text_elements_list_
.
size
();
i
++
)
{
...
...
ASCOfficeOdfFileW/source/OdfFormat/odp_conversion_context.cpp
View file @
4eb0a73f
...
...
@@ -112,7 +112,7 @@ void odp_conversion_context::end_layout_slide()
void
odp_conversion_context
::
start_text_context
()
{
text_context_
=
new
odf_text_context
(
this
);
text_context_
->
set_styles_context
(
slide_context_
.
get_styles_context
());
}
void
odp_conversion_context
::
end_text_context
()
{
...
...
ASCOfficeOdfFileW/source/OdfFormat/odp_slide_context.cpp
View file @
4eb0a73f
...
...
@@ -53,6 +53,11 @@ void odp_slide_context::set_styles_context(odf_style_context* styles_context)
styles_context_
=
styles_context
;
}
odf_style_context
*
odp_slide_context
::
get_styles_context
()
{
return
styles_context_
;
}
odp_page_state
&
odp_slide_context
::
state
()
{
return
page_state_list_
.
back
();
...
...
ASCOfficeOdfFileW/source/OdfFormat/odp_slide_context.h
View file @
4eb0a73f
...
...
@@ -53,7 +53,8 @@ public:
void
start_page
(
office_element_ptr
&
elm
);
void
end_page
();
void
set_styles_context
(
odf_style_context
*
styles_context
);
void
set_styles_context
(
odf_style_context
*
styles_context
);
odf_style_context
*
get_styles_context
();
odp_page_state
&
state
();
...
...
ASCOfficeOdfFileW/source/Oox2OdfConverter/ConvertDrawing.cpp
View file @
4eb0a73f
...
...
@@ -417,15 +417,11 @@ void OoxConverter::convert(PPTX::Logic::Shape *oox_shape)
}
if
(
type
<
0
)
return
;
/////////////////////////////////////////////////////////////////////////////////
//-----------------------------------------------------------------------------
odf_context
()
->
drawing_context
()
->
start_shape
(
type
);
//if (oox_shape->levelUp)
//{
// convert((PPTX::Logic::SpPr *)&oox_shape->levelUp->spPr, oox_shape->levelUp->style.GetPointer());
//}
convert
(
&
oox_shape
->
spPr
,
oox_shape
->
style
.
GetPointer
());
//имя, описалово, номер ...
convert
(
&
oox_shape
->
nvSpPr
);
if
(
oox_shape
->
txXfrm
.
IsInit
()
==
false
)
...
...
@@ -453,6 +449,7 @@ void OoxConverter::convert(PPTX::Logic::Shape *oox_shape)
odf_context
()
->
drawing_context
()
->
end_drawing
();
}
}
void
OoxConverter
::
convert
(
PPTX
::
Logic
::
SpPr
*
oox_spPr
,
PPTX
::
Logic
::
ShapeStyle
*
oox_sp_style
)
{
if
(
oox_spPr
==
NULL
)
return
;
...
...
@@ -1074,8 +1071,8 @@ void OoxConverter::convert(PPTX::Logic::Paragraph *oox_paragraph, PPTX::Logic::T
//свойства могут быть приписаны не только к параграфу, но и к самому объекту
if
(
!
paragraph_properties
)
{
odf_context
()
->
styles_context
()
->
create_style
(
L""
,
odf_types
::
style_family
::
Paragraph
,
true
,
false
,
-
1
);
paragraph_properties
=
odf_context
()
->
styles_context
()
->
last_state
()
->
get_paragraph_properties
();
odf_context
()
->
text_context
()
->
get_
styles_context
()
->
create_style
(
L""
,
odf_types
::
style_family
::
Paragraph
,
true
,
false
,
-
1
);
paragraph_properties
=
odf_context
()
->
text_context
()
->
get_
styles_context
()
->
last_state
()
->
get_paragraph_properties
();
//if(list_present && oox_list_style)
//{
...
...
@@ -1196,11 +1193,9 @@ void OoxConverter::convert(PPTX::Logic::TextParagraphPr *oox_paragraph_pr, odf_w
//nullable<SimpleTypes::CCoordinate32<> > m_oDefTabSz;
//nullable<SimpleTypes::CTextFontAlignType<>> m_oFontAlgn;
if
(
oox_paragraph_pr
->
defRPr
.
IsInit
())
//может быть пустым !!!
if
(
oox_paragraph_pr
->
defRPr
.
IsInit
())
{
odf_writer
::
style_text_properties
*
text_properties
=
odf_context
()
->
text_context
()
->
get_text_properties
();
odf_writer
::
style_text_properties
*
text_properties
=
odf_context
()
->
text_context
()
->
get_
styles_context
()
->
last_state
()
->
get_
text_properties
();
if
(
text_properties
)
convert
(
oox_paragraph_pr
->
defRPr
.
GetPointer
(),
text_properties
);
...
...
@@ -1231,6 +1226,8 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
if
(
!
oox_run_pr
)
return
;
if
(
!
text_properties
)
return
;
PPTX
::
Theme
*
theme
=
oox_theme
();
PPTX
::
Logic
::
GradFill
*
gradFill
=
&
oox_run_pr
->
Fill
.
as
<
PPTX
::
Logic
::
GradFill
>
();
if
(
gradFill
)
{
...
...
@@ -1243,8 +1240,19 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
odf_context
()
->
drawing_context
()
->
end_area_properties
();
}
}
PPTX
::
Logic
::
SolidFill
*
solidFill
=
&
oox_run_pr
->
Fill
.
as
<
PPTX
::
Logic
::
SolidFill
>
();
if
(
solidFill
)
{
std
::
wstring
hexColor
;
_CP_OPT
(
double
)
opacity
;
convert
(
&
solidFill
->
Color
,
hexColor
,
opacity
);
int
res
=
0
;
if
((
res
=
hexColor
.
find
(
L"#"
))
<
0
)
hexColor
=
std
::
wstring
(
L"#"
)
+
hexColor
;
text_properties
->
content_
.
fo_color_
=
odf_types
::
color
(
hexColor
);
}
if
(
oox_run_pr
->
ln
.
IsInit
())
if
(
oox_run_pr
->
ln
.
IsInit
()
&&
oox_run_pr
->
ln
->
Fill
.
getType
()
!=
OOX
::
et_a_noFill
)
{
if
(
odf_context
()
->
drawing_context
()
->
change_text_box_2_wordart
())
{
...
...
@@ -1257,7 +1265,6 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
}
}
//
if
(
oox_run_pr
->
b
.
IsInit
())
{
if
(
oox_run_pr
->
b
.
get
()
==
true
)
...
...
@@ -1266,17 +1273,6 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
text_properties
->
content_
.
fo_font_weight_
=
odf_types
::
font_weight
(
odf_types
::
font_weight
::
WNormal
);
}
PPTX
::
Logic
::
SolidFill
*
solidFill
=
&
oox_run_pr
->
Fill
.
as
<
PPTX
::
Logic
::
SolidFill
>
();
if
(
solidFill
)
{
std
::
wstring
hexColor
;
_CP_OPT
(
double
)
opacity
;
convert
(
&
solidFill
->
Color
,
hexColor
,
opacity
);
int
res
=
0
;
if
((
res
=
hexColor
.
find
(
L"#"
))
<
0
)
hexColor
=
std
::
wstring
(
L"#"
)
+
hexColor
;
text_properties
->
content_
.
fo_color_
=
odf_types
::
color
(
hexColor
);
}
if
(
oox_run_pr
->
i
.
IsInit
())
{
if
(
oox_run_pr
->
i
.
get
()
==
true
)
...
...
@@ -1293,7 +1289,17 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
if
(
oox_run_pr
->
latin
.
IsInit
())
{
if
(
!
oox_run_pr
->
latin
->
typeface
.
empty
())
text_properties
->
content_
.
fo_font_family_
=
oox_run_pr
->
latin
->
typeface
;
{
std
::
wstring
font
=
oox_run_pr
->
latin
->
typeface
;
if
(
font
==
L"+mj-lt"
)
font
=
theme
->
themeElements
.
fontScheme
.
majorFont
.
latin
.
typeface
;
else
if
(
font
==
L"+mn-lt"
)
font
=
theme
->
themeElements
.
fontScheme
.
minorFont
.
latin
.
typeface
;
if
(
!
font
.
empty
())
text_properties
->
content_
.
fo_font_family_
=
font
;
}
else
{
text_properties
->
content_
.
fo_font_family_
=
L"Calibri"
;
//default_font; ????
...
...
@@ -1302,7 +1308,17 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
if
(
oox_run_pr
->
ea
.
IsInit
())
{
if
(
!
oox_run_pr
->
ea
->
typeface
.
empty
())
text_properties
->
content_
.
style_font_family_asian_
=
oox_run_pr
->
ea
->
typeface
;
{
std
::
wstring
font
=
oox_run_pr
->
ea
->
typeface
;
if
(
font
==
L"+mj-ea"
)
font
=
theme
->
themeElements
.
fontScheme
.
majorFont
.
ea
.
typeface
;
else
if
(
font
==
L"+mn-ea"
)
font
=
theme
->
themeElements
.
fontScheme
.
minorFont
.
ea
.
typeface
;
if
(
!
font
.
empty
())
text_properties
->
content_
.
style_font_family_asian_
=
font
;
}
else
{
}
...
...
@@ -1310,7 +1326,17 @@ void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::s
if
(
oox_run_pr
->
cs
.
IsInit
())
{
if
(
!
oox_run_pr
->
cs
->
typeface
.
empty
())
text_properties
->
content_
.
style_font_family_complex_
=
oox_run_pr
->
cs
->
typeface
;
{
std
::
wstring
font
=
oox_run_pr
->
cs
->
typeface
;
if
(
font
==
L"+mj-cs"
)
font
=
theme
->
themeElements
.
fontScheme
.
majorFont
.
cs
.
typeface
;
else
if
(
font
==
L"+mn-cs"
)
font
=
theme
->
themeElements
.
fontScheme
.
minorFont
.
cs
.
typeface
;
if
(
!
font
.
empty
())
text_properties
->
content_
.
style_font_family_complex_
=
font
;
}
else
{
}
...
...
@@ -1439,20 +1465,22 @@ void OoxConverter::convert(PPTX::Logic::TxBody *oox_txBody, PPTX::Logic::ShapeSt
odf_context
()
->
start_text_context
();
for
(
size_t
i
=
0
;
i
<
oox_txBody
->
Paragrs
.
size
();
i
++
)
{
convert
(
&
oox_txBody
->
Paragrs
[
i
],
oox_txBody
->
lstStyle
.
GetPointer
());
}
odf_context
()
->
drawing_context
()
->
set_text
(
odf_context
()
->
text_context
());
//наложим внешние настройки для текста
//внешние настройки для текста
convert
(
oox_txBody
->
bodyPr
.
GetPointer
());
if
(
oox_style
)
{
convert
(
&
oox_style
->
fontRef
);
}
odf_context
()
->
end_text_context
();
}
void
OoxConverter
::
convert
(
PPTX
::
Logic
::
ArcTo
*
oox_geom_path
)
...
...
@@ -1585,7 +1613,15 @@ void OoxConverter::convert(PPTX::Logic::FontRef *style_font_ref)
style_font
=
&
theme
->
themeElements
.
fontScheme
.
minorFont
;
}
if
(
style_font
)
odf_context
()
->
drawing_context
()
->
set_textarea_font
(
style_font
->
latin
.
typeface
,
style_font
->
ea
.
typeface
,
style_font
->
cs
.
typeface
);
{
std
::
wstring
latin
=
style_font
->
latin
.
typeface
;
std
::
wstring
ea
=
style_font
->
ea
.
typeface
;
std
::
wstring
cs
=
style_font
->
cs
.
typeface
;
//theme->themeElements.fontScheme
odf_context
()
->
drawing_context
()
->
set_textarea_font
(
latin
,
ea
,
cs
);
}
}
}
...
...
ASCOfficeOdfFileW/source/Oox2OdfConverter/DocxConverter.cpp
View file @
4eb0a73f
...
...
@@ -2248,32 +2248,25 @@ void DocxConverter::convert(SimpleTypes::CTheme<>* oox_font_theme, _CP_OPT(std::
case
SimpleTypes
:
:
themeMajorAscii
:
case
SimpleTypes
:
:
themeMajorHAnsi
:
font
=
docx_theme
->
themeElements
.
fontScheme
.
majorFont
.
latin
.
typeface
;
if
(
font
.
length
()
>
0
)
odf_font_name
=
font
;
break
;
case
SimpleTypes
:
:
themeMajorBidi
:
font
=
docx_theme
->
themeElements
.
fontScheme
.
majorFont
.
cs
.
typeface
;
if
(
font
.
length
()
>
0
)
odf_font_name
=
font
;
break
;
case
SimpleTypes
:
:
themeMajorEastAsia
:
font
=
docx_theme
->
themeElements
.
fontScheme
.
majorFont
.
ea
.
typeface
;
if
(
font
.
length
()
>
0
)
odf_font_name
=
font
;
break
;
case
SimpleTypes
:
:
themeMinorAscii
:
case
SimpleTypes
:
:
themeMinorHAnsi
:
font
=
docx_theme
->
themeElements
.
fontScheme
.
minorFont
.
latin
.
typeface
;
if
(
font
.
length
()
>
0
)
odf_font_name
=
font
;
break
;
case
SimpleTypes
:
:
themeMinorBidi
:
font
=
docx_theme
->
themeElements
.
fontScheme
.
minorFont
.
cs
.
typeface
;
if
(
font
.
length
()
>
0
)
odf_font_name
=
font
;
break
;
case
SimpleTypes
:
:
themeMinorEastAsia
:
font
=
docx_theme
->
themeElements
.
fontScheme
.
minorFont
.
ea
.
typeface
;
if
(
font
.
length
()
>
0
)
odf_font_name
=
font
;
break
;
}
if
(
!
font
.
empty
())
odf_font_name
=
font
;
}
void
DocxConverter
::
convert
(
OOX
::
Logic
::
CText
*
oox_text
)
...
...
ASCOfficeOdfFileW/source/Oox2OdfConverter/PptxConverter.cpp
View file @
4eb0a73f
...
...
@@ -897,23 +897,16 @@ void PptxConverter::convert_slide(PPTX::Logic::CSld *oox_slide, bool bPlaceholde
smart_ptr
<
PPTX
::
WrapperWritingElement
>
pElem
=
oox_slide
->
spTree
.
SpTreeElems
[
i
].
GetElem
();
smart_ptr
<
PPTX
::
Logic
::
Shape
>
pShape
=
pElem
.
smart_dynamic_cast
<
PPTX
::
Logic
::
Shape
>
();
if
(
pShape
.
IsInit
()
&&
pShape
->
nvSpPr
.
nvPr
.
ph
.
is_init
()
)
if
(
pShape
.
IsInit
())
{
if
(
bPlaceholders
)
{
pShape
->
FillLevelUp
();
PPTX
::
Logic
::
Shape
update_shape
;
if
(
pShape
->
levelUp
)
pShape
->
levelUp
->
Merge
(
update_shape
,
true
);
pShape
->
Merge
(
update_shape
);
pShape
->
FillLevelUp
();
if
(
!
bPlaceholders
&&
pShape
->
nvSpPr
.
nvPr
.
ph
.
is_init
())
continue
;
OoxConverter
::
convert
(
&
update_shape
);
}
//else
//{
// OoxConverter::convert(pShape.operator->());
//}
PPTX
::
Logic
::
Shape
update_shape
;
pShape
->
Merge
(
update_shape
);
OoxConverter
::
convert
(
&
update_shape
);
}
else
{
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.h
View file @
4eb0a73f
...
...
@@ -36,7 +36,6 @@
#include "./../WrapperWritingElement.h"
#include "NvGraphicFramePr.h"
#include "Xfrm.h"
#include "ShapeProperties.h"
#include "Table/Table.h"
#include "SmartArt.h"
#include "Pic.h"
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp
View file @
4eb0a73f
...
...
@@ -43,8 +43,9 @@ namespace PPTX
{
Shape
::
Shape
(
std
::
wstring
name_
)
{
m_name
=
name_
;
levelUp
=
NULL
;
m_name
=
name_
;
m_pLevelUp
=
NULL
;
m_nMasterTextType
=
-
1
;
}
Shape
::~
Shape
()
...
...
@@ -53,21 +54,31 @@ namespace PPTX
Shape
::
Shape
(
XmlUtils
::
CXmlNode
&
node
)
{
levelUp
=
NULL
;
m_pLevelUp
=
NULL
;
m_nMasterTextType
=
-
1
;
fromXML
(
node
);
}
Shape
::
Shape
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
levelUp
=
NULL
;
m_pLevelUp
=
NULL
;
m_nMasterTextType
=
-
1
;
fromXML
(
oReader
);
}
const
Shape
&
Shape
::
operator
=
(
XmlUtils
::
CXmlNode
&
node
)
{
m_pLevelUp
=
NULL
;
m_nMasterTextType
=
-
1
;
fromXML
(
node
);
return
*
this
;
}
const
Shape
&
Shape
::
operator
=
(
XmlUtils
::
CXmlLiteReader
&
oReader
)
{
m_pLevelUp
=
NULL
;
m_nMasterTextType
=
-
1
;
fromXML
(
oReader
);
return
*
this
;
}
...
...
@@ -367,11 +378,11 @@ namespace PPTX
{
nvSpPr
.
SetParentPointer
(
this
);
spPr
.
SetParentPointer
(
this
);
if
(
style
.
IsInit
())
if
(
style
.
IsInit
())
style
->
SetParentPointer
(
this
);
if
(
txBody
.
IsInit
())
txBody
->
SetParentPointer
(
this
);
levelUp
=
NULL
;
if
(
txBody
.
IsInit
())
txBody
->
SetParentPointer
(
this
);
}
void
Shape
::
toPPTY
(
NSBinPptxRW
::
CBinaryFileWriter
*
pWriter
)
const
...
...
@@ -432,257 +443,106 @@ namespace PPTX
}
void
Shape
::
GetRect
(
Aggplus
::
RECT
&
pRect
)
const
{
pRect
.
bottom
=
0
;
pRect
.
left
=
0
;
pRect
.
right
=
0
;
pRect
.
top
=
0
;
if
(
spPr
.
xfrm
.
is_init
())
{
pRect
.
left
=
spPr
.
xfrm
->
offX
.
get_value_or
(
0
);
pRect
.
top
=
spPr
.
xfrm
->
offY
.
get_value_or
(
0
);
pRect
.
right
=
pRect
.
left
+
spPr
.
xfrm
->
extX
.
get_value_or
(
0
);
pRect
.
bottom
=
pRect
.
top
+
spPr
.
xfrm
->
extY
.
get_value_or
(
0
);
}
if
(
parentIs
<
Logic
::
SpTree
>
())
parentAs
<
Logic
::
SpTree
>
().
NormalizeRect
(
pRect
);
}
void
Shape
::
FillLevelUp
()
const
void
Shape
::
FillLevelUp
()
{
if
((
l
evelUp
==
NULL
)
&&
(
nvSpPr
.
nvPr
.
ph
.
IsInit
()))
if
((
m_pL
evelUp
==
NULL
)
&&
(
nvSpPr
.
nvPr
.
ph
.
IsInit
()))
{
if
((
nvSpPr
.
nvPr
.
ph
->
type
.
IsInit
())
||
(
nvSpPr
.
nvPr
.
ph
->
idx
.
IsInit
()))
if
((
nvSpPr
.
nvPr
.
ph
->
type
.
IsInit
())
||
(
nvSpPr
.
nvPr
.
ph
->
idx
.
IsInit
()))
{
if
(
parentFileIs
<
Slide
>
())
parentFileAs
<
Slide
>
().
Layout
->
GetLevelUp
(
*
this
);
if
(
parentFileIs
<
Slide
>
())
parentFileAs
<
Slide
>
().
Layout
->
GetLevelUp
(
this
);
else
if
(
parentFileIs
<
SlideLayout
>
())
parentFileAs
<
SlideLayout
>
().
Master
->
GetLevelUp
(
*
this
);
parentFileAs
<
SlideLayout
>
().
Master
->
GetLevelUp
(
this
);
}
}
}
void
Shape
::
FillShapeProperties
(
ShapeProperties
&
props
)
void
Shape
::
Merge
(
Shape
&
shape
,
bool
bIsSlidePlaceholder
)
{
//props.SetParentFilePointer(*parentFile);
if
(
parentFileIs
<
SlideMaster
>
())
{
std
::
wstring
type
=
nvSpPr
.
nvPr
.
ph
.
IsInit
()
?
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
:
_T
(
""
);
//if( (nvSpPr->cNvSpPr->txBox.get_value_or(false)) && (type == "") )
// type = "text-box";
parentFileAs
<
SlideMaster
>
().
FillShapeProperties
(
props
,
type
);
props
.
FillFromTextBody
(
txBody
);
if
(
style
.
IsInit
())
props
.
FillFontRef
(
style
->
fontRef
);
//props.SetParentFilePointer(parentFile);
}
else
if
(
parentFileIs
<
SlideLayout
>
())
{
//FillLevelUp();
//if(levelUp != NULL)
// levelUp->GetShapeProperties(props);
//else
//{
std
::
wstring
type
=
nvSpPr
.
nvPr
.
ph
.
IsInit
()
?
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
:
_T
(
""
);
//if( (nvSpPr->cNvSpPr->txBox.get_value_or(false)) && (type == "") )
// type = "text-box";
parentFileAs
<
SlideLayout
>
().
FillShapeProperties
(
props
,
type
);
//}
props
.
FillFromTextBody
(
txBody
);
if
(
style
.
IsInit
())
props
.
FillFontRef
(
style
->
fontRef
);
//props.SetParentFilePointer(parentFile);
}
else
if
(
parentFileIs
<
Slide
>
())
{
//FillLevelUp();
//if(levelUp != NULL)
// levelUp->GetShapeProperties(props);
//else
//{
std
::
wstring
type
=
nvSpPr
.
nvPr
.
ph
.
is_init
()
?
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
:
_T
(
""
);
//if( (nvSpPr->cNvSpPr->txBox.get_value_or(false)) && (type == "") )
// type = "text-box";
parentFileAs
<
Slide
>
().
FillShapeProperties
(
props
,
type
);
//}
props
.
FillFromTextBody
(
txBody
);
if
(
style
.
IsInit
())
props
.
FillFontRef
(
style
->
fontRef
);
//props.SetParentFilePointer(parentFile);
}
props
.
SetParentFilePointer
(
parentFile
);
}
if
(
m_pLevelUp
)
m_pLevelUp
->
Merge
(
shape
,
true
);
void
Shape
::
FillShapeTextProperties
(
CShapeTextProperties
&
props
)
{
std
::
wstring
type
=
nvSpPr
.
nvPr
.
ph
.
IsInit
()
?
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
:
_T
(
""
);
if
(
parentFileIs
<
SlideMaster
>
())
{
parentFileAs
<
SlideMaster
>
().
FillShapeTextProperties
(
props
,
type
);
props
.
FillFromTextBody
(
txBody
,
NULL
);
if
(
style
.
IsInit
())
props
.
FillFontRef
(
style
->
fontRef
,
isFontRefInSlide
);
}
else
if
(
parentFileIs
<
SlideLayout
>
())
{
parentFileAs
<
SlideLayout
>
().
FillShapeTextProperties
(
props
,
type
);
props
.
FillFromTextBody
(
txBody
,
NULL
);
if
(
style
.
IsInit
())
props
.
FillFontRef
(
style
->
fontRef
,
isFontRefInSlide
);
}
else
if
(
parentFileIs
<
Slide
>
())
{
parentFileAs
<
Slide
>
().
FillShapeTextProperties
(
props
,
type
);
props
.
FillFromTextBody
(
txBody
,
body
);
if
(
style
.
IsInit
())
props
.
FillFontRef
(
style
->
fontRef
,
isFontRefInSlide
);
}
props
.
SetParentFilePointer
(
parentFile
);
}
DWORD
Shape
::
GetFill
(
UniFill
&
fill
)
const
{
DWORD
BGRA
=
0
;
//fill.SetParentFilePointer(*parentFile);
shape
.
m_name
=
m_name
;
shape
.
m_nMasterTextType
=
m_nMasterTextType
;
shape
.
nvSpPr
=
nvSpPr
;
spPr
.
Merge
(
shape
.
spPr
);
if
(
style
.
IsInit
())
if
(
parentFileIs
<
SlideMaster
>
()
&&
(
parentFileAs
<
SlideMaster
>
()).
txStyles
.
IsInit
())
{
if
(
parentFileIs
<
PPTX
::
Slide
>
())
parentFileAs
<
PPTX
::
Slide
>
().
theme
->
GetFillStyle
(
style
->
fillRef
.
idx
.
get_value_or
(
0
),
fill
);
else
if
(
parentFileIs
<
PPTX
::
SlideLayout
>
())
parentFileAs
<
PPTX
::
SlideLayout
>
().
theme
->
GetFillStyle
(
style
->
fillRef
.
idx
.
get_value_or
(
0
),
fill
);
else
if
(
parentFileIs
<
PPTX
::
SlideMaster
>
())
parentFileAs
<
PPTX
::
SlideMaster
>
().
theme
->
GetFillStyle
(
style
->
fillRef
.
idx
.
get_value_or
(
0
),
fill
);
if
(
style
->
fillRef
.
Color
.
is_init
())
TextListStyle
*
listMasterStyle
=
NULL
;
std
::
wstring
type
=
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
));
if
((
type
==
L"title"
)
||
(
type
==
L"ctrTitle"
))
{
if
(
fill
.
is
<
PPTX
::
Logic
::
SolidFill
>
())
{
fill
.
as
<
PPTX
::
Logic
::
SolidFill
>
().
Color
=
style
->
fillRef
.
Color
;
}
m_nMasterTextType
=
1
;
listMasterStyle
=
(
parentFileAs
<
SlideMaster
>
()).
txStyles
->
titleStyle
.
GetPointer
();
}
else
if
((
type
==
L"body"
)
||
(
type
==
L"subTitle"
)
||
(
type
==
L"obj"
))
{
m_nMasterTextType
=
2
;
listMasterStyle
=
(
parentFileAs
<
SlideMaster
>
()).
txStyles
->
bodyStyle
.
GetPointer
();
}
else
if
(
type
!=
L""
)
{
m_nMasterTextType
=
3
;
listMasterStyle
=
(
parentFileAs
<
SlideMaster
>
()).
txStyles
->
otherStyle
.
GetPointer
();
}
BGRA
=
style
->
fillRef
.
Color
.
GetBGRA
();
}
if
(
spPr
.
Fill
.
is_init
())
spPr
.
Fill
.
Merge
(
fill
);
//if((!fill.is_init()) && (bMergeWithLevelUp))
//{
// FillLevelUp();
// if(levelUp != NULL)
// BGRA = levelUp->GetFill(fill);
//}
return
BGRA
;
}
DWORD
Shape
::
GetLine
(
Ln
&
line
)
const
{
DWORD
BGRA
=
0
;
if
(
listMasterStyle
)
{
if
(
!
txBody
.
is_init
())
txBody
=
new
TxBody
();
TextListStyle
*
newListStyle
=
new
TextListStyle
();
if
(
style
.
IsInit
())
{
if
(
parentFileIs
<
PPTX
::
Slide
>
())
parentFileAs
<
PPTX
::
Slide
>
().
theme
->
GetLineStyle
(
style
->
lnRef
.
idx
.
get_value_or
(
0
),
line
);
else
if
(
parentFileIs
<
PPTX
::
SlideLayout
>
())
parentFileAs
<
PPTX
::
SlideLayout
>
().
theme
->
GetLineStyle
(
style
->
lnRef
.
idx
.
get_value_or
(
0
),
line
);
else
if
(
parentFileIs
<
PPTX
::
SlideMaster
>
())
parentFileAs
<
PPTX
::
SlideMaster
>
().
theme
->
GetLineStyle
(
style
->
lnRef
.
idx
.
get_value_or
(
0
),
line
);
BGRA
=
style
->
lnRef
.
Color
.
GetBGRA
();
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
listMasterStyle
->
levels
[
i
].
is_init
())
listMasterStyle
->
levels
[
i
]
->
Merge
(
newListStyle
->
levels
[
i
]);
if
(
txBody
->
lstStyle
->
levels
[
i
].
is_init
())
txBody
->
lstStyle
->
levels
[
i
]
->
Merge
(
newListStyle
->
levels
[
i
]);
}
txBody
->
lstStyle
.
reset
(
newListStyle
);
}
}
if
(
spPr
.
ln
.
IsInit
())
spPr
.
ln
->
Merge
(
line
);
return
BGRA
;
}
void
Shape
::
Merge
(
Shape
&
shape
,
bool
bIsSlidePlaceholder
)
const
{
shape
.
nvSpPr
=
nvSpPr
;
spPr
.
Merge
(
shape
.
spPr
);
if
(
style
.
is_init
())
shape
.
m_nMasterTextType
=
m_nMasterTextType
;
if
(
style
.
is_init
())
{
shape
.
i
sFontRefInSlide
=
bIsSlidePlaceholder
;
shape
.
m_bI
sFontRefInSlide
=
bIsSlidePlaceholder
;
shape
.
style
=
style
;
shape
.
style
->
SetParentFilePointer
(
parentFile
);
}
if
(
!
bIsSlidePlaceholder
)
if
(
txBody
.
IsInit
())
{
if
(
txBody
.
IsI
nit
())
{
if
(
!
shape
.
txBody
.
is_init
())
shape
.
txBody
=
new
TxBody
();
if
(
!
shape
.
txBody
.
is_i
nit
())
shape
.
txBody
=
new
TxBody
();
if
(
!
bIsSlidePlaceholder
)
{
txBody
->
Merge
(
shape
.
txBody
);
shape
.
txBody
->
Paragrs
=
txBody
->
Paragrs
;
}
}
else
{
if
(
txBody
.
is_init
())
{
if
(
!
shape
.
txBody
.
is_init
())
shape
.
txBody
=
new
TxBody
();
else
{
if
(
txBody
->
bodyPr
.
IsInit
())
txBody
->
bodyPr
->
Merge
(
shape
.
txBody
->
bodyPr
);
if
(
txBody
->
lstStyle
.
is_init
())
txBody
->
bodyPr
->
Merge
(
shape
.
txBody
->
bodyPr
);
}
if
(
txBody
->
lstStyle
.
is_init
())
{
if
(
!
shape
.
txBody
->
lstStyle
.
is_init
())
shape
.
txBody
->
lstStyle
=
new
TextListStyle
();
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
if
(
txBody
->
lstStyle
->
levels
[
i
].
is_init
())
txBody
->
lstStyle
->
levels
[
i
]
->
Merge
(
body
[
i
]);
if
(
txBody
->
lstStyle
->
levels
[
i
].
is_init
())
txBody
->
lstStyle
->
levels
[
i
]
->
Merge
(
shape
.
txBody
->
lstStyle
->
levels
[
i
]);
}
}
}
}
void
Shape
::
GetShapeFullDescription
(
Shape
&
shape
,
int
level
)
const
{
if
(
level
==
0
)
//shape.SetParentFilePointer(*parentFile);
shape
.
SetParentPointer
(
parentElement
);
if
(
!
nvSpPr
.
nvPr
.
ph
.
is_init
())
{
Merge
(
shape
);
return
;
}
if
(
parentFileIs
<
PPTX
::
SlideMaster
>
())
{
Merge
(
shape
);
return
;
}
if
(
parentFileIs
<
PPTX
::
SlideLayout
>
())
{
FillLevelUp
();
if
(
levelUp
!=
NULL
)
levelUp
->
GetShapeFullDescription
(
shape
,
level
+
1
);
Merge
(
shape
);
return
;
}
if
(
parentFileIs
<
PPTX
::
Slide
>
())
{
FillLevelUp
();
if
(
levelUp
!=
NULL
)
levelUp
->
GetShapeFullDescription
(
shape
,
level
+
1
);
Merge
(
shape
,
true
);
return
;
}
}
void
Shape
::
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
NSCommon
::
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
NSCommon
::
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
bool
in_group
)
{
std
::
wstring
strPath
,
strTextRect
;
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h
View file @
4eb0a73f
...
...
@@ -38,8 +38,6 @@
#include "SpPr.h"
#include "ShapeStyle.h"
#include "TxBody.h"
#include "ShapeProperties.h"
#include "ShapeTextProperties.h"
#include "UniFill.h"
#include "Ln.h"
...
...
@@ -303,19 +301,10 @@ namespace PPTX
}
std
::
wstring
GetText
()
const
{
if
(
txBody
.
IsInit
())
return
txBody
->
GetText
();
return
_T
(
""
);
};
void
GetShapeFullDescription
(
Shape
&
shape
,
int
level
=
0
)
const
;
void
GetRect
(
Aggplus
::
RECT
&
pRect
)
const
;
DWORD
GetFill
(
UniFill
&
fill
)
const
;
DWORD
GetLine
(
Ln
&
line
)
const
;
void
FillLevelUp
();
void
Merge
(
Shape
&
shape
,
bool
bIsSlidePlaceholder
=
false
);
void
FillShapeProperties
(
ShapeProperties
&
props
);
void
FillShapeTextProperties
(
CShapeTextProperties
&
props
);
void
FillLevelUp
()
const
;
mutable
Shape
const
*
levelUp
;
void
Merge
(
Shape
&
shape
,
bool
bIsSlidePlaceholder
=
false
)
const
;
public:
void
SetLevelUpElement
(
const
Shape
&
p
)
const
{
levelUp
=
&
p
;};
void
SetLevelUpElement
(
Shape
*
p
){
m_pLevelUp
=
p
;};
virtual
void
toPPTY
(
NSBinPptxRW
::
CBinaryFileWriter
*
pWriter
)
const
;
void
toXmlWriterVML
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
,
smart_ptr
<
PPTX
::
Theme
>&
oTheme
,
smart_ptr
<
PPTX
::
Logic
::
ClrMap
>&
oClrMap
,
bool
in_group
=
false
);
...
...
@@ -326,8 +315,10 @@ namespace PPTX
//-------------------------------------------------------------------------------------------------
std
::
wstring
m_name
;
bool
m_bOleShape
;
Shape
*
m_pLevelUp
;
int
m_nMasterTextType
;
bool
m_bIsFontRefInSlide
;
//-------------------------------------------------------------------------------------------------
NvSpPr
nvSpPr
;
SpPr
spPr
;
nullable
<
ShapeStyle
>
style
;
...
...
@@ -338,10 +329,6 @@ namespace PPTX
nullable
<
OOX
::
Logic
::
CSdtContent
>
oTextBoxShape
;
nullable
<
BodyPr
>
oTextBoxBodyPr
;
bool
isFontRefInSlide
;
mutable
nullable
<
TextParagraphPr
>
body
[
10
];
// Attributes
nullable_bool
attrUseBgFill
;
protected:
virtual
void
FillParentPointersForChilds
();
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeProperties.cpp
deleted
100644 → 0
View file @
7929d798
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "ShapeProperties.h"
#include "Fills/SolidFill.h"
#include "Fills/GradFill.h"
#include "../Slide.h"
#include "../SlideLayout.h"
#include "../SlideMaster.h"
namespace
PPTX
{
namespace
Logic
{
ShapeProperties
::
ShapeProperties
()
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
TextParagraphPr
ppr
;
RunProperties
rpr
;
ppr
.
defRPr
=
rpr
;
levels
[
i
]
=
ppr
;
masters
[
i
]
=
ppr
;
}
m_nTextType
=
0
;
}
ShapeProperties
::~
ShapeProperties
()
{
}
void
ShapeProperties
::
FillFromTextBody
(
const
nullable
<
TxBody
>&
Src
)
{
if
(
Src
.
IsInit
())
{
if
(
Src
->
bodyPr
.
IsInit
())
Src
->
bodyPr
->
Merge
(
bodyPr
);
if
(
Src
->
lstStyle
.
IsInit
())
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
Src
->
lstStyle
->
levels
[
i
].
IsInit
())
Src
->
lstStyle
->
levels
[
i
]
->
Merge
(
levels
[
i
]);
}
}
}
}
void
ShapeProperties
::
FillFromTextListStyle
(
const
nullable
<
TextListStyle
>&
Src
)
{
if
(
Src
.
IsInit
())
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
Src
->
levels
[
i
].
IsInit
())
Src
->
levels
[
i
]
->
Merge
(
masters
[
i
]);
}
}
}
void
ShapeProperties
::
FillFromTextListStyle
(
const
TextListStyle
&
Src
)
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
Src
.
levels
[
i
].
IsInit
())
Src
.
levels
[
i
]
->
Merge
(
masters
[
i
]);
}
}
void
ShapeProperties
::
FillFontRef
(
const
FontRef
&
Src
)
{
fontStyle
=
Src
;
}
void
ShapeProperties
::
FillMasterFontSize
(
int
size
)
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
masters
[
i
]
->
defRPr
.
IsInit
())
masters
[
i
]
->
defRPr
->
sz
=
size
;
else
{
PPTX
::
Logic
::
RunProperties
rpr
;
rpr
.
sz
=
size
;
masters
[
i
]
->
defRPr
=
rpr
;
}
}
}
std
::
wstring
ShapeProperties
::
GetParagraphAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
algn
.
IsInit
())
return
pParagraph
->
algn
->
get
();
//return levels[level]->algn.get_value_or(masters[level]->algn.get_value_or(0));
if
(
levels
[
level
]
->
algn
.
is_init
())
return
levels
[
level
]
->
algn
.
get_value
();
if
(
masters
[
level
]
->
algn
.
is_init
())
return
masters
[
level
]
->
algn
.
get_value
();
return
_T
(
"l"
);
}
int
ShapeProperties
::
GetParagraphLeftMargin
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
marL
.
IsInit
())
return
pParagraph
->
marL
.
get
();
//return levels[level]->marL.get_value_or(levels[9].marL.get_value_or(347663));
//return levels[level]->marL.get_value_or(masters[level]->marL.get_value_or(0));
if
(
levels
[
level
]
->
marL
.
is_init
())
return
levels
[
level
]
->
marL
.
get
();
if
(
masters
[
level
]
->
marL
.
is_init
())
return
masters
[
level
]
->
marL
.
get
();
return
0
;
}
int
ShapeProperties
::
GetParagraphIndent
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
indent
.
IsInit
())
return
pParagraph
->
indent
.
get
();
//return levels[level]->indent.get_value_or(levels[9].indent.get_value_or(-342900));
//return levels[level]->indent.get_value_or(masters[level]->indent.get_value_or(0));
if
(
levels
[
level
]
->
indent
.
is_init
())
return
levels
[
level
]
->
indent
.
get
();
if
(
masters
[
level
]
->
indent
.
is_init
())
return
masters
[
level
]
->
indent
.
get
();
return
0
;
}
int
ShapeProperties
::
GetParagraphDefTabSz
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
defTabSz
.
IsInit
())
return
pParagraph
->
defTabSz
.
get
();
//return levels[level]->defTabSz.get_value_or(levels[9].defTabSz.get_value_or(376300));
//return levels[level]->defTabSz.get_value_or(masters[level]->defTabSz.get_value_or(376300));
if
(
levels
[
level
]
->
defTabSz
.
is_init
())
return
levels
[
level
]
->
defTabSz
.
get
();
if
(
masters
[
level
]
->
defTabSz
.
is_init
())
return
masters
[
level
]
->
defTabSz
.
get
();
return
376300
;
}
std
::
wstring
ShapeProperties
::
GetParagraphFontAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
fontAlgn
.
IsInit
())
return
pParagraph
->
fontAlgn
->
get
();
//return levels[level]->fontAlgn.get_value_or(levels[9].fontAlgn.get_value_or("base"));
//return levels[level]->fontAlgn.get_value_or(masters[level]->fontAlgn.get_value_or(_T("base")));
if
(
levels
[
level
]
->
fontAlgn
.
is_init
())
return
levels
[
level
]
->
fontAlgn
.
get_value
();
if
(
masters
[
level
]
->
fontAlgn
.
is_init
())
return
masters
[
level
]
->
fontAlgn
.
get_value
();
return
_T
(
"base"
);
}
bool
ShapeProperties
::
GetParagraphLatinLnBrk
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
latinLnBrk
.
IsInit
())
return
pParagraph
->
latinLnBrk
.
get
();
//return levels[level]->latinLnBrk.get_value_or(levels[9].latinLnBrk.get_value_or(true));
//return levels[level]->latinLnBrk.get_value_or(masters[level]->latinLnBrk.get_value_or(false));
if
(
levels
[
level
]
->
latinLnBrk
.
is_init
())
return
levels
[
level
]
->
latinLnBrk
.
get
();
if
(
masters
[
level
]
->
latinLnBrk
.
is_init
())
return
masters
[
level
]
->
latinLnBrk
.
get
();
return
false
;
}
bool
ShapeProperties
::
GetParagraphRtl
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
rtl
.
IsInit
())
return
pParagraph
->
rtl
.
get
();
//return levels[level]->rtl.get_value_or(levels[9].rtl.get_value_or(false));
//return levels[level]->rtl.get_value_or(masters[level]->rtl.get_value_or(false));
if
(
levels
[
level
]
->
rtl
.
is_init
())
return
levels
[
level
]
->
rtl
.
get
();
if
(
masters
[
level
]
->
rtl
.
is_init
())
return
masters
[
level
]
->
rtl
.
get
();
return
false
;
}
int
ShapeProperties
::
GetParagraphLnSpc
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
lnSpc
.
IsInit
())
return
pParagraph
->
lnSpc
->
GetVal
();
if
(
levels
[
level
]
->
lnSpc
.
IsInit
())
return
levels
[
level
]
->
lnSpc
->
GetVal
();
if
(
masters
[
level
]
->
lnSpc
.
IsInit
())
return
masters
[
level
]
->
lnSpc
->
GetVal
();
return
100
;
//0;
}
int
ShapeProperties
::
GetParagraphSpcAft
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
spcAft
.
IsInit
())
return
pParagraph
->
spcAft
->
GetVal
();
if
(
levels
[
level
]
->
spcAft
.
IsInit
())
return
levels
[
level
]
->
spcAft
->
GetVal
();
if
(
masters
[
level
]
->
spcAft
.
IsInit
())
return
masters
[
level
]
->
spcAft
->
GetVal
();
return
0
;
}
int
ShapeProperties
::
GetParagraphSpcBef
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
spcBef
.
IsInit
())
return
pParagraph
->
spcBef
->
GetVal
();
if
(
levels
[
level
]
->
spcBef
.
IsInit
())
return
levels
[
level
]
->
spcBef
->
GetVal
();
if
(
masters
[
level
]
->
spcBef
.
IsInit
())
return
masters
[
level
]
->
spcBef
->
GetVal
();
return
0
;
}
bool
ShapeProperties
::
HasParagraphBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
ParagraphBullet
.
is_init
())
return
pParagraph
->
ParagraphBullet
.
has_bullet
();
if
(
levels
[
level
]
->
ParagraphBullet
.
is_init
())
return
levels
[
level
]
->
ParagraphBullet
.
has_bullet
();
return
masters
[
level
]
->
ParagraphBullet
.
has_bullet
();
}
bool
ShapeProperties
::
GetRunBold
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
IsInit
())
if
(
pRun
->
b
.
IsInit
())
return
pRun
->
b
.
get
();
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
defRPr
.
IsInit
())
if
(
pParagraph
->
defRPr
->
b
.
IsInit
())
return
pParagraph
->
defRPr
->
b
.
get
();
//return levels[level].defRPr->b.get_value_or(levels[9].defRPr->b.get_value_or(false));
//return levels[level]->defRPr->b.get_value_or(masters[level]->defRPr->b.get_value_or(false));
if
(
levels
[
level
]
->
defRPr
->
b
.
is_init
())
return
levels
[
level
]
->
defRPr
->
b
.
get
();
if
(
masters
[
level
]
->
defRPr
->
b
.
is_init
())
return
masters
[
level
]
->
defRPr
->
b
.
get
();
return
false
;
}
bool
ShapeProperties
::
GetRunItalic
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
IsInit
())
if
(
pRun
->
i
.
IsInit
())
return
pRun
->
i
.
get
();
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
defRPr
.
IsInit
())
if
(
pParagraph
->
defRPr
->
i
.
IsInit
())
return
pParagraph
->
defRPr
->
i
.
get
();
//return levels[level]->defRPr->i.get_value_or(levels[9].defRPr->i.get_value_or(false));
//return levels[level]->defRPr->i.get_value_or(masters[level]->defRPr->i.get_value_or(false));
if
(
levels
[
level
]
->
defRPr
->
i
.
is_init
())
return
levels
[
level
]
->
defRPr
->
i
.
get
();
if
(
masters
[
level
]
->
defRPr
->
i
.
is_init
())
return
masters
[
level
]
->
defRPr
->
i
.
get
();
return
false
;
}
std
::
wstring
ShapeProperties
::
GetRunUnderline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
IsInit
())
if
(
pRun
->
u
.
IsInit
())
return
pRun
->
u
->
get
();
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
defRPr
.
IsInit
())
if
(
pParagraph
->
defRPr
->
u
.
IsInit
())
return
pParagraph
->
defRPr
->
u
->
get
();
//return levels[level]->defRPr->u.get_value_or(masters[level]->defRPr->u.get_value_or(_T("none")));
if
(
levels
[
level
]
->
defRPr
->
u
.
is_init
())
return
levels
[
level
]
->
defRPr
->
u
.
get_value
();
if
(
masters
[
level
]
->
defRPr
->
u
.
is_init
())
return
masters
[
level
]
->
defRPr
->
u
.
get_value
();
return
_T
(
"none"
);
}
std
::
wstring
ShapeProperties
::
GetRunStrike
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
IsInit
())
if
(
pRun
->
strike
.
IsInit
())
return
pRun
->
strike
->
get
();
if
(
pParagraph
.
IsInit
())
if
(
pParagraph
->
defRPr
.
IsInit
())
if
(
pParagraph
->
defRPr
->
strike
.
IsInit
())
return
pParagraph
->
defRPr
->
strike
->
get
();
//return levels[level]->defRPr->strike.get_value_or(masters[level]->defRPr->strike.get_value_or(_T("noStrike")));
if
(
levels
[
level
]
->
defRPr
->
strike
.
is_init
())
return
levels
[
level
]
->
defRPr
->
strike
.
get_value
();
if
(
masters
[
level
]
->
defRPr
->
strike
.
is_init
())
return
masters
[
level
]
->
defRPr
->
strike
.
get_value
();
return
_T
(
"noStrike"
);
}
std
::
wstring
ShapeProperties
::
GetRunCap
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
if
(
pRun
->
cap
.
is_init
())
return
pRun
->
cap
->
get
();
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
cap
.
is_init
())
return
pParagraph
->
defRPr
->
cap
->
get
();
//return levels[level]->defRPr->cap.get_value_or(masters[level]->defRPr->cap.get_value_or(_T("none")));
if
(
levels
[
level
]
->
defRPr
->
cap
.
is_init
())
return
levels
[
level
]
->
defRPr
->
cap
.
get_value
();
if
(
masters
[
level
]
->
defRPr
->
cap
.
is_init
())
return
masters
[
level
]
->
defRPr
->
cap
.
get_value
();
return
_T
(
"none"
);
}
int
ShapeProperties
::
GetRunBaseline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
if
(
pRun
->
baseline
.
is_init
())
return
pRun
->
baseline
.
get
();
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
baseline
.
is_init
())
return
pParagraph
->
defRPr
->
baseline
.
get
();
//return levels[level]->defRPr->baseline.get_value_or(masters[level]->defRPr->baseline.get_value_or(0));
if
(
levels
[
level
]
->
defRPr
->
baseline
.
is_init
())
return
levels
[
level
]
->
defRPr
->
baseline
.
get
();
if
(
masters
[
level
]
->
defRPr
->
baseline
.
is_init
())
return
masters
[
level
]
->
defRPr
->
baseline
.
get
();
return
0
;
}
int
ShapeProperties
::
GetRunSize
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
if
(
pRun
->
sz
.
is_init
())
return
pRun
->
sz
.
get
();
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
sz
.
is_init
())
return
pParagraph
->
defRPr
->
sz
.
get
();
//return levels[level]->defRPr->sz.get_value_or(levels[9].defRPr->sz.get_value_or(1000));
//return levels[level]->defRPr->sz.get_value_or(masters[level]->defRPr->sz.get_value_or(1800));
if
(
levels
[
level
]
->
defRPr
->
sz
.
is_init
())
return
levels
[
level
]
->
defRPr
->
sz
.
get
();
if
(
masters
[
level
]
->
defRPr
->
sz
.
is_init
())
return
masters
[
level
]
->
defRPr
->
sz
.
get
();
return
1800
;
}
int
ShapeProperties
::
GetRunSize
(
int
level
)
const
{
//return levels[level]->defRPr->sz.get_value_or(masters[level]->defRPr->sz.get_value_or(1800));
if
(
levels
[
level
]
->
defRPr
->
sz
.
is_init
())
return
levels
[
level
]
->
defRPr
->
sz
.
get
();
if
(
masters
[
level
]
->
defRPr
->
sz
.
is_init
())
return
masters
[
level
]
->
defRPr
->
sz
.
get
();
return
1800
;
}
std
::
wstring
ShapeProperties
::
GetRunFont
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
,
LONG
&
lFontIndex
)
const
{
std
::
wstring
strFontName
=
_T
(
""
);
if
((
pRun
.
is_init
())
&&
(
pRun
->
latin
.
is_init
()))
strFontName
=
pRun
->
latin
->
typeface
;
else
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
())
&&
(
pParagraph
->
defRPr
->
latin
.
is_init
()))
strFontName
=
pParagraph
->
defRPr
->
latin
->
typeface
;
else
{
if
(
levels
[
level
]
->
defRPr
->
latin
.
is_init
())
strFontName
=
levels
[
level
]
->
defRPr
->
latin
->
typeface
;
else
if
(
fontStyle
.
is_init
())
strFontName
=
(
fontStyle
->
idx
->
get
()
==
_T
(
"minor"
))
?
_T
(
"+mn-lt"
)
:
_T
(
"+mj-lt"
);
else
if
(
masters
[
level
]
->
defRPr
->
latin
.
is_init
())
strFontName
=
masters
[
level
]
->
defRPr
->
latin
->
typeface
;
}
if
(
strFontName
==
_T
(
"+mj-lt"
))
{
strFontName
=
MajorLatin
.
typeface
;
lFontIndex
=
0
;
}
else
if
(
strFontName
==
_T
(
"+mn-lt"
))
{
strFontName
=
MinorLatin
.
typeface
;
lFontIndex
=
1
;
}
else
if
(
strFontName
==
_T
(
""
))
{
strFontName
=
MinorLatin
.
typeface
;
lFontIndex
=
1
;
}
return
strFontName
;
}
std
::
wstring
ShapeProperties
::
GetRunPanose
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
std
::
wstring
panose
=
_T
(
""
);
std
::
wstring
style
=
_T
(
""
);
if
((
pRun
.
is_init
())
&&
(
pRun
->
latin
.
is_init
()))
panose
=
pRun
->
latin
->
panose
.
get_value_or
(
_T
(
""
));
else
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
())
&&
(
pParagraph
->
defRPr
->
latin
.
is_init
()))
panose
=
pParagraph
->
defRPr
->
latin
->
panose
.
get_value_or
(
_T
(
""
));
else
{
if
(
levels
[
level
]
->
defRPr
->
latin
.
is_init
())
panose
=
levels
[
level
]
->
defRPr
->
latin
->
panose
.
get_value_or
(
_T
(
""
));
else
if
(
fontStyle
.
is_init
())
style
=
fontStyle
->
idx
.
get_value_or
(
_T
(
"major"
));
else
if
(
masters
[
level
]
->
defRPr
->
latin
.
is_init
())
panose
=
masters
[
level
]
->
defRPr
->
latin
->
panose
.
get_value_or
(
_T
(
""
));
}
if
(
style
==
_T
(
"major"
))
panose
=
MajorLatin
.
panose
.
get_value_or
(
_T
(
""
));
else
if
(
style
==
_T
(
"minor"
))
panose
=
MinorLatin
.
panose
.
get_value_or
(
_T
(
""
));
return
panose
;
}
BYTE
ShapeProperties
::
GetRunCharset
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
std
::
wstring
charset
=
_T
(
""
);
std
::
wstring
style
=
_T
(
""
);
if
((
pRun
.
is_init
())
&&
(
pRun
->
latin
.
is_init
()))
charset
=
pRun
->
latin
->
charset
.
get_value_or
(
_T
(
""
));
else
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
())
&&
(
pParagraph
->
defRPr
->
latin
.
is_init
()))
charset
=
pParagraph
->
defRPr
->
latin
->
charset
.
get_value_or
(
_T
(
""
));
else
{
if
(
levels
[
level
]
->
defRPr
->
latin
.
is_init
())
charset
=
levels
[
level
]
->
defRPr
->
latin
->
charset
.
get_value_or
(
_T
(
""
));
else
if
(
fontStyle
.
is_init
())
style
=
fontStyle
->
idx
.
get_value_or
(
_T
(
"major"
));
else
if
(
masters
[
level
]
->
defRPr
->
latin
.
is_init
())
charset
=
masters
[
level
]
->
defRPr
->
latin
->
charset
.
get_value_or
(
_T
(
""
));
}
if
(
style
==
_T
(
"major"
))
charset
=
MajorLatin
.
charset
.
get_value_or
(
_T
(
""
));
else
if
(
style
==
_T
(
"minor"
))
charset
=
MinorLatin
.
charset
.
get_value_or
(
_T
(
""
));
if
(
charset
==
_T
(
""
))
charset
=
_T
(
"01"
);
return
XmlUtils
::
GetInteger
(
charset
);
}
BYTE
ShapeProperties
::
GetRunPitchFamily
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
std
::
wstring
pitchFamily
=
_T
(
""
);
std
::
wstring
style
=
_T
(
""
);
if
((
pRun
.
is_init
())
&&
(
pRun
->
latin
.
is_init
()))
pitchFamily
=
pRun
->
latin
->
pitchFamily
.
get_value_or
(
_T
(
""
));
else
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
())
&&
(
pParagraph
->
defRPr
->
latin
.
is_init
()))
pitchFamily
=
pParagraph
->
defRPr
->
latin
->
pitchFamily
.
get_value_or
(
_T
(
""
));
else
{
if
(
levels
[
level
]
->
defRPr
->
latin
.
is_init
())
pitchFamily
=
levels
[
level
]
->
defRPr
->
latin
->
pitchFamily
.
get_value_or
(
_T
(
""
));
else
if
(
fontStyle
.
is_init
())
style
=
fontStyle
->
idx
.
get_value_or
(
_T
(
"major"
));
else
if
(
masters
[
level
]
->
defRPr
->
latin
.
is_init
())
pitchFamily
=
masters
[
level
]
->
defRPr
->
latin
->
pitchFamily
.
get_value_or
(
_T
(
""
));
}
if
(
style
==
_T
(
"major"
))
pitchFamily
=
MajorLatin
.
pitchFamily
.
get_value_or
(
_T
(
""
));
else
if
(
style
==
_T
(
"minor"
))
pitchFamily
=
MinorLatin
.
pitchFamily
.
get_value_or
(
_T
(
""
));
if
(
pitchFamily
==
_T
(
""
))
pitchFamily
=
_T
(
"0"
);
return
XmlUtils
::
GetInteger
(
pitchFamily
);
}
DWORD
ShapeProperties
::
GetRunRGBA
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
{
if
(
pRun
->
Fill
.
is
<
SolidFill
>
())
return
pRun
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetRGBA
();
if
(
pRun
->
Fill
.
is
<
GradFill
>
())
return
pRun
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetRGBA
();
}
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
()))
{
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetRGBA
();
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetRGBA
();
}
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetRGBA
();
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetRGBA
();
if
(
fontStyle
.
is_init
())
return
fontStyle
->
Color
.
GetRGBA
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetRGBA
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetRGBA
();
return
0
;
}
DWORD
ShapeProperties
::
GetRunARGB
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
{
if
(
pRun
->
Fill
.
is
<
SolidFill
>
())
return
pRun
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetARGB
();
if
(
pRun
->
Fill
.
is
<
GradFill
>
())
return
pRun
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetARGB
();
}
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
()))
{
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetARGB
();
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetARGB
();
}
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetARGB
();
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetARGB
();
if
(
fontStyle
.
is_init
())
return
fontStyle
->
Color
.
GetARGB
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetARGB
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetARGB
();
return
0
;
}
DWORD
ShapeProperties
::
GetRunBGRA
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
{
if
(
pRun
->
Fill
.
is
<
SolidFill
>
())
return
pRun
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetBGRA
();
if
(
pRun
->
Fill
.
is
<
GradFill
>
())
return
pRun
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetBGRA
();
}
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
()))
{
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetBGRA
();
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetBGRA
();
}
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetBGRA
();
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetBGRA
();
if
(
fontStyle
.
is_init
())
return
fontStyle
->
Color
.
GetBGRA
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetBGRA
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetBGRA
();
return
0
;
}
DWORD
ShapeProperties
::
GetRunABGR
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
{
if
(
pRun
->
Fill
.
is
<
SolidFill
>
())
return
pRun
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetABGR
();
if
(
pRun
->
Fill
.
is
<
GradFill
>
())
return
pRun
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetABGR
();
}
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
()))
{
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetABGR
();
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetABGR
();
}
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetABGR
();
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetABGR
();
if
(
fontStyle
.
is_init
())
return
fontStyle
->
Color
.
GetABGR
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
.
GetABGR
();
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
().
GetABGR
();
return
0
;
}
PPTX
::
Logic
::
UniColor
ShapeProperties
::
GetColor
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pRun
.
is_init
())
{
if
(
pRun
->
Fill
.
is
<
SolidFill
>
())
return
pRun
->
Fill
.
as
<
SolidFill
>
().
Color
;
if
(
pRun
->
Fill
.
is
<
GradFill
>
())
return
pRun
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
();
}
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
()))
{
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
;
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
pParagraph
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
();
}
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
;
if
(
levels
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
levels
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
();
if
(
fontStyle
.
is_init
())
return
fontStyle
->
Color
;
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
;
if
(
masters
[
level
]
->
defRPr
->
Fill
.
is
<
GradFill
>
())
return
masters
[
level
]
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
();
UniColor
oUniColor
;
return
oUniColor
;
}
PPTX
::
Logic
::
UniColor
ShapeProperties
::
GetColorBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
if
(
pParagraph
.
IsInit
())
{
if
(
pParagraph
->
buColor
.
is_init
())
{
if
(
pParagraph
->
buColor
.
is
<
Logic
::
BuClr
>
())
return
pParagraph
->
buColor
.
as
<
Logic
::
BuClr
>
().
Color
;
PPTX
::
Logic
::
UniColor
oColor
;
return
oColor
;
}
}
if
(
levels
[
level
]
->
buColor
.
is_init
())
{
if
(
levels
[
level
]
->
buColor
.
is
<
Logic
::
BuClr
>
())
return
levels
[
level
]
->
buColor
.
as
<
Logic
::
BuClr
>
().
Color
;
PPTX
::
Logic
::
UniColor
oColor
;
return
oColor
;
}
if
(
masters
[
level
]
->
buColor
.
is_init
())
{
if
(
masters
[
level
]
->
buColor
.
is
<
Logic
::
BuClr
>
())
return
masters
[
level
]
->
buColor
.
as
<
Logic
::
BuClr
>
().
Color
;
PPTX
::
Logic
::
UniColor
oColor
;
return
oColor
;
}
PPTX
::
Logic
::
UniColor
oColor
;
return
oColor
;
}
void
ShapeProperties
::
SetParentFilePointer
(
const
WrapperFile
*
pFile
)
{
if
(
bodyPr
.
IsInit
())
bodyPr
->
SetParentFilePointer
(
pFile
);
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
levels
[
i
]
->
SetParentFilePointer
(
pFile
);
masters
[
i
]
->
SetParentFilePointer
(
pFile
);
}
if
(
fontStyle
.
is_init
())
fontStyle
->
SetParentFilePointer
(
pFile
);
}
DWORD
ShapeProperties
::
GetHyperlinkRGBA
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetRGBAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetRGBAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetRGBAFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
DWORD
ShapeProperties
::
GetHyperlinkARGB
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetARGBFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetARGBFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetARGBFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
DWORD
ShapeProperties
::
GetHyperlinkBGRA
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetBGRAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetBGRAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetBGRAFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
DWORD
ShapeProperties
::
GetHyperlinkABGR
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetABGRFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetABGRFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetABGRFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
}
// namespace Logic
}
// namespace PPTX
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeProperties.h
deleted
100644 → 0
View file @
7929d798
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#ifndef PPTX_LOGIC_SHAPEPROPERTIES_INCLUDE_H_
#define PPTX_LOGIC_SHAPEPROPERTIES_INCLUDE_H_
#include "RunProperties.h"
#include "TextListStyle.h"
#include "TxBody.h"
#include "FontRef.h"
#include "TextParagraphPr.h"
#include "BodyPr.h"
#include "TextFont.h"
namespace
PPTX
{
namespace
Logic
{
class
ShapeProperties
{
public:
ShapeProperties
();
virtual
~
ShapeProperties
();
private:
nullable
<
FontRef
>
fontStyle
;
nullable
<
TextParagraphPr
>
levels
[
10
];
nullable
<
TextParagraphPr
>
masters
[
10
];
nullable
<
BodyPr
>
bodyPr
;
//std::string MajorLatin;
//std::string MinorLatin;
TextFont
MajorLatin
;
TextFont
MinorLatin
;
DWORD
m_nTextType
;
public:
void
SetTextType
(
DWORD
dwType
)
{
m_nTextType
=
0
;
}
DWORD
GetTextType
()
const
{
return
m_nTextType
;
}
void
FillFromTextListStyle
(
const
nullable
<
TextListStyle
>&
Src
);
void
FillFromTextListStyle
(
const
TextListStyle
&
Src
);
void
FillFromTextBody
(
const
nullable
<
TxBody
>&
Src
);
void
FillFontRef
(
const
FontRef
&
Src
);
void
FillMasterFontSize
(
int
size
);
//void SetMajorLatin(const std::string& mjltFont){MajorLatin = mjltFont;};
//void SetMinorLatin(const std::string& mnltFont){MinorLatin = mnltFont;};
void
SetMajorLatin
(
const
TextFont
&
mjltFont
){
MajorLatin
=
mjltFont
;};
void
SetMinorLatin
(
const
TextFont
&
mnltFont
){
MinorLatin
=
mnltFont
;};
std
::
wstring
GetAnchor
()
const
{
return
bodyPr
.
IsInit
()
?
bodyPr
->
anchor
.
get_value_or
(
L"t"
)
:
L"t"
;};
std
::
wstring
GetParagraphAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetParagraphLeftMargin
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetParagraphIndent
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetParagraphDefTabSz
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
std
::
wstring
GetParagraphFontAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
bool
GetParagraphLatinLnBrk
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
bool
GetParagraphRtl
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetParagraphLnSpc
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetParagraphSpcAft
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetParagraphSpcBef
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
bool
HasParagraphBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
bool
GetRunBold
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
bool
GetRunItalic
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
std
::
wstring
GetRunUnderline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
std
::
wstring
GetRunStrike
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
std
::
wstring
GetRunCap
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetRunBaseline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetRunSize
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
int
GetRunSize
(
int
level
)
const
;
std
::
wstring
GetRunFont
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
,
LONG
&
lFontIndex
)
const
;
std
::
wstring
GetRunPanose
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
BYTE
GetRunCharset
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
BYTE
GetRunPitchFamily
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
DWORD
GetRunRGBA
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
DWORD
GetRunARGB
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
DWORD
GetRunBGRA
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
DWORD
GetRunABGR
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
PPTX
::
Logic
::
UniColor
GetColor
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
PPTX
::
Logic
::
UniColor
GetColorBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
DWORD
GetHyperlinkRGBA
()
const
;
DWORD
GetHyperlinkARGB
()
const
;
DWORD
GetHyperlinkBGRA
()
const
;
DWORD
GetHyperlinkABGR
()
const
;
void
SetParentFilePointer
(
const
WrapperFile
*
pFile
);
};
}
// namespace Logic
}
// namespace PPTX
#endif // PPTX_LOGIC_SHAPEPROPERTIES_INCLUDE_H
\ No newline at end of file
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeTextProperties.cpp
deleted
100644 → 0
View file @
7929d798
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "ShapeTextProperties.h"
#include "Fills/SolidFill.h"
#include "Fills/GradFill.h"
#include "../Slide.h"
#include "../SlideLayout.h"
#include "../SlideMaster.h"
namespace
PPTX
{
namespace
Logic
{
AVSINLINE
WORD
GetTextAnchorFromStr
(
const
std
::
wstring
&
str
)
{
if
(
str
==
_T
(
"t"
))
return
0
;
if
(
str
==
_T
(
"ctr"
))
return
1
;
if
(
str
==
_T
(
"b"
))
return
2
;
return
0
;
}
AVSINLINE
WORD
GetTextAlignFromStr
(
const
std
::
wstring
&
str
)
{
if
(
str
==
_T
(
"l"
))
return
0
;
if
(
str
==
_T
(
"ctr"
))
return
1
;
if
(
str
==
_T
(
"r"
))
return
2
;
if
(
str
==
_T
(
"just"
))
return
3
;
if
(
str
==
_T
(
"dist"
))
return
4
;
if
(
str
==
_T
(
"thaiDist"
))
return
5
;
if
(
str
==
_T
(
"justLow"
))
return
6
;
return
0
;
}
AVSINLINE
WORD
GetFontAlignFromStr
(
const
std
::
wstring
&
str
)
{
if
(
str
==
_T
(
"auto"
))
return
0
;
if
(
str
==
_T
(
"base"
))
return
0
;
if
(
str
==
_T
(
"t"
))
return
1
;
if
(
str
==
_T
(
"ctr"
))
return
2
;
if
(
str
==
_T
(
"b"
))
return
3
;
return
0
;
}
AVSINLINE
int
GetIntegerFromHex
(
const
std
::
wstring
&
string
)
{
return
XmlUtils
::
GetInteger
(
string
);
}
CShapeTextProperties
::
CShapeTextProperties
()
{
m_lTextType
=
-
1
;
m_bIsFontRefFromSlide
=
false
;
m_lMasterTextSize
=
-
1
;
m_bIsSlideShape
=
false
;
m_masters
=
NULL
;
m_pFile
=
NULL
;
}
CShapeTextProperties
::~
CShapeTextProperties
()
{
}
void
CShapeTextProperties
::
FillTextType
(
const
LONG
&
lTextMasterType
)
{
m_lTextType
=
lTextMasterType
;
}
void
CShapeTextProperties
::
FillFromTextBody
(
const
nullable
<
TxBody
>&
Src
,
const
nullable
<
TextParagraphPr
>*
bodyStyles
)
{
if
(
Src
.
IsInit
())
{
if
(
Src
->
bodyPr
.
IsInit
())
Src
->
bodyPr
->
Merge
(
bodyPr
);
if
(
Src
->
lstStyle
.
IsInit
())
{
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
if
(
Src
->
lstStyle
->
levels
[
i
].
IsInit
())
{
if
(
NULL
==
bodyStyles
)
{
// не фик мучиться здесь с темами. Это ж не в слайде.
// А в слайде все будет круто
Src
->
lstStyle
->
levels
[
i
]
->
Merge
(
m_body
[
i
]);
}
else
{
Src
->
lstStyle
->
levels
[
i
]
->
Merge
(
m_levels
[
i
]);
}
}
}
}
}
if
(
NULL
!=
bodyStyles
)
{
m_bIsSlideShape
=
true
;
for
(
int
i
=
0
;
i
<
10
;
++
i
)
{
m_body
[
i
]
=
bodyStyles
[
i
];
}
}
}
void
CShapeTextProperties
::
FillFontRef
(
const
FontRef
&
Src
,
const
bool
&
bIsSlideProperty
)
{
m_FontStyle
=
Src
;
}
void
CShapeTextProperties
::
FillMasterFontSize
(
int
size
)
{
m_lMasterTextSize
=
size
;
}
nullable_base
<
WORD
>
CShapeTextProperties
::
GetParagraphAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
WORD
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
algn
.
is_init
())
prop
=
GetTextAlignFromStr
(
pParagraph
->
algn
->
get
());
return
prop
;
}
nullable_base
<
LONG
>
CShapeTextProperties
::
GetParagraphLeftMargin
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
LONG
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
marL
.
is_init
())
prop
=
(
LONG
)
pParagraph
->
marL
.
get
();
return
prop
;
}
nullable_base
<
LONG
>
CShapeTextProperties
::
GetParagraphIndent
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
LONG
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
indent
.
is_init
())
prop
=
pParagraph
->
indent
.
get
();
return
prop
;
}
nullable_base
<
LONG
>
CShapeTextProperties
::
GetParagraphDefTabSz
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
LONG
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defTabSz
.
is_init
())
prop
=
(
LONG
)
pParagraph
->
defTabSz
.
get
();
return
prop
;
}
nullable_base
<
WORD
>
CShapeTextProperties
::
GetParagraphFontAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
WORD
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
fontAlgn
.
is_init
())
prop
=
(
WORD
)
GetFontAlignFromStr
(
pParagraph
->
fontAlgn
->
get
());
return
prop
;
}
nullable_base
<
WORD
>
CShapeTextProperties
::
GetParagraphLatinLnBrk
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
WORD
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
latinLnBrk
.
is_init
())
{
bool
bWrap
=
pParagraph
->
latinLnBrk
.
get
();
WORD
lWrap
=
0
;
if
(
bWrap
)
{
lWrap
&=
0xFD
;
lWrap
|=
0x01
;
}
else
{
lWrap
&=
0xFE
;
lWrap
|=
0x02
;
}
prop
=
lWrap
;
}
return
prop
;
}
nullable_base
<
WORD
>
CShapeTextProperties
::
GetParagraphRtl
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
WORD
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
rtl
.
is_init
())
{
WORD
lVal
=
0
;
if
(
pParagraph
->
rtl
.
get
())
lVal
=
1
;
prop
=
lVal
;
}
return
prop
;
}
nullable_base
<
LONG
>
CShapeTextProperties
::
GetParagraphLnSpc
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
,
const
double
&
LnSpcReduction
)
const
{
nullable_base
<
LONG
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
lnSpc
.
is_init
())
{
int
space
=
pParagraph
->
lnSpc
->
GetVal
();
if
(
space
<
0
)
prop
=
(
LONG
)(
space
*
127
*
(
1
-
LnSpcReduction
));
// - 13200;
else
prop
=
(
LONG
)(
space
*
(
1
-
LnSpcReduction
));
}
return
prop
;
}
nullable_base
<
LONG
>
CShapeTextProperties
::
GetParagraphSpcAft
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
LONG
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
spcAft
.
is_init
())
{
int
space
=
pParagraph
->
spcAft
->
GetVal
();
if
(
space
<
0
)
prop
=
(
LONG
)(
space
*
127
);
// - 13200;
else
prop
=
(
LONG
)
space
;
}
return
prop
;
}
nullable_base
<
LONG
>
CShapeTextProperties
::
GetParagraphSpcBef
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
LONG
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
spcBef
.
is_init
())
{
int
space
=
pParagraph
->
spcBef
->
GetVal
();
if
(
space
<
0
)
prop
=
(
LONG
)(
space
*
127
);
// - 13200;
else
prop
=
(
LONG
)
space
;
}
return
prop
;
}
nullable_base
<
bool
>
CShapeTextProperties
::
GetHasBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
bool
>
prop
;
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
ParagraphBullet
.
is_init
())
{
prop
=
(
bool
)
pParagraph
->
ParagraphBullet
.
has_bullet
();
return
prop
;
}
if
(
m_body
[
level
].
is_init
())
if
(
m_body
[
level
]
->
ParagraphBullet
.
is_init
())
{
prop
=
(
bool
)
m_body
[
level
]
->
ParagraphBullet
.
has_bullet
();
return
prop
;
}
if
(
m_levels
[
level
].
is_init
())
if
(
m_levels
[
level
]
->
ParagraphBullet
.
is_init
())
{
prop
=
(
bool
)
m_levels
[
level
]
->
ParagraphBullet
.
has_bullet
();
return
prop
;
}
return
prop
;
}
nullable_base
<
bool
>
CShapeTextProperties
::
GetRunBold
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
bool
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
b
.
is_init
())
{
prop
=
(
bool
)
pRun
->
b
.
get
();
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
b
.
is_init
())
{
prop
=
(
bool
)
pParagraph
->
defRPr
->
b
.
get
();
}
return
prop
;
}
nullable_base
<
bool
>
CShapeTextProperties
::
GetRunItalic
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
bool
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
i
.
is_init
())
{
prop
=
(
bool
)
pRun
->
i
.
get
();
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
i
.
is_init
())
{
prop
=
(
bool
)
pParagraph
->
defRPr
->
i
.
get
();
}
return
prop
;
}
nullable_base
<
bool
>
CShapeTextProperties
::
GetRunUnderline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
bool
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
u
.
is_init
())
{
prop
=
(
_T
(
"none"
)
!=
pRun
->
u
->
get
())
?
true
:
false
;
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
u
.
is_init
())
{
prop
=
(
_T
(
"none"
)
!=
pParagraph
->
defRPr
->
u
->
get
())
?
true
:
false
;
return
prop
;
}
return
prop
;
}
nullable_base
<
bool
>
CShapeTextProperties
::
GetRunStrike
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
bool
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
strike
.
is_init
())
{
prop
=
(
_T
(
"noStrike"
)
!=
pRun
->
strike
->
get
())
?
true
:
false
;
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
strike
.
is_init
())
prop
=
(
_T
(
"noStrike"
)
!=
pParagraph
->
defRPr
->
strike
->
get
())
?
true
:
false
;
return
prop
;
}
nullable_base
<
WORD
>
CShapeTextProperties
::
GetRunCap
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
WORD
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
cap
.
is_init
())
{
std
::
wstring
str
=
pRun
->
cap
->
get
();
if
(
_T
(
"all"
)
==
str
)
prop
=
(
WORD
)
1
;
else
if
(
_T
(
"small"
)
==
str
)
prop
=
(
WORD
)
2
;
else
prop
=
(
WORD
)
0
;
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
cap
.
is_init
())
{
std
::
wstring
str
=
pParagraph
->
defRPr
->
cap
->
get
();
if
(
_T
(
"all"
)
==
str
)
prop
=
(
WORD
)
1
;
else
if
(
_T
(
"small"
)
==
str
)
prop
=
(
WORD
)
2
;
else
prop
=
(
WORD
)
0
;
}
return
prop
;
}
nullable_base
<
double
>
CShapeTextProperties
::
GetRunBaseline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
double
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
baseline
.
is_init
())
{
prop
=
(
double
)
pRun
->
baseline
.
get
()
/
1000
;
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
baseline
.
is_init
())
prop
=
(
double
)
pParagraph
->
defRPr
->
baseline
.
get
()
/
1000
;
return
prop
;
}
nullable_base
<
WORD
>
CShapeTextProperties
::
GetRunSize
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
,
const
double
&
FontScale
)
const
{
nullable_base
<
WORD
>
prop
;
if
(
pRun
.
is_init
())
if
(
pRun
->
sz
.
is_init
())
{
int
size
=
pRun
->
sz
.
get
();
prop
=
(
WORD
)((
size
*
FontScale
+
50
)
/
100
);
return
prop
;
}
if
(
pParagraph
.
is_init
())
if
(
pParagraph
->
defRPr
.
is_init
())
if
(
pParagraph
->
defRPr
->
sz
.
is_init
())
{
int
size
=
pParagraph
->
defRPr
->
sz
.
get
();
prop
=
(
WORD
)((
size
*
FontScale
+
50
)
/
100
);
return
prop
;
}
if
(
-
1
!=
m_lMasterTextSize
)
{
bool
bIsSetUp
=
false
;
if
(
m_levels
[
level
].
is_init
())
if
(
m_levels
[
level
]
->
defRPr
.
is_init
())
if
(
m_levels
[
level
]
->
defRPr
->
sz
.
is_init
())
bIsSetUp
=
true
;
if
(
!
bIsSetUp
)
{
if
(
m_body
[
level
].
is_init
())
if
(
m_body
[
level
]
->
defRPr
.
is_init
())
if
(
m_body
[
level
]
->
defRPr
->
sz
.
is_init
())
bIsSetUp
=
true
;
}
if
(
!
bIsSetUp
)
prop
=
(
WORD
)((
double
)(
m_lMasterTextSize
*
FontScale
+
50
)
/
100
);
}
return
prop
;
}
nullable_base
<
CFontInfo
>
CShapeTextProperties
::
GetRunFont
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
nullable_base
<
CFontInfo
>
prop
;
if
((
pRun
.
is_init
())
&&
(
pRun
->
latin
.
is_init
()))
{
CFontInfo
oInfo
;
oInfo
.
strFontName
=
pRun
->
latin
->
typeface
;
oInfo
.
strPanose
=
pRun
->
latin
->
panose
.
get_value_or
(
_T
(
""
));
oInfo
.
strPitchFamily
=
pRun
->
latin
->
pitchFamily
.
get_value_or
(
_T
(
""
));
oInfo
.
Charset
=
XmlUtils
::
GetInteger
(
pRun
->
latin
->
charset
.
get_value_or
(
_T
(
"0"
)));
oInfo
.
FontRef
=
-
1
;
if
(
oInfo
.
strFontName
==
_T
(
"+mj-lt"
))
{
oInfo
.
strFontName
=
MajorLatin
.
typeface
;
oInfo
.
FontRef
=
0
;
}
else
if
(
oInfo
.
strFontName
==
_T
(
"+mn-lt"
))
{
oInfo
.
strFontName
=
MinorLatin
.
typeface
;
oInfo
.
FontRef
=
1
;
}
else
if
(
oInfo
.
strFontName
==
_T
(
""
))
{
oInfo
.
strFontName
=
MinorLatin
.
typeface
;
oInfo
.
FontRef
=
1
;
}
prop
=
oInfo
;
}
else
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
())
&&
(
pParagraph
->
defRPr
->
latin
.
is_init
()))
{
CFontInfo
oInfo
;
oInfo
.
strFontName
=
pParagraph
->
defRPr
->
latin
->
typeface
;
oInfo
.
strPanose
=
pParagraph
->
defRPr
->
latin
->
panose
.
get_value_or
(
_T
(
""
));
oInfo
.
strPitchFamily
=
pParagraph
->
defRPr
->
latin
->
pitchFamily
.
get_value_or
(
_T
(
""
));
oInfo
.
Charset
=
XmlUtils
::
GetInteger
(
pParagraph
->
defRPr
->
latin
->
charset
.
get_value_or
(
_T
(
"0"
)));
oInfo
.
FontRef
=
-
1
;
if
(
oInfo
.
strFontName
==
_T
(
"+mj-lt"
))
{
oInfo
.
strFontName
=
MajorLatin
.
typeface
;
oInfo
.
FontRef
=
0
;
}
else
if
(
oInfo
.
strFontName
==
_T
(
"+mn-lt"
))
{
oInfo
.
strFontName
=
MinorLatin
.
typeface
;
oInfo
.
FontRef
=
1
;
}
else
if
(
oInfo
.
strFontName
==
_T
(
""
))
{
oInfo
.
strFontName
=
MinorLatin
.
typeface
;
oInfo
.
FontRef
=
1
;
}
prop
=
oInfo
;
}
return
prop
;
}
PPTX
::
Logic
::
UniColor
CShapeTextProperties
::
GetColor
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
PPTX
::
Logic
::
UniColor
prop
;
if
(
pRun
.
is_init
())
{
if
(
pRun
->
Fill
.
is
<
SolidFill
>
())
{
prop
=
pRun
->
Fill
.
as
<
SolidFill
>
().
Color
;
return
prop
;
}
if
(
pRun
->
Fill
.
is
<
GradFill
>
())
{
prop
=
pRun
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
();
return
prop
;
}
}
if
((
pParagraph
.
is_init
())
&&
(
pParagraph
->
defRPr
.
is_init
()))
{
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
SolidFill
>
())
{
prop
=
pParagraph
->
defRPr
->
Fill
.
as
<
SolidFill
>
().
Color
;
return
prop
;
}
if
(
pParagraph
->
defRPr
->
Fill
.
is
<
GradFill
>
())
{
prop
=
pParagraph
->
defRPr
->
Fill
.
as
<
GradFill
>
().
GetFrontColor
();
return
prop
;
}
}
return
prop
;
}
PPTX
::
Logic
::
UniColor
CShapeTextProperties
::
GetColorBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
{
PPTX
::
Logic
::
UniColor
prop
;
if
(
pParagraph
.
is_init
())
{
if
(
pParagraph
->
buColor
.
is_init
())
{
if
(
pParagraph
->
buColor
.
is
<
Logic
::
BuClr
>
())
prop
=
pParagraph
->
buColor
.
as
<
Logic
::
BuClr
>
().
Color
;
}
}
return
prop
;
}
DWORD
CShapeTextProperties
::
GetHyperlinkRGBA
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetRGBAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetRGBAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetRGBAFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
DWORD
CShapeTextProperties
::
GetHyperlinkARGB
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetARGBFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetARGBFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetARGBFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
DWORD
CShapeTextProperties
::
GetHyperlinkBGRA
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetBGRAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetBGRAFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetBGRAFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
DWORD
CShapeTextProperties
::
GetHyperlinkABGR
()
const
{
if
(
!
bodyPr
.
IsInit
())
return
0
;
if
(
bodyPr
->
parentFileIs
<
Slide
>
())
return
bodyPr
->
parentFileAs
<
Slide
>
().
GetABGRFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideLayout
>
())
return
bodyPr
->
parentFileAs
<
SlideLayout
>
().
GetABGRFromMap
(
_T
(
"hlink"
));
else
if
(
bodyPr
->
parentFileIs
<
SlideMaster
>
())
return
bodyPr
->
parentFileAs
<
SlideMaster
>
().
GetABGRFromMap
(
_T
(
"hlink"
));
else
return
0
;
}
void
CShapeTextProperties
::
SetParentFilePointer
(
const
WrapperFile
*
pFile
)
{
if
(
bodyPr
.
IsInit
())
bodyPr
->
SetParentFilePointer
(
pFile
);
m_pFile
=
pFile
;
//for(int i = 0; i < 10; i ++)
//{
// m_levels[i]->SetParentFilePointer(pFile);
// m_body[i]->SetParentFilePointer(pFile);
//}
if
(
m_FontStyle
.
is_init
())
m_FontStyle
->
SetParentFilePointer
(
pFile
);
}
}
// namespace Logic
}
// namespace PPTX
ASCOfficePPTXFile/PPTXFormat/Logic/ShapeTextProperties.h
deleted
100644 → 0
View file @
7929d798
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#ifndef PPTX_LOGIC_SHAPETEXTPROPERTIES_INCLUDE_H_
#define PPTX_LOGIC_SHAPETEXTPROPERTIES_INCLUDE_H_
#include "RunProperties.h"
#include "TextListStyle.h"
#include "TxBody.h"
#include "FontRef.h"
#include "TextParagraphPr.h"
#include "BodyPr.h"
#include "TextFont.h"
namespace
PPTX
{
namespace
Logic
{
class
CFontInfo
{
public:
LONG
FontRef
;
std
::
wstring
strFontName
;
std
::
wstring
strPanose
;
std
::
wstring
strPitchFamily
;
BYTE
Charset
;
public:
CFontInfo
()
{
FontRef
=
-
1
;
strFontName
=
_T
(
""
);
strPanose
=
_T
(
""
);
strPitchFamily
=
_T
(
""
);
Charset
=
0
;
}
CFontInfo
(
const
CFontInfo
&
oSrc
)
{
*
this
=
oSrc
;
}
CFontInfo
&
operator
=
(
const
CFontInfo
&
oSrc
)
{
FontRef
=
oSrc
.
FontRef
;
strFontName
=
oSrc
.
strFontName
;
strPanose
=
oSrc
.
strPanose
;
strPitchFamily
=
oSrc
.
strPitchFamily
;
Charset
=
oSrc
.
Charset
;
return
*
this
;
}
};
class
CShapeTextProperties
{
public:
CShapeTextProperties
();
virtual
~
CShapeTextProperties
();
private:
nullable
<
FontRef
>
m_FontStyle
;
LONG
m_lTextType
;
nullable
<
TextParagraphPr
>
m_levels
[
10
];
nullable
<
TextParagraphPr
>
m_body
[
10
];
nullable
<
BodyPr
>
bodyPr
;
// просто указатель - он должен выставиться из темы
std
::
vector
<
nullable
<
TextParagraphPr
>*>*
m_masters
;
TextFont
MajorLatin
;
TextFont
MinorLatin
;
bool
m_bIsFontRefFromSlide
;
int
m_lMasterTextSize
;
// заглушка под таблицы.
bool
m_bIsSlideShape
;
const
WrapperFile
*
m_pFile
;
public:
void
FillTextType
(
const
LONG
&
lTextMasterType
);
void
FillFromTextBody
(
const
nullable
<
TxBody
>&
Src
,
const
nullable
<
TextParagraphPr
>*
bodyStyles
);
void
FillFontRef
(
const
FontRef
&
Src
,
const
bool
&
bIsSlideProperty
);
void
FillMasterFontSize
(
int
size
);
AVSINLINE
void
SetMajorLatin
(
const
TextFont
&
mjltFont
){
MajorLatin
=
mjltFont
;};
AVSINLINE
void
SetMinorLatin
(
const
TextFont
&
mnltFont
){
MinorLatin
=
mnltFont
;};
AVSINLINE
void
SetMasterStyles
(
std
::
vector
<
nullable
<
TextParagraphPr
>*>*
pStyles
)
{
m_masters
=
pStyles
;
}
AVSINLINE
nullable
<
TextParagraphPr
>*
GetLevels
()
{
if
(
!
m_bIsSlideShape
)
return
NULL
;
return
m_levels
;
}
AVSINLINE
nullable
<
TextParagraphPr
>*
GetLevelsBody
()
{
return
m_body
;
}
AVSINLINE
LONG
GetTextType
()
{
return
m_lTextType
;
}
AVSINLINE
LONG
GetFontRef
(
bool
&
bIsSlideSetUp
)
{
bIsSlideSetUp
=
m_bIsFontRefFromSlide
;
if
(
m_FontStyle
.
is_init
()
&&
m_FontStyle
->
idx
.
is_init
())
{
return
(
m_FontStyle
->
idx
->
get
()
==
_T
(
"minor"
))
?
1
:
0
;
}
return
-
1
;
}
std
::
wstring
GetAnchor
()
const
{
return
bodyPr
.
IsInit
()
?
bodyPr
->
anchor
.
get_value_or
(
L"t"
)
:
L"t"
;
};
nullable_base
<
WORD
>
GetParagraphAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
LONG
>
GetParagraphLeftMargin
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
LONG
>
GetParagraphIndent
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
LONG
>
GetParagraphDefTabSz
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
WORD
>
GetParagraphFontAlgn
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
WORD
>
GetParagraphLatinLnBrk
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
WORD
>
GetParagraphRtl
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
LONG
>
GetParagraphLnSpc
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
,
const
double
&
LnSpcReduction
)
const
;
nullable_base
<
LONG
>
GetParagraphSpcAft
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
LONG
>
GetParagraphSpcBef
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
bool
>
GetHasBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
bool
>
GetRunBold
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
bool
>
GetRunItalic
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
bool
>
GetRunUnderline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
bool
>
GetRunStrike
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
WORD
>
GetRunCap
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
double
>
GetRunBaseline
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
nullable_base
<
WORD
>
GetRunSize
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
,
const
double
&
FontScale
)
const
;
nullable_base
<
CFontInfo
>
GetRunFont
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
PPTX
::
Logic
::
UniColor
GetColor
(
int
level
,
const
nullable
<
RunProperties
>&
pRun
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
PPTX
::
Logic
::
UniColor
GetColorBullet
(
int
level
,
const
nullable
<
TextParagraphPr
>&
pParagraph
)
const
;
DWORD
GetHyperlinkRGBA
()
const
;
DWORD
GetHyperlinkARGB
()
const
;
DWORD
GetHyperlinkBGRA
()
const
;
DWORD
GetHyperlinkABGR
()
const
;
void
SetParentFilePointer
(
const
WrapperFile
*
pFile
);
};
}
// namespace Logic
}
// namespace PPTX
#endif // PPTX_LOGIC_SHAPETEXTPROPERTIES_INCLUDE_H_
ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.h
View file @
4eb0a73f
...
...
@@ -37,8 +37,6 @@
#include "./../Logic/NvGrpSpPr.h"
#include "./../Logic/GrpSpPr.h"
#include "SpTreeElem.h"
#include "ShapeProperties.h"
#include "ShapeTextProperties.h"
#include "../../../DesktopEditor/graphics/aggplustypes.h"
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.cpp
View file @
4eb0a73f
...
...
@@ -114,16 +114,5 @@ namespace PPTX
CellProperties
->
SetParentPointer
(
this
);
}
void
TableCell
::
GetShapeProperties
(
ShapeProperties
&
props
)
const
{
if
(
parentFileIs
<
Slide
>
())
{
parentFileAs
<
Slide
>
().
FillShapeProperties
(
props
,
_T
(
"table-cell"
));
props
.
FillFromTextBody
(
txBody
);
//props.SetParentFilePointer(parentFile);
}
}
}
// namespace Logic
}
// namespace PPTX
ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.h
View file @
4eb0a73f
...
...
@@ -36,7 +36,6 @@
#include "./../../WrapperWritingElement.h"
#include "./../TxBody.h"
#include "TableCellProperties.h"
#include "../ShapeProperties.h"
namespace
PPTX
{
...
...
@@ -59,8 +58,6 @@ namespace PPTX
void
ReadAttributes
(
XmlUtils
::
CXmlLiteReader
&
oReader
);
virtual
void
GetShapeProperties
(
ShapeProperties
&
props
)
const
;
virtual
void
toXmlWriter
(
NSBinPptxRW
::
CXmlWriter
*
pWriter
)
const
{
pWriter
->
StartNode
(
_T
(
"a:tc"
));
...
...
ASCOfficePPTXFile/PPTXFormat/Logic/TxStyles.h
View file @
4eb0a73f
...
...
@@ -138,7 +138,6 @@ namespace PPTX
pWriter
->
EndNode
(
_T
(
"p:txStyles"
));
}
public:
nullable
<
TextListStyle
>
titleStyle
;
nullable
<
TextListStyle
>
bodyStyle
;
nullable
<
TextListStyle
>
otherStyle
;
...
...
ASCOfficePPTXFile/PPTXFormat/PPTX.h
View file @
4eb0a73f
...
...
@@ -52,7 +52,6 @@
#include "Logic/CxnSp.h"
#include "Logic/GraphicFrame.h"
#include "Logic/TxBody.h"
#include "Logic/ShapeProperties.h"
#include "Logic/SpTree.h"
#include "Logic/UniFill.h"
#include "Logic/UniColor.h"
...
...
ASCOfficePPTXFile/PPTXFormat/Slide.h
View file @
4eb0a73f
...
...
@@ -41,7 +41,6 @@
#include "Logic/Transitions/Transition.h"
#include "Logic/Timing/Timing.h"
#include "Logic/ShapeProperties.h"
#include "Logic/Bg.h"
#include "Theme.h"
...
...
@@ -73,8 +72,6 @@ namespace PPTX
virtual
~
Slide
()
{
}
public:
virtual
void
read
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
)
{
//FileContainer::read(filename, map);
...
...
@@ -147,38 +144,7 @@ namespace PPTX
return
type
().
DefaultFileName
();
}
//-------------------------------------------------
virtual
void
FillShapeProperties
(
Logic
::
ShapeProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
(
Layout
.
IsInit
())
Layout
->
FillShapeProperties
(
props
,
type
);
}
virtual
void
FillShapeTextProperties
(
Logic
::
CShapeTextProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
(
Layout
.
IsInit
())
Layout
->
FillShapeTextProperties
(
props
,
type
);
}
virtual
bool
GetBackground
(
Logic
::
BgPr
&
bg
,
DWORD
&
ARGB
)
const
{
if
(
cSld
->
bg
.
is_init
())
{
if
(
cSld
->
bg
->
bgPr
.
is_init
())
bg
=
cSld
->
bg
->
bgPr
.
get
();
else
if
(
cSld
->
bg
->
bgRef
.
is_init
())
{
ARGB
=
cSld
->
bg
->
bgRef
->
Color
.
GetARGB
();
theme
->
themeElements
.
fmtScheme
.
GetFillStyle
(
cSld
->
bg
->
bgRef
->
idx
.
get_value_or
(
0
),
bg
.
Fill
);
}
return
true
;
}
else
//from slideLayout
{
if
(
Layout
.
IsInit
())
Layout
->
GetBackground
(
bg
,
ARGB
);
return
false
;
}
return
false
;
}
virtual
std
::
wstring
GetMediaFullPathNameFromRId
(
const
OOX
::
RId
&
rid
)
const
{
smart_ptr
<
OOX
::
Image
>
p
=
GetImage
(
rid
);
...
...
@@ -362,7 +328,6 @@ namespace PPTX
pReader
->
Seek
(
end
);
}
public:
nullable_bool
show
;
nullable_bool
showMasterPhAnim
;
nullable_bool
showMasterSp
;
...
...
@@ -380,8 +345,7 @@ namespace PPTX
smart_ptr
<
TableStyles
>
tableStyles_
;
smart_ptr
<
PPTX
::
Comments
>
comments
;
public:
//--------------------------------------------------------------------------------------
void
ApplyRels
()
{
Layout
=
FileContainer
::
Get
(
OOX
::
Presentation
::
FileTypes
::
SlideLayout
).
smart_dynamic_cast
<
PPTX
::
SlideLayout
>
();
//boost::shared_dynamic_cast<PPTX::SlideLayout, PPTX::File>(FileContainer::get(OOX::Presentation::FileTypes::SlideLayout));
...
...
ASCOfficePPTXFile/PPTXFormat/SlideLayout.h
View file @
4eb0a73f
...
...
@@ -46,7 +46,6 @@
#include "Logic/SpTreeElem.h"
#include "Logic/Shape.h"
#include "Logic/ShapeProperties.h"
#include "Theme.h"
#include "SlideMaster.h"
...
...
@@ -73,8 +72,6 @@ namespace PPTX
virtual
~
SlideLayout
()
{
}
public:
virtual
void
read
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
)
{
m_sOutputFilename
=
filename
.
GetFilename
();
...
...
@@ -114,7 +111,6 @@ namespace PPTX
FileContainer
::
write
(
filename
,
directory
,
content
);
}
public:
virtual
const
OOX
::
FileType
type
()
const
{
return
OOX
::
Presentation
::
FileTypes
::
SlideLayout
;
...
...
@@ -128,103 +124,40 @@ namespace PPTX
return
type
().
DefaultFileName
();
}
public:
virtual
void
GetLevelUp
(
const
Logic
::
Shape
&
pShape
)
const
virtual
void
GetLevelUp
(
Logic
::
Shape
*
pShape
)
{
if
(
pShape
.
nvSpPr
.
nvPr
.
ph
.
is_init
())
if
(
!
pShape
)
return
;
if
(
pShape
->
nvSpPr
.
nvPr
.
ph
.
is_init
())
{
std
::
wstring
idx
=
/*pShape.nvSpPr->nvPr->ph.is_init()?*/
pShape
.
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
));
//:""
;
std
::
wstring
type
=
/*pShape.nvSpPr->nvPr->ph.is_init()?*/
pShape
.
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
));
//:""
;
if
(
type
==
_T
(
"ctrTitle"
))
type
=
_T
(
"title"
)
;
std
::
wstring
idx
=
pShape
->
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
))
;
std
::
wstring
type
=
pShape
->
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
;
if
(
type
==
L"ctrTitle"
)
type
=
L"title"
;
size_t
count
=
cSld
.
spTree
.
SpTreeElems
.
size
();
for
(
size_t
i
=
0
;
i
<
count
;
++
i
)
for
(
size_t
i
=
0
;
i
<
cSld
.
spTree
.
SpTreeElems
.
size
();
++
i
)
{
const
PPTX
::
Logic
::
SpTreeElem
*
pElem
=
&
cSld
.
spTree
.
SpTreeElems
[
i
]
;
if
(
p
Elem
->
is
<
Logic
::
Shape
>
())
smart_ptr
<
Logic
::
Shape
>
pLayoutShape
=
cSld
.
spTree
.
SpTreeElems
[
i
].
GetElem
().
smart_dynamic_cast
<
Logic
::
Shape
>
()
;
if
(
p
LayoutShape
.
IsInit
())
{
const
Logic
::
Shape
&
LayoutShape
=
pElem
->
as
<
Logic
::
Shape
>
();
if
(
LayoutShape
.
nvSpPr
.
nvPr
.
ph
.
is_init
())
if
(
pLayoutShape
->
nvSpPr
.
nvPr
.
ph
.
is_init
())
{
std
::
wstring
lIdx
=
/*LayoutShape->nvSpPr->nvPr->ph.is_init()?*/
LayoutShape
.
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
));
//:"";
std
::
wstring
lType
=
/*LayoutShape->nvSpPr->nvPr->ph.is_init()?*/
LayoutShape
.
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
));
//:"";
if
(
lType
==
_T
(
"ctrTitle"
))
lType
=
_T
(
"title"
);
std
::
wstring
lIdx
=
pLayoutShape
->
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
));
std
::
wstring
lType
=
pLayoutShape
->
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
));
if
(
lType
==
_T
(
"ctrTitle"
))
lType
=
_T
(
"title"
);
if
((
type
==
lType
)
&&
(
idx
==
lIdx
))
{
pShape
.
SetLevelUpElement
(
LayoutShape
);
pShape
->
SetLevelUpElement
(
pLayoutShape
.
operator
->
()
);
return
;
}
//if(lType == "ctrTitle")
// lType = "title";
//if(idx == LayoutShape->nvSpPr->nvPr->idx.get_value_or("0"))
//{
// if((type == LayoutShape->nvSpPr->nvPr->type.get_value_or("")) || ((type == "") && (LayoutShape->nvSpPr->nvPr->type.get_value_or("") != "")))
// pShape->SetLevelUpElement(LayoutShape);
// return;
//}
//if((type == lType) && (type != ""))
//{
// if(idx == lIdx)
// {
// pShape.SetLevelUpElement(LayoutShape);
// return;
// }
// continue;
//}
//if((type == lType) && (type == ""))
//{
// if((idx == lIdx) && (idx != ""))
// {
// pShape.SetLevelUpElement(LayoutShape);
// return;
// }
//}
//if(type != lType)
//{
// if((idx == lIdx) && (idx != ""))
// {
// pShape.SetLevelUpElement(LayoutShape);
// return;
// }
//}
}
}
}
}
}
virtual
void
FillShapeProperties
(
Logic
::
ShapeProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
(
Master
.
IsInit
())
Master
->
FillShapeProperties
(
props
,
type
);
}
virtual
void
FillShapeTextProperties
(
Logic
::
CShapeTextProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
(
Master
.
IsInit
())
Master
->
FillShapeTextProperties
(
props
,
type
);
}
virtual
void
GetBackground
(
Logic
::
BgPr
&
bg
,
DWORD
&
ARGB
)
const
{
if
(
cSld
.
bg
.
is_init
())
{
if
(
cSld
.
bg
->
bgPr
.
is_init
())
bg
=
cSld
.
bg
->
bgPr
.
get
();
else
if
(
cSld
.
bg
->
bgRef
.
is_init
())
{
ARGB
=
cSld
.
bg
->
bgRef
->
Color
.
GetARGB
();
theme
->
themeElements
.
fmtScheme
.
GetFillStyle
(
cSld
.
bg
->
bgRef
->
idx
.
get_value_or
(
0
),
bg
.
Fill
);
//bg.SetParentFilePointer(this);
}
}
else
//from slideMaster
{
if
(
Master
.
IsInit
())
Master
->
GetBackground
(
bg
,
ARGB
);
}
}
virtual
std
::
wstring
GetMediaFullPathNameFromRId
(
const
OOX
::
RId
&
rid
)
const
{
smart_ptr
<
OOX
::
Image
>
p
=
GetImage
(
rid
);
...
...
ASCOfficePPTXFile/PPTXFormat/SlideMaster.h
View file @
4eb0a73f
...
...
@@ -45,7 +45,6 @@
#include "Logic/XmlId.h"
#include "Logic/Shape.h"
#include "Logic/ShapeProperties.h"
#include "Logic/TxBody.h"
#include "Logic/UniColor.h"
...
...
@@ -72,8 +71,6 @@ namespace PPTX
virtual
~
SlideMaster
()
{
}
public:
virtual
void
read
(
const
OOX
::
CPath
&
filename
,
FileMap
&
map
)
{
m_sOutputFilename
=
filename
.
GetFilename
();
...
...
@@ -121,8 +118,6 @@ namespace PPTX
WrapperFile
::
write
(
filename
,
directory
,
content
);
FileContainer
::
write
(
filename
,
directory
,
content
);
}
public:
virtual
const
OOX
::
FileType
type
()
const
{
return
OOX
::
Presentation
::
FileTypes
::
SlideMaster
;
...
...
@@ -135,170 +130,38 @@ namespace PPTX
{
return
type
().
DefaultFileName
();
}
public:
void
GetLevelUp
(
const
Logic
::
Shape
&
pShape
)
const
void
GetLevelUp
(
Logic
::
Shape
*
pShape
)
{
if
(
pShape
.
nvSpPr
.
nvPr
.
ph
.
is_init
())
if
(
!
pShape
)
return
;
if
(
pShape
->
nvSpPr
.
nvPr
.
ph
.
is_init
())
{
std
::
wstring
idx
=
/*pShape.nvSpPr->nvPr->ph.is_init()?*/
pShape
.
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
));
//:""
;
std
::
wstring
type
=
/*pShape.nvSpPr->nvPr->ph.is_init()?*/
pShape
.
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
));
//:""
;
if
(
type
==
_T
(
"ctrTitle"
))
type
=
_T
(
"title"
);
std
::
wstring
idx
=
pShape
->
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
))
;
std
::
wstring
type
=
pShape
->
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
;
if
(
type
==
_T
(
"ctrTitle"
))
type
=
_T
(
"title"
);
size_t
count
=
cSld
.
spTree
.
SpTreeElems
.
size
();
for
(
size_t
i
=
0
;
i
<
count
;
++
i
)
for
(
size_t
i
=
0
;
i
<
cSld
.
spTree
.
SpTreeElems
.
size
();
++
i
)
{
const
PPTX
::
Logic
::
SpTreeElem
*
pElem
=
&
cSld
.
spTree
.
SpTreeElems
[
i
]
;
if
(
pElem
->
is
<
Logic
::
Shape
>
())
smart_ptr
<
Logic
::
Shape
>
pMasterShape
=
cSld
.
spTree
.
SpTreeElems
[
i
].
GetElem
().
smart_dynamic_cast
<
Logic
::
Shape
>
()
;
if
(
pMasterShape
.
IsInit
())
{
const
Logic
::
Shape
&
MasterShape
=
pElem
->
as
<
Logic
::
Shape
>
();
if
(
MasterShape
.
nvSpPr
.
nvPr
.
ph
.
is_init
())
if
(
pMasterShape
->
nvSpPr
.
nvPr
.
ph
.
is_init
())
{
std
::
wstring
lIdx
=
/*MasterShape->nvSpPr->nvPr->ph.is_init()?*/
MasterShape
.
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
));
//:""
;
std
::
wstring
lType
=
/*MasterShape->nvSpPr->nvPr->ph.is_init()?*/
MasterShape
.
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
));
//:""
;
if
(
lType
==
_T
(
"ctrTitle"
))
lType
=
_T
(
"title"
)
;
if
(
type
==
lType
)
std
::
wstring
lIdx
=
pMasterShape
->
nvSpPr
.
nvPr
.
ph
->
idx
.
get_value_or
(
_T
(
"0"
))
;
std
::
wstring
lType
=
pMasterShape
->
nvSpPr
.
nvPr
.
ph
->
type
.
get_value_or
(
_T
(
"body"
))
;
if
(
lType
==
L"ctrTitle"
)
lType
=
L"title"
;
if
(
type
==
lType
)
{
pShape
.
SetLevelUpElement
(
MasterShape
);
pShape
->
SetLevelUpElement
(
pMasterShape
.
operator
->
()
);
return
;
}
//if(idx == MasterShape->nvSpPr->nvPr->idx.get_value_or("0"))
//{
// if((type == MasterShape->nvSpPr->nvPr->type.get_value_or("")) || ((type == "") && (MasterShape->nvSpPr->nvPr->type.get_value_or("") != "")))
// pShape->SetLevelUpElement(MasterShape);
// return;
//}
//if((type == lType) && (type != ""))
//{
// //if(idx == lIdx)
// //{
// pShape.SetLevelUpElement(MasterShape);
// return;
// //}
// //continue;
//}
//if((type == lType) && (type == ""))
//{
// if((idx == lType) && (idx != ""))
// {
// pShape.SetLevelUpElement(MasterShape);
// return;
// }
//}
//if(type != lType)
//{
// if((idx == lIdx) && (idx != ""))
// {
// pShape.SetLevelUpElement(MasterShape);
// return;
// }
//}
}
}
}
}
}
void
FillShapeProperties
(
Logic
::
ShapeProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
((
theme
.
IsInit
())
&&
(
theme
->
presentation
.
IsInit
()))
{
PPTX
::
Presentation
*
pPres
=
const_cast
<
PPTX
::
Presentation
*>
(
theme
->
presentation
.
operator
->
());
pPres
->
SetClrMap
(
clrMap
);
pPres
->
SetClrScheme
(
theme
->
themeElements
.
clrScheme
);
}
if
((
theme
.
IsInit
())
&&
(
type
!=
_T
(
""
)))
theme
->
FillShapeProperties
(
props
,
type
);
if
(
txStyles
.
is_init
())
{
// props.FillFromTextListStyle(txStyles->otherStyle, true);
//if(type == "")
//{
// if(Theme->spDef.is_init())
// {
// props.FillFromTextListStyle(Theme->spDef->lstStyle, true);
// if(Theme->spDef->style.is_init())
// props.FillFontRef(Theme->spDef->style->fontRef.get());
// }
// else
// props.FillFromTextListStyle(txStyles->otherStyle, true);
// return;
//}
if
((
type
==
_T
(
"title"
))
||
(
type
==
_T
(
"ctrTitle"
)))
{
props
.
FillFromTextListStyle
(
txStyles
->
titleStyle
);
props
.
SetTextType
(
1
);
}
else
if
((
type
==
_T
(
"body"
))
||
(
type
==
_T
(
"subTitle"
))
||
(
type
==
_T
(
"obj"
)))
{
props
.
FillFromTextListStyle
(
txStyles
->
bodyStyle
);
props
.
SetTextType
(
2
);
}
else
if
(
type
!=
_T
(
""
))
{
props
.
FillFromTextListStyle
(
txStyles
->
otherStyle
);
props
.
SetTextType
(
3
);
}
else
{
props
.
FillFromTextListStyle
(
txStyles
->
otherStyle
);
props
.
SetTextType
(
3
);
if
(
theme
.
IsInit
())
theme
->
FillShapeProperties
(
props
,
type
);
}
}
}
void
FillShapeTextProperties
(
Logic
::
CShapeTextProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
((
theme
.
IsInit
())
&&
(
theme
->
presentation
.
IsInit
()))
{
PPTX
::
Presentation
*
pPres
=
const_cast
<
PPTX
::
Presentation
*>
(
theme
->
presentation
.
operator
->
());
pPres
->
SetClrMap
(
clrMap
);
pPres
->
SetClrScheme
(
theme
->
themeElements
.
clrScheme
);
}
if
(
type
==
_T
(
"table-cell"
))
props
.
FillMasterFontSize
(
1800
);
if
((
type
==
_T
(
"title"
))
||
(
type
==
_T
(
"ctrTitle"
)))
{
props
.
FillTextType
(
1
);
}
else
if
((
type
==
_T
(
"body"
))
||
(
type
==
_T
(
"subTitle"
))
||
(
type
==
_T
(
"obj"
)))
{
props
.
FillTextType
(
2
);
}
else
if
(
type
!=
_T
(
""
))
{
props
.
FillTextType
(
3
);
}
else
{
props
.
FillTextType
(
0
);
}
}
void
GetBackground
(
Logic
::
BgPr
&
bg
,
DWORD
&
ARGB
)
const
{
if
(
cSld
.
bg
.
is_init
())
{
if
(
cSld
.
bg
->
bgPr
.
is_init
())
bg
=
cSld
.
bg
->
bgPr
.
get
();
else
if
(
cSld
.
bg
->
bgRef
.
is_init
())
{
ARGB
=
cSld
.
bg
->
bgRef
->
Color
.
GetARGB
();
theme
->
themeElements
.
fmtScheme
.
GetFillStyle
(
cSld
.
bg
->
bgRef
->
idx
.
get_value_or
(
0
),
bg
.
Fill
);
// bg.SetParentFilePointer(this);
}
}
}
virtual
std
::
wstring
GetMediaFullPathNameFromRId
(
const
OOX
::
RId
&
rid
)
const
{
smart_ptr
<
OOX
::
Image
>
p
=
GetImage
(
rid
);
...
...
@@ -321,8 +184,7 @@ namespace PPTX
return
p
->
filename
().
m_strFilename
;
}
//---------------------Colors from map---------------------------------------
//---------------------Colors from map---------------------------------------
DWORD
GetRGBAFromMap
(
const
std
::
wstring
&
str
)
const
{
return
theme
->
GetRGBAFromScheme
(
clrMap
.
GetColorSchemeIndex
(
str
));
...
...
@@ -342,9 +204,7 @@ namespace PPTX
{
return
theme
->
GetABGRFromScheme
(
clrMap
.
GetColorSchemeIndex
(
str
));
}
//---------------------------Colors from scheme------------------------------
//---------------------------Colors from scheme------------------------------
DWORD
GetRGBAFromScheme
(
const
std
::
wstring
&
str
)
const
{
return
theme
->
GetRGBAFromScheme
(
str
);
...
...
@@ -365,7 +225,7 @@ namespace PPTX
return
theme
->
GetABGRFromScheme
(
str
);
}
//void ApplyColors();
virtual
void
toPPTY
(
NSBinPptxRW
::
CBinaryFileWriter
*
pWriter
)
const
{
pWriter
->
StartRecord
(
NSBinPptxRW
::
NSMainTables
::
SlideMasters
);
...
...
@@ -476,7 +336,8 @@ namespace PPTX
pReader
->
Seek
(
end
);
}
public:
Logic
::
CSld
cSld
;
Logic
::
ClrMap
clrMap
;
std
::
vector
<
Logic
::
XmlId
>
sldLayoutIdLst
;
...
...
@@ -490,7 +351,6 @@ namespace PPTX
smart_ptr
<
TableStyles
>
tableStyles
;
smart_ptr
<
OOX
::
CVmlDrawing
>
Vml
;
public:
void
ApplyRels
()
{
theme
=
(
FileContainer
::
Get
(
OOX
::
FileTypes
::
Theme
)).
smart_dynamic_cast
<
PPTX
::
Theme
>
();
...
...
ASCOfficePPTXFile/PPTXFormat/Theme.h
View file @
4eb0a73f
...
...
@@ -40,7 +40,6 @@
#include "Logic/DefaultShapeDefinition.h"
#include "Theme/ExtraClrScheme.h"
#include "Logic/ShapeProperties.h"
#include "Logic/ClrMap.h"
#include "Presentation.h"
...
...
@@ -325,24 +324,6 @@ namespace PPTX
return
GetABGRFromScheme
(
m_map
->
GetColorSchemeIndex
(
str
));
}
virtual
void
FillShapeProperties
(
Logic
::
ShapeProperties
&
props
,
const
std
::
wstring
&
type
)
const
{
if
(
presentation
.
IsInit
())
{
props
.
FillFromTextListStyle
(
presentation
->
defaultTextStyle
);
props
.
SetTextType
(
0
);
}
if
(
type
==
_T
(
"table-cell"
))
props
.
FillMasterFontSize
(
1800
);
//if(spDef.is_init())
//{
// props.FillFromTextListStyle(spDef->lstStyle, true);
// if(spDef->style.is_init())
// props.FillFontRef(spDef->style->fontRef.get());
//}
props
.
SetMajorLatin
(
themeElements
.
fontScheme
.
majorFont
.
latin
);
props
.
SetMinorLatin
(
themeElements
.
fontScheme
.
minorFont
.
latin
);
}
virtual
std
::
wstring
GetMediaFullPathNameFromRId
(
const
OOX
::
RId
&
rid
)
const
{
smart_ptr
<
OOX
::
Image
>
p
=
GetImage
(
rid
);
...
...
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
View file @
4eb0a73f
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType=
"Visual C++"
Version=
"8
,
00"
Version=
"8
.
00"
Name=
"PPTXFormat"
ProjectGUID=
"{36636678-AE25-4BE6-9A34-2561D1BCF302}"
RootNamespace=
"PPTXFormat"
...
...
@@ -2756,124 +2756,10 @@
RelativePath=
"..\.\PPTXFormat\Logic\Shape.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\Logic\ShapeProperties.cpp"
>
<FileConfiguration
Name=
"Debug|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"Debug|x64"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"Release|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
Optimization=
"0"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"Release|x64"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"ReleaseASC|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"ReleaseOpenSource|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
</File>
<File
RelativePath=
"..\.\PPTXFormat\Logic\ShapeProperties.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\Logic\ShapeStyle.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\Logic\ShapeTextProperties.cpp"
>
<FileConfiguration
Name=
"Debug|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"Debug|x64"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"Release|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
Optimization=
"0"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"Release|x64"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"ReleaseASC|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
<FileConfiguration
Name=
"ReleaseOpenSource|Win32"
>
<Tool
Name=
"VCCLCompilerTool"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
</File>
<File
RelativePath=
"..\.\PPTXFormat\Logic\ShapeTextProperties.h"
>
</File>
<File
RelativePath=
"..\.\PPTXFormat\Logic\Sp3d.h"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment