Commit 1f0ea9dc authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov

(1.0.0.25) ASC version (full & opensource)

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@52625 954022d7-b5bf-4e40-9824-e11837661b57
parent 12e1cbcd
...@@ -10,15 +10,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCOfficeXPSFile", "ASCOffi ...@@ -10,15 +10,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCOfficeXPSFile", "ASCOffi
EndProjectSection EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XPSLib", "XPSLib\XPSLib.vcproj", "{75098926-FDF3-4728-831A-6C3060A5D530}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XPSLib", "XPSLib\XPSLib.vcproj", "{75098926-FDF3-4728-831A-6C3060A5D530}"
ProjectSection(ProjectDependencies) = postProject
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
EndProjectSection
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "agg2d", "..\..\..\..\AVSImageStudio3\AVSGraphics\agg\agg2d.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}"
ProjectSection(WebsiteProperties) = preProject ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True" Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False" Release.AspNetCompiler.Debug = "False"
...@@ -67,19 +58,6 @@ Global ...@@ -67,19 +58,6 @@ Global
{75098926-FDF3-4728-831A-6C3060A5D530}.ReleaseASC|Mixed Platforms.Build.0 = ReleaseASC|Win32 {75098926-FDF3-4728-831A-6C3060A5D530}.ReleaseASC|Mixed Platforms.Build.0 = ReleaseASC|Win32
{75098926-FDF3-4728-831A-6C3060A5D530}.ReleaseASC|Win32.ActiveCfg = Release|Win32 {75098926-FDF3-4728-831A-6C3060A5D530}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{75098926-FDF3-4728-831A-6C3060A5D530}.ReleaseASC|Win32.Build.0 = Release|Win32 {75098926-FDF3-4728-831A-6C3060A5D530}.ReleaseASC|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Any CPU.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Any CPU.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Mixed Platforms.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Any CPU.ActiveCfg = ReleaseASC|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Mixed Platforms.ActiveCfg = ReleaseASC|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Mixed Platforms.Build.0 = ReleaseASC|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.ReleaseASC|Win32.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
......
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine="..\..\..\..\..\Redist\VersionControl.exe $(ProjectDir)version.h" CommandLine="..\Redist\VersionControl.exe $(ProjectDir)version.h"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
......
...@@ -90,8 +90,8 @@ STDMETHODIMP CXPSFile::DrawPage(int nPage, IUnknown* punkRenderer, BOOL* pBreak) ...@@ -90,8 +90,8 @@ STDMETHODIMP CXPSFile::DrawPage(int nPage, IUnknown* punkRenderer, BOOL* pBreak)
{ {
if(m_pFolder != NULL) if(m_pFolder != NULL)
{ {
AVSGraphics::IAVSRenderer* pRenderer = NULL; ASCGraphics::IASCRenderer* pRenderer = NULL;
punkRenderer->QueryInterface(AVSGraphics::IID_IAVSRenderer, (void**)&pRenderer); punkRenderer->QueryInterface(ASCGraphics::IID_IASCRenderer, (void**)&pRenderer);
if(pRenderer != NULL) if(pRenderer != NULL)
{ {
m_pFolder->DrawPage(nPage, pRenderer, pBreak); m_pFolder->DrawPage(nPage, pRenderer, pBreak);
......
#pragma once #pragma once
#include "resource.h" // main symbols #include "resource.h" // main symbols
#include <string> #include <string>
#include ".\..\Common\OfficeFileTemplate.h" #include "./../Common/OfficeFileTemplate.h"
#include ".\..\Common\OfficeFileErrorDescription.h" #include "./../Common/OfficeFileErrorDescription.h"
#include ".\..\Common\OfficeDefines.h" #include "./../Common/OfficeDefines.h"
//#include "XmlUtils.h"
#include "..\..\..\..\AVSImageStudio3\AVSGraphics\Interfaces\XmlUtils.h" #include "../Common/XmlUtils.h"
#include "..\Common\ASCUtils.h" #include "../Common/ASCUtils.h"
#include "XPS.h" #include "XPS.h"
#include "OfficeUtilsEvents.h" #include "OfficeUtilsEvents.h"
#include "File.h" #include "File.h"
#include "TemporaryCS.h" #include "TemporaryCS.h"
#import "..\Redist\ASCOfficeUtils.dll" raw_interfaces_only rename_namespace("ASCOfficeUtils")
//using namespace AVSOfficeUtils;
//#pragma comment( lib, "XPSLib.lib")
#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA) #if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms." #error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
#endif #endif
...@@ -64,7 +60,7 @@ class ATL_NO_VTABLE CXPSFile: public IXPSFile, public IAVSOfficePages ...@@ -64,7 +60,7 @@ class ATL_NO_VTABLE CXPSFile: public IXPSFile, public IAVSOfficePages
{ {
private: private:
CString m_strTempDirectory; CString m_strTempDirectory;
AVSGraphics::IAVSDocumentRenderer* m_pDocumentRenderer; ASCGraphics::IASCDocumentRenderer* m_pDocumentRenderer;
CRITICAL_SECTION m_oCS; CRITICAL_SECTION m_oCS;
...@@ -82,13 +78,13 @@ public: ...@@ -82,13 +78,13 @@ public:
(*ppRenderer) = NULL; (*ppRenderer) = NULL;
if( NULL == m_pDocumentRenderer ) if( NULL == m_pDocumentRenderer )
return S_OK; return S_OK;
return m_pDocumentRenderer->QueryInterface(__uuidof(AVSGraphics::IAVSDocumentRenderer), (void**)ppRenderer); return m_pDocumentRenderer->QueryInterface(__uuidof(ASCGraphics::IASCDocumentRenderer), (void**)ppRenderer);
} }
STDMETHOD(put_DocumentRenderer)(IUnknown* pRenderer) STDMETHOD(put_DocumentRenderer)(IUnknown* pRenderer)
{ {
RELEASEINTERFACE( m_pDocumentRenderer ); RELEASEINTERFACE( m_pDocumentRenderer );
if( NULL != pRenderer ) if( NULL != pRenderer )
pRenderer->QueryInterface(__uuidof(AVSGraphics::IAVSDocumentRenderer), (void**)&m_pDocumentRenderer); pRenderer->QueryInterface(__uuidof(ASCGraphics::IASCDocumentRenderer), (void**)&m_pDocumentRenderer);
return S_OK; return S_OK;
} }
STDMETHOD(get_TempDirectory)(BSTR* pbsPath) STDMETHOD(get_TempDirectory)(BSTR* pbsPath)
......
...@@ -7,7 +7,7 @@ namespace XPS ...@@ -7,7 +7,7 @@ namespace XPS
: m_CurrentTransform(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) : m_CurrentTransform(1.0, 0.0, 0.0, 1.0, 0.0, 0.0)
{ {
//HRESULT res; //HRESULT res;
/*res = */CoCreateInstance( __uuidof(AVSGraphics::CAVSFontManager), NULL, CLSCTX_INPROC_SERVER, __uuidof(AVSGraphics::IAVSFontManager), (void **)&(m_FontManager)); /*res = */CoCreateInstance( __uuidof(ASCGraphics::CASCFontManager), NULL, CLSCTX_INPROC_SERVER, __uuidof(ASCGraphics::IASCFontManager), (void **)&(m_FontManager));
//assert(res == S_OK); //assert(res == S_OK);
_bstr_t options(L""); _bstr_t options(L"");
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
#ifndef XPS_DRAWPAGEPROPERTIES_INCLUDE_H_ #ifndef XPS_DRAWPAGEPROPERTIES_INCLUDE_H_
#define XPS_DRAWPAGEPROPERTIES_INCLUDE_H_ #define XPS_DRAWPAGEPROPERTIES_INCLUDE_H_
#import "..\..\..\..\..\..\..\Redist\AVSGraphics.dll" named_guids raw_interfaces_only rename_namespace("AVSGraphics") #import "../../../Redist/ASCGraphics.dll" named_guids raw_interfaces_only rename_namespace("ASCGraphics")
#include "..\..\..\..\..\..\AVSImageStudio3\AVSGraphics\agg\AVSWrapper\Matrix.h" #include "../../../ASCImageStudio3/ASCGraphics/agg/ASCWrapper\Matrix.h"
#include <list> #include <list>
namespace XPS namespace XPS
...@@ -11,7 +11,7 @@ namespace XPS ...@@ -11,7 +11,7 @@ namespace XPS
class DrawPageProperties class DrawPageProperties
{ {
public: public:
AVSGraphics::IAVSFontManager* m_FontManager; ASCGraphics::IASCFontManager* m_FontManager;
Aggplus::CMatrix m_CurrentTransform; Aggplus::CMatrix m_CurrentTransform;
std::list<Aggplus::CMatrix> m_TransformStack; std::list<Aggplus::CMatrix> m_TransformStack;
......
...@@ -8,6 +8,7 @@ namespace XPS ...@@ -8,6 +8,7 @@ namespace XPS
, m_lDrawingPages(0) , m_lDrawingPages(0)
{ {
InitializeCriticalSection(&m_oFontCS); InitializeCriticalSection(&m_oFontCS);
m_fontMap = new CAtlMap<CString, bool>();
} }
Folder::~Folder() Folder::~Folder()
...@@ -29,7 +30,7 @@ namespace XPS ...@@ -29,7 +30,7 @@ namespace XPS
m_path = Path; m_path = Path;
m_pages.erase(m_pages.begin(), m_pages.end()); m_pages.erase(m_pages.begin(), m_pages.end());
m_fontMap.reset(new std::set<CString>);//->erase(m_fontMap->begin(), m_fontMap->end()); m_fontMap->RemoveAll();
//XmlUtils::CXmlNodes nodes; //XmlUtils::CXmlNodes nodes;
//XmlUtils::CXmlNode node; //XmlUtils::CXmlNode node;
...@@ -114,7 +115,7 @@ namespace XPS ...@@ -114,7 +115,7 @@ namespace XPS
int Folder::GetPageCount()const int Folder::GetPageCount()const
{ {
return m_pages.size(); return (int)m_pages.size();
} }
void Folder::GetPageSize(int Number, int& w, int& h) void Folder::GetPageSize(int Number, int& w, int& h)
...@@ -129,7 +130,7 @@ namespace XPS ...@@ -129,7 +130,7 @@ namespace XPS
m_lDrawingPages--; m_lDrawingPages--;
} }
void Folder::DrawPage(int Number, AVSGraphics::IAVSRenderer* pRenderer, BOOL* pBreak) void Folder::DrawPage(int Number, ASCGraphics::IASCRenderer* pRenderer, BOOL* pBreak)
{ {
if(m_bIsClosed) if(m_bIsClosed)
return; return;
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "Page.h" #include "Page.h"
#include <map> #include <map>
#include "../../../Common/DocxFormat/Source/Base/SmartPtr.h";
namespace XPS namespace XPS
{ {
...@@ -17,7 +18,7 @@ namespace XPS ...@@ -17,7 +18,7 @@ namespace XPS
XmlUtils::CXmlNodes m_nodes; XmlUtils::CXmlNodes m_nodes;
std::map<int, XPS::Page*> m_pages; std::map<int, XPS::Page*> m_pages;
boost::shared_ptr<std::set<CString> > m_fontMap; NSCommon::smart_ptr<CAtlMap<CString, bool>> m_fontMap;
CRITICAL_SECTION m_oFontCS; CRITICAL_SECTION m_oFontCS;
...@@ -32,7 +33,7 @@ namespace XPS ...@@ -32,7 +33,7 @@ namespace XPS
void ReadFromPath(const CString& Path); void ReadFromPath(const CString& Path);
int GetPageCount()const; int GetPageCount()const;
void GetPageSize(int Number, int& w, int& h); void GetPageSize(int Number, int& w, int& h);
void DrawPage(int Number, AVSGraphics::IAVSRenderer* pRenderer, BOOL* pBreak); void DrawPage(int Number, ASCGraphics::IASCRenderer* pRenderer, BOOL* pBreak);
void Close(); void Close();
}; };
} // namespace XPS } // namespace XPS
......
...@@ -13,7 +13,7 @@ namespace XPS ...@@ -13,7 +13,7 @@ namespace XPS
//#define xpsUnitToMM(x) (x) //#define xpsUnitToMM(x) (x)
#define xpsUnitToMM(x) ((x)*cdk) #define xpsUnitToMM(x) ((x)*cdk)
Page::Page(const CString& File, const CString& Path, boost::shared_ptr<std::set<CString> > fontMap, CRITICAL_SECTION* fontCS) Page::Page(const CString& File, const CString& Path, NSCommon::smart_ptr<CAtlMap<CString, bool>> fontMap, CRITICAL_SECTION* fontCS)
: m_strFilename(File) : m_strFilename(File)
, m_strPath(Path) , m_strPath(Path)
, m_fontMap(fontMap) , m_fontMap(fontMap)
...@@ -98,7 +98,7 @@ namespace XPS ...@@ -98,7 +98,7 @@ namespace XPS
} }
bool Page::VmlToRenderer(CString& str, AVSGraphics::IAVSRenderer* pRenderer) bool Page::VmlToRenderer(CString& str, ASCGraphics::IASCRenderer* pRenderer)
{ {
bool result = false; bool result = false;
double x_cur = 0.0, y_cur = 0.0; double x_cur = 0.0, y_cur = 0.0;
...@@ -108,7 +108,7 @@ namespace XPS ...@@ -108,7 +108,7 @@ namespace XPS
std::vector<CString> dest; std::vector<CString> dest;
PrepareVML(str); PrepareVML(str);
DelimString(str, dest, _T(" ,")); DelimString(str, dest, _T(" ,"));
int elems = dest.size(); int elems = (int)dest.size();
for(int i = 0; i < elems; i++) for(int i = 0; i < elems; i++)
{ {
if(dest[i] == _T("F")) if(dest[i] == _T("F"))
...@@ -837,7 +837,7 @@ namespace XPS ...@@ -837,7 +837,7 @@ namespace XPS
} }
void Page::TransformToRenderer(CString& str, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const void Page::TransformToRenderer(CString& str, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const
{ {
std::vector<CString> dest; std::vector<CString> dest;
DelimString(str, dest, _T(',')); DelimString(str, dest, _T(','));
...@@ -854,7 +854,7 @@ namespace XPS ...@@ -854,7 +854,7 @@ namespace XPS
} }
void Page::ResetTransform(AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const void Page::ResetTransform(ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const
{ {
pProps->m_TransformStack.pop_back(); pProps->m_TransformStack.pop_back();
pProps->m_CurrentTransform = pProps->m_TransformStack.back(); pProps->m_CurrentTransform = pProps->m_TransformStack.back();
...@@ -875,7 +875,7 @@ namespace XPS ...@@ -875,7 +875,7 @@ namespace XPS
} }
void Page::Draw(AVSGraphics::IAVSRenderer* pRenderer, BOOL* pBreak)const void Page::Draw(ASCGraphics::IASCRenderer* pRenderer, BOOL* pBreak)const
{ {
XmlUtils::CXmlNode lNode; XmlUtils::CXmlNode lNode;
...@@ -944,7 +944,7 @@ namespace XPS ...@@ -944,7 +944,7 @@ namespace XPS
} }
void Page::DrawCanvas(XmlUtils::CXmlNode& canvas, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps, BOOL* pBreak)const void Page::DrawCanvas(XmlUtils::CXmlNode& canvas, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps, BOOL* pBreak)const
{ {
bool isClipped = false; bool isClipped = false;
bool isTransformed = false; bool isTransformed = false;
...@@ -1017,7 +1017,7 @@ namespace XPS ...@@ -1017,7 +1017,7 @@ namespace XPS
} }
void Page::DrawGlyph(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const void Page::DrawGlyph(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const
{ {
//CString font = m_Path + node.GetAttribute(_T("FontUri")); //CString font = m_Path + node.GetAttribute(_T("FontUri"));
//font.Replace(_T("\\/"), _T("\\")); //font.Replace(_T("\\/"), _T("\\"));
...@@ -1046,15 +1046,15 @@ namespace XPS ...@@ -1046,15 +1046,15 @@ namespace XPS
EnterCriticalSection(m_pFontCS); EnterCriticalSection(m_pFontCS);
fname.MakeLower(); fname.MakeLower();
if(m_fontMap->find(fname) == m_fontMap->end()) if (NULL != m_fontMap->Lookup(fname))
{ {
if(m_fontMap->insert(fname).second) if (m_fontMap->SetAt(fname, true))
{ {
unsigned char key[16]; unsigned char key[16];
GetFontKey(fname, key); GetFontKey(fname, key);
CFile fontFile; CFile fontFile;
HRESULT res = fontFile.OpenFileRW(font); HRESULT res = fontFile.OpenFileRW(font);
assert(res == S_OK); //assert(res == S_OK);
unsigned char fontData[32]; unsigned char fontData[32];
fontFile.ReadFile(fontData, 32); fontFile.ReadFile(fontData, 32);
for(int i = 0; i < 32; i++) for(int i = 0; i < 32; i++)
...@@ -1174,7 +1174,7 @@ namespace XPS ...@@ -1174,7 +1174,7 @@ namespace XPS
} }
void Page::DrawPath(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const void Page::DrawPath(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const
{ {
CString transform = node.GetAttribute(_T("RenderTransform"), _T("")); CString transform = node.GetAttribute(_T("RenderTransform"), _T(""));
bool isTransformed = false; bool isTransformed = false;
...@@ -1265,7 +1265,7 @@ namespace XPS ...@@ -1265,7 +1265,7 @@ namespace XPS
} }
void Page::CanvasTransform(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const void Page::CanvasTransform(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const
{ {
XmlUtils::CXmlNode transform; XmlUtils::CXmlNode transform;
node.GetNode(_T("MatrixTransform"), transform); node.GetNode(_T("MatrixTransform"), transform);
...@@ -1274,7 +1274,7 @@ namespace XPS ...@@ -1274,7 +1274,7 @@ namespace XPS
} }
void Page::FillToRenderer(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer)const void Page::FillToRenderer(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer)const
{ {
XmlUtils::CXmlNode brush; XmlUtils::CXmlNode brush;
if(node.GetNode(_T("SolidColorBrush"), brush)) if(node.GetNode(_T("SolidColorBrush"), brush))
......
...@@ -2,9 +2,8 @@ ...@@ -2,9 +2,8 @@
#ifndef XPS_PAGE_INCLUDE_H_ #ifndef XPS_PAGE_INCLUDE_H_
#define XPS_PAGE_INCLUDE_H_ #define XPS_PAGE_INCLUDE_H_
#include "..\..\..\..\..\..\AVSImageStudio3\AVSGraphics\Interfaces\XmlUtils.h" #include "../../../Common/XmlUtils.h"
#include <set> #include "../../../Common/DocxFormat/Source/Base/SmartPtr.h";
#include <boost/shared_ptr.hpp>
#include "Utils.h" #include "Utils.h"
#include "DrawPageProperties.h" #include "DrawPageProperties.h"
...@@ -15,27 +14,27 @@ namespace XPS ...@@ -15,27 +14,27 @@ namespace XPS
private: private:
CString m_strFilename; CString m_strFilename;
CString m_strPath; CString m_strPath;
boost::shared_ptr<std::set<CString> > m_fontMap; mutable NSCommon::smart_ptr<CAtlMap<CString, bool>> m_fontMap;
void DrawCanvas(XmlUtils::CXmlNode& canvas, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps, BOOL* pBreak)const; void DrawCanvas(XmlUtils::CXmlNode& canvas, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps, BOOL* pBreak)const;
void DrawGlyph(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const; void DrawGlyph(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const;
void DrawPath(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const; void DrawPath(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const;
void CanvasTransform(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const; void CanvasTransform(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const;
void FillToRenderer(XmlUtils::CXmlNode& node, AVSGraphics::IAVSRenderer* pRenderer)const; void FillToRenderer(XmlUtils::CXmlNode& node, ASCGraphics::IASCRenderer* pRenderer)const;
static bool VmlToRenderer(CString& str, AVSGraphics::IAVSRenderer* pRenderer); static bool VmlToRenderer(CString& str, ASCGraphics::IASCRenderer* pRenderer);
static void GetDataFromNode(CString& str, XmlUtils::CXmlNode& node); static void GetDataFromNode(CString& str, XmlUtils::CXmlNode& node);
void TransformToRenderer(CString& str, AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const; void TransformToRenderer(CString& str, ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const;
void ResetTransform(AVSGraphics::IAVSRenderer* pRenderer, DrawPageProperties* pProps)const; void ResetTransform(ASCGraphics::IASCRenderer* pRenderer, DrawPageProperties* pProps)const;
CRITICAL_SECTION* m_pFontCS; CRITICAL_SECTION* m_pFontCS;
public: public:
Page(const CString& File, const CString& Path, boost::shared_ptr<std::set<CString> > fontMap, CRITICAL_SECTION* fontCS); Page(const CString& File, const CString& Path, NSCommon::smart_ptr<CAtlMap<CString, bool>> fontMap, CRITICAL_SECTION* fontCS);
~Page(); ~Page();
void GetSize(int& w, int& h)const; void GetSize(int& w, int& h)const;
void Draw(AVSGraphics::IAVSRenderer* pRenderer, BOOL* pBreak)const; void Draw(ASCGraphics::IASCRenderer* pRenderer, BOOL* pBreak)const;
}; };
} // namespace XPS } // namespace XPS
......
...@@ -89,6 +89,7 @@ ...@@ -89,6 +89,7 @@
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
CommandLine=""
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
...@@ -139,6 +140,7 @@ ...@@ -139,6 +140,7 @@
/> />
<Tool <Tool
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
CommandLine=""
/> />
</Configuration> </Configuration>
</Configurations> </Configurations>
......
...@@ -43,4 +43,4 @@ ...@@ -43,4 +43,4 @@
using namespace ATL; using namespace ATL;
//#import "..\..\..\Redist\AVSGraphics.dll" named_guids raw_interfaces_only rename_namespace("AVSGraphics") #import "../Redist/ASCOfficeUtils.dll" named_guids raw_interfaces_only rename_namespace("ASCOfficeUtils")
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
//1 //1
//0 //0
//0 //0
//23 //25
#define INTVER 1,0,0,23 #define INTVER 1,0,0,25
#define STRVER "1,0,0,23\0" #define STRVER "1,0,0,25\0"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment