mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@63459 954022d7-b5bf-4e40-9824-e11837661b57
59 lines
2.1 KiB
C++
59 lines
2.1 KiB
C++
#ifndef _XPS_XPSLIB_PAGE_H
|
|
#define _XPS_XPSLIB_PAGE_H
|
|
|
|
#include "../../DesktopEditor/graphics/IRenderer.h"
|
|
#include "../../Common/DocxFormat/Source/XML/xmlutils.h"
|
|
#include "../../DesktopEditor/fontengine/FontManager.h"
|
|
|
|
#include "FontList.h"
|
|
#include "Utils.h"
|
|
#include "ContextState.h"
|
|
|
|
namespace XPS
|
|
{
|
|
class CDocument;
|
|
class CStaticResource;
|
|
|
|
class Page
|
|
{
|
|
public:
|
|
Page(const std::wstring& wsFile, const std::wstring& Path, CFontList* pFontList, CFontManager* pFontManager, CDocument* pDocument);
|
|
~Page();
|
|
|
|
void GetSize(int& nW, int& nH) const;
|
|
void Draw(IRenderer* pRenderer, bool* pbBreak);
|
|
|
|
private:
|
|
|
|
void DrawCanvas (XmlUtils::CXmlLiteReader& oReader, IRenderer* pRenderer, CContextState* pState, bool* pbBreak);
|
|
void ReadPageResources(XmlUtils::CXmlLiteReader& oReader, IRenderer* pRenderer, CContextState* pState);
|
|
void DrawGlyph (XmlUtils::CXmlLiteReader& oReader, IRenderer* pRenderer, CContextState* pState);
|
|
bool ReadTransform (XmlUtils::CXmlLiteReader& oReader, IRenderer* pRenderer, CContextState* pState);
|
|
void DrawPath (XmlUtils::CXmlLiteReader& oReader, IRenderer* pRenderer, CContextState* pState);
|
|
bool FillToRenderer (XmlUtils::CXmlLiteReader& oReader, IRenderer* pRenderer);
|
|
void ReadPathData (XmlUtils::CXmlLiteReader& oReader, std::wstring& wsData);
|
|
void ReadPathGeometry (XmlUtils::CXmlLiteReader& oReader, std::wstring& wsData);
|
|
void ReadPathFigure (XmlUtils::CXmlLiteReader& oReader, std::wstring& wsData);
|
|
|
|
bool ClipToRenderer (const wchar_t* wsString, CContextState* pState);
|
|
bool TransformToRenderer(const wchar_t* wsString, CContextState* pState);
|
|
|
|
CWString ReadMatrixTransform(XmlUtils::CXmlLiteReader& oReader);
|
|
CWString ReadClip (XmlUtils::CXmlLiteReader& oReader);
|
|
|
|
|
|
private:
|
|
|
|
std::wstring m_wsPagePath;
|
|
std::wstring m_wsRootPath;
|
|
CFontList* m_pFontList;
|
|
CFontManager* m_pFontManager;
|
|
CDocument* m_pDocument;
|
|
CStaticResource* m_pStaticResource;
|
|
bool m_bDeleteStaticResource;
|
|
|
|
int m_nCounter;
|
|
};
|
|
}
|
|
|
|
#endif // _XPS_XPSLIB_PAGE_H
|