mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-11 11:55:36 +08:00
Added a draft version of combining structures
This commit is contained in:
@ -71,6 +71,12 @@ INCLUDEPATH += \
|
||||
|
||||
HEADERS += \
|
||||
../../raster/Metafile/CXmlOutput.h \
|
||||
../../raster/Metafile/Emf/EmfInterpretator/CEmfInterpretarorRender.h \
|
||||
../../raster/Metafile/Emf/EmfInterpretator/CEmfInterpretarorXml.h \
|
||||
../../raster/Metafile/Emf/EmfParser/CEmfParser.h \
|
||||
../../raster/Metafile/Emf/EmfParser/CEmfParserBase.h \
|
||||
../../raster/Metafile/Emf/EmfParser/CEmfxParser.h \
|
||||
../../raster/Metafile/Emf/EmfInterpretator/CEmfInterpretarorBase.h \
|
||||
./../config.h \
|
||||
\
|
||||
./../Matrix.h \
|
||||
@ -112,6 +118,10 @@ HEADERS += \
|
||||
|
||||
SOURCES += \
|
||||
../../raster/Metafile/CXmlOutput.cpp \
|
||||
../../raster/Metafile/Emf/EmfInterpretator/CEmfInterpretarorRender.cpp \
|
||||
../../raster/Metafile/Emf/EmfInterpretator/CEmfInterpretarorXml.cpp \
|
||||
../../raster/Metafile/Emf/EmfParser/CEmfParser.cpp \
|
||||
../../raster/Metafile/Emf/EmfParser/CEmfxParser.cpp \
|
||||
./../Matrix.cpp \
|
||||
./../GraphicsPath.cpp \
|
||||
./../../raster/BgraFrame.cpp \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,9 @@
|
||||
#define _METAFILE_EMF_EMFFILE_H
|
||||
|
||||
#include "../Common/MetaFile.h"
|
||||
#include "EmfParser/CEmfParser.h"
|
||||
#include "EmfParser/CEmfxParser.h"
|
||||
#include "EmfInterpretator/CEmfInterpretarorXml.h"
|
||||
#include "../CXmlOutput.h"
|
||||
|
||||
#include "EmfTypes.h"
|
||||
@ -53,8 +56,9 @@ namespace MetaFile
|
||||
{
|
||||
m_pPath = NULL;
|
||||
m_pDC = m_oPlayer.GetDC();
|
||||
|
||||
m_pOutputXml = NULL;
|
||||
m_pParser = new CEmfParser;
|
||||
m_pInterpretator = new CEmfInterpretarorXml();
|
||||
}
|
||||
|
||||
~CEmfFile()
|
||||
@ -62,6 +66,8 @@ namespace MetaFile
|
||||
ClearFile();
|
||||
if (NULL != m_pOutputXml)
|
||||
delete m_pOutputXml;
|
||||
if (NULL != m_pInterpretator)
|
||||
delete m_pInterpretator;
|
||||
}
|
||||
|
||||
void CreateOutputXml(TypeXmlOutput oTypeXmlOutput)
|
||||
@ -346,7 +352,9 @@ namespace MetaFile
|
||||
friend class CEmfPlayer;
|
||||
friend class CEmfClip;
|
||||
|
||||
CEmfInterpretarorXml* m_pInterpretator;
|
||||
CXmlOutput *m_pOutputXml;
|
||||
CEmfParserBase *m_pParser;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
#ifndef CEMFINTERPRETARORBASE_H
|
||||
#define CEMFINTERPRETARORBASE_H
|
||||
|
||||
#include "../EmfTypes.h"
|
||||
#include "../EmfObjects.h"
|
||||
#include "../../Common/IOutputDevice.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
class CEmfInterpretarorBase : public IOutputDevice
|
||||
{
|
||||
public:
|
||||
virtual void SaveValue (TEmfAlphaBlend&) = 0;
|
||||
virtual void SaveValue (TEmfStretchDIBITS&) = 0;
|
||||
virtual void SaveValue (TEmfBitBlt&) = 0;
|
||||
virtual void SaveValue (TEmfSetDiBitsToDevice&) = 0;
|
||||
virtual void SaveValue (TEmfStretchBLT&) = 0;
|
||||
virtual void SaveValue (TXForm&) = 0;
|
||||
virtual void SaveValue (CEmfLogBrushEx&) = 0;
|
||||
virtual void SaveValue (TEmfColor&) = 0;
|
||||
virtual void SaveValue (CEmfLogFont&) = 0;
|
||||
virtual void SaveValue (TEmfPointL&) = 0;
|
||||
virtual void SaveValue (TEmfPointS&) = 0;
|
||||
virtual void SaveValue (TEmfRectL&) = 0;
|
||||
virtual void SaveValue (TEmfSizeL&) = 0;
|
||||
virtual void SaveValue (TEmfDibPatternBrush&) = 0;
|
||||
virtual void SaveValue (CEmfLogPalette&) = 0;
|
||||
virtual void SaveValue (TEmfExtTextoutA&) = 0;
|
||||
virtual void SaveValue (TEmfExtTextoutW&) = 0;
|
||||
virtual void SaveValue (TEmfPolyTextoutA&) = 0;
|
||||
virtual void SaveValue (TEmfPolyTextoutW&) = 0;
|
||||
virtual void SaveValue (TEmfSmallTextout&) = 0;
|
||||
|
||||
virtual void SaveValue (unsigned short&) = 0;
|
||||
virtual void SaveValue (unsigned char&) = 0;
|
||||
virtual void SaveValue (unsigned int&) = 0;
|
||||
virtual void SaveValue (double&) = 0;
|
||||
virtual void SaveValue (int&) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // CEMFINTERPRETARORBASE_H
|
||||
@ -0,0 +1,7 @@
|
||||
#include "CEmfInterpretarorRender.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
CEmfInterpretarorRender::CEmfInterpretarorRender()
|
||||
{}
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
#ifndef CEMFINTERPRETARORRENDER_H
|
||||
#define CEMFINTERPRETARORRENDER_H
|
||||
|
||||
#include "CEmfInterpretarorBase.h"
|
||||
#include "../../Common/MetaFileRenderer.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
class CEmfInterpretarorRender : public CEmfInterpretarorBase
|
||||
{
|
||||
public:
|
||||
CEmfInterpretarorRender();
|
||||
};
|
||||
}
|
||||
|
||||
#endif // CEMFINTERPRETARORRENDER_H
|
||||
@ -0,0 +1,47 @@
|
||||
#include "CEmfInterpretarorXml.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
CEmfInterpretarorXml::CEmfInterpretarorXml() :
|
||||
m_pOutputXml(new CXmlOutput(TypeXmlOutput::IsWriter))
|
||||
{
|
||||
m_pOutputXml->WriteString(L"<?xml version=\"1.0\"?>\n");
|
||||
m_pOutputXml->WriteNodeBegin(L"EMF");
|
||||
}
|
||||
|
||||
CEmfInterpretarorXml::~CEmfInterpretarorXml()
|
||||
{
|
||||
if (NULL != m_pOutputXml)
|
||||
{
|
||||
m_pOutputXml->WriteNodeEnd(L"EMF");
|
||||
m_pOutputXml->SaveToFile(NSFile::GetProcessDirectory() + L"/test.xml");
|
||||
delete m_pOutputXml;
|
||||
}
|
||||
}
|
||||
|
||||
void CEmfInterpretarorXml::Save_EMR_HEADER(const TEmfHeader &oTEmfHeader, const unsigned int &unValue, CDataStream &oDataStream)
|
||||
{
|
||||
m_pOutputXml->WriteNodeBegin(L"EMR_HEADER", {XmlArgument(L"Id", EMR_HEADER),
|
||||
XmlArgument(L"Size", unValue + 8)});
|
||||
|
||||
m_pOutputXml->WriteNode(L"Bounds", oTEmfHeader.oBounds);
|
||||
m_pOutputXml->WriteNode(L"Frame", oTEmfHeader.oFrame);
|
||||
m_pOutputXml->WriteNode(L"Signature", oTEmfHeader.ulSignature);
|
||||
m_pOutputXml->WriteNode(L"Version", oTEmfHeader.ulVersion);
|
||||
m_pOutputXml->WriteNode(L"Size", oTEmfHeader.ulSize);
|
||||
m_pOutputXml->WriteNode(L"Records", oTEmfHeader.ulRecords);
|
||||
m_pOutputXml->WriteNode(L"CountObjects", oTEmfHeader.ushObjects);
|
||||
m_pOutputXml->WriteNode(L"Reserved", oTEmfHeader.ushReserved);
|
||||
m_pOutputXml->WriteNode(L"SizeDescription", oTEmfHeader.ulSizeDescription);
|
||||
m_pOutputXml->WriteNode(L"OffsetDescription", oTEmfHeader.ulOffsetDescription);
|
||||
m_pOutputXml->WriteNode(L"PalletEntries", oTEmfHeader.ulPalEntries);
|
||||
m_pOutputXml->WriteNode(L"Device", oTEmfHeader.oDevice);
|
||||
m_pOutputXml->WriteNode(L"Millimeters", oTEmfHeader.oMillimeters);
|
||||
|
||||
unsigned int unSize = unValue - 80;
|
||||
if (unSize > 0)
|
||||
m_pOutputXml->WriteNode(L"Buffer", oDataStream, unSize);
|
||||
|
||||
m_pOutputXml->WriteNodeEnd(L"EMR_HEADER");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
#ifndef CEMFINTERPRETARORXML_H
|
||||
#define CEMFINTERPRETARORXML_H
|
||||
|
||||
//#include "CEmfInterpretarorBase.h"
|
||||
#include "../../Common/IOutputDevice.h"
|
||||
#include "../../CXmlOutput.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
class CEmfInterpretarorXml /*: public IOutputDevice*/
|
||||
{
|
||||
public:
|
||||
CEmfInterpretarorXml();
|
||||
virtual ~CEmfInterpretarorXml();
|
||||
|
||||
void Save_EMR_HEADER(const TEmfHeader& oTEmfHeader, const unsigned int &unValue, CDataStream &oDataStream);
|
||||
|
||||
private:
|
||||
CXmlOutput *m_pOutputXml;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // CEMFINTERPRETARORXML_H
|
||||
175
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfParser.cpp
Normal file
175
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfParser.cpp
Normal file
@ -0,0 +1,175 @@
|
||||
#include "CEmfParser.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
CEmfParser::CEmfParser()
|
||||
{
|
||||
m_pStream = new CDataStream;
|
||||
}
|
||||
|
||||
bool CEmfParser::IsValid() const
|
||||
{
|
||||
return m_pStream->IsValid();
|
||||
}
|
||||
|
||||
bool CEmfParser::IsEof() const
|
||||
{
|
||||
return m_pStream->IsEof();
|
||||
}
|
||||
|
||||
unsigned int CEmfParser::CanRead()
|
||||
{
|
||||
return m_pStream->CanRead();
|
||||
}
|
||||
|
||||
void CEmfParser::Skip(unsigned int unSkip)
|
||||
{
|
||||
m_pStream->Skip(unSkip);
|
||||
}
|
||||
|
||||
unsigned int CEmfParser::Tell()
|
||||
{
|
||||
return m_pStream->Tell();
|
||||
}
|
||||
|
||||
void CEmfParser::SeekToStart()
|
||||
{
|
||||
m_pStream->SeekToStart();
|
||||
}
|
||||
|
||||
void CEmfParser::SetStream(CDataStream &pDataStream)
|
||||
{
|
||||
m_pStream = &pDataStream;
|
||||
}
|
||||
|
||||
CDataStream *CEmfParser::GetDataStream() const
|
||||
{
|
||||
return m_pStream;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfAlphaBlend &oTEmfAlphaBlend)
|
||||
{
|
||||
*m_pStream >> oTEmfAlphaBlend;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfStretchDIBITS &oTEmfStretchDIBITS)
|
||||
{
|
||||
*m_pStream >> oTEmfStretchDIBITS;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfBitBlt &oTEmfBitBlt)
|
||||
{
|
||||
*m_pStream >> oTEmfBitBlt;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfSetDiBitsToDevice &oTEmfSetDiBitsToDevice)
|
||||
{
|
||||
*m_pStream >> oTEmfSetDiBitsToDevice;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfStretchBLT &oTEmfStretchBLT)
|
||||
{
|
||||
*m_pStream >> oTEmfStretchBLT;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TXForm &oTXForm)
|
||||
{
|
||||
*m_pStream >> oTXForm;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(CEmfLogBrushEx &oCEmfLogBrushEx)
|
||||
{
|
||||
*m_pStream >> oCEmfLogBrushEx;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfColor &oTEmfColor)
|
||||
{
|
||||
*m_pStream >> oTEmfColor;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(CEmfLogFont &oCEmfLogFont)
|
||||
{
|
||||
*m_pStream >> oCEmfLogFont;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfPointL &oTEmfPointL)
|
||||
{
|
||||
*m_pStream >> oTEmfPointL;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfPointS &oTEmfPointS)
|
||||
{
|
||||
*m_pStream >> oTEmfPointS;
|
||||
}
|
||||
|
||||
|
||||
void CEmfParser::ReadValue(TEmfRectL &oTEmfRectL)
|
||||
{
|
||||
*m_pStream >> oTEmfRectL;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfSizeL &oTEmfSizeL)
|
||||
{
|
||||
*m_pStream >> oTEmfSizeL;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfDibPatternBrush &oTEmfDibPatternBrush)
|
||||
{
|
||||
*m_pStream >> oTEmfDibPatternBrush;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(CEmfLogPalette &oCEmfLogPalette)
|
||||
{
|
||||
*m_pStream >> oCEmfLogPalette;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfExtTextoutA &oTEmfExtTextoutA)
|
||||
{
|
||||
*m_pStream >> oTEmfExtTextoutA;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfExtTextoutW &oTEmfExtTextoutW)
|
||||
{
|
||||
*m_pStream >> oTEmfExtTextoutW;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfPolyTextoutA &oTEmfPolyTextoutA)
|
||||
{
|
||||
*m_pStream >> oTEmfPolyTextoutA;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfPolyTextoutW &oTEmfPolyTextoutW)
|
||||
{
|
||||
*m_pStream >> oTEmfPolyTextoutW;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(TEmfSmallTextout &oTEmfSmallTextout)
|
||||
{
|
||||
*m_pStream >> oTEmfSmallTextout;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(unsigned short &ushValue)
|
||||
{
|
||||
*m_pStream >> ushValue;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(unsigned char &ucValue)
|
||||
{
|
||||
*m_pStream >> ucValue;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(unsigned int &unValue)
|
||||
{
|
||||
*m_pStream >> unValue;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(double &dValue)
|
||||
{
|
||||
*m_pStream >> dValue;
|
||||
}
|
||||
|
||||
void CEmfParser::ReadValue(int &nValue)
|
||||
{
|
||||
*m_pStream >> nValue;
|
||||
}
|
||||
}
|
||||
54
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfParser.h
Normal file
54
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfParser.h
Normal file
@ -0,0 +1,54 @@
|
||||
#ifndef CEMFPARSER_H
|
||||
#define CEMFPARSER_H
|
||||
|
||||
#include "CEmfParserBase.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
class CEmfParser : public CEmfParserBase
|
||||
{
|
||||
public:
|
||||
CEmfParser();
|
||||
|
||||
bool IsValid() const override;
|
||||
bool IsEof() const override;
|
||||
unsigned int CanRead() override;
|
||||
void Skip(unsigned int unSkip) override;
|
||||
unsigned int Tell() override;
|
||||
void SeekToStart() override;
|
||||
void SetStream (CDataStream& pDataStream) override;
|
||||
CDataStream* GetDataStream() const override;
|
||||
|
||||
void ReadValue (TEmfAlphaBlend& oTEmfAlphaBlend) override;
|
||||
void ReadValue (TEmfStretchDIBITS& oTEmfStretchDIBITS) override;
|
||||
void ReadValue (TEmfBitBlt& oTEmfBitBlt) override;
|
||||
void ReadValue (TEmfSetDiBitsToDevice& oTEmfSetDiBitsToDevice) override;
|
||||
void ReadValue (TEmfStretchBLT& oTEmfStretchBLT) override;
|
||||
void ReadValue (TXForm& oTXForm) override;
|
||||
void ReadValue (CEmfLogBrushEx& oCEmfLogBrushEx) override;
|
||||
void ReadValue (TEmfColor& oTEmfColor) override;
|
||||
void ReadValue (CEmfLogFont& oCEmfLogFont) override;
|
||||
void ReadValue (TEmfPointL& oTEmfPointL) override;
|
||||
void ReadValue (TEmfPointS& oTEmfPointS) override;
|
||||
void ReadValue (TEmfRectL& oTEmfRectL) override;
|
||||
void ReadValue (TEmfSizeL& oTEmfSizeL) override;
|
||||
void ReadValue (TEmfDibPatternBrush& oTEmfDibPatternBrush) override;
|
||||
void ReadValue (CEmfLogPalette& oCEmfLogPalette) override;
|
||||
void ReadValue (TEmfExtTextoutA& oTEmfExtTextoutA) override;
|
||||
void ReadValue (TEmfExtTextoutW& oTEmfExtTextoutW) override;
|
||||
void ReadValue (TEmfPolyTextoutA& oTEmfPolyTextoutA) override;
|
||||
void ReadValue (TEmfPolyTextoutW& oTEmfPolyTextoutW) override;
|
||||
void ReadValue (TEmfSmallTextout& oTEmfSmallTextout) override;
|
||||
|
||||
void ReadValue (unsigned short& ushValue) override;
|
||||
void ReadValue (unsigned char& ucValue) override;
|
||||
void ReadValue (unsigned int& unValue) override;
|
||||
void ReadValue (double& dValue) override;
|
||||
void ReadValue (int& nValue) override;
|
||||
|
||||
private:
|
||||
CDataStream *m_pStream;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // CEMFPARSER_H
|
||||
50
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfParserBase.h
Normal file
50
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfParserBase.h
Normal file
@ -0,0 +1,50 @@
|
||||
#ifndef CEMFPARSERBASE_H
|
||||
#define CEMFPARSERBASE_H
|
||||
|
||||
#include "../EmfTypes.h"
|
||||
#include "../EmfObjects.h"
|
||||
#include "../../Common/MetaFileUtils.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
class CEmfParserBase
|
||||
{
|
||||
public:
|
||||
virtual bool IsValid() const = 0;
|
||||
virtual bool IsEof() const = 0;
|
||||
virtual unsigned int CanRead() = 0;
|
||||
virtual void Skip(unsigned int) = 0;
|
||||
virtual unsigned int Tell() = 0;
|
||||
virtual void SeekToStart() = 0;
|
||||
virtual void SetStream (CDataStream&) = 0;
|
||||
virtual CDataStream* GetDataStream() const = 0;
|
||||
|
||||
virtual void ReadValue (TEmfAlphaBlend&) = 0;
|
||||
virtual void ReadValue (TEmfStretchDIBITS&) = 0;
|
||||
virtual void ReadValue (TEmfBitBlt&) = 0;
|
||||
virtual void ReadValue (TEmfSetDiBitsToDevice&) = 0;
|
||||
virtual void ReadValue (TEmfStretchBLT&) = 0;
|
||||
virtual void ReadValue (TXForm&) = 0;
|
||||
virtual void ReadValue (CEmfLogBrushEx&) = 0;
|
||||
virtual void ReadValue (TEmfColor&) = 0;
|
||||
virtual void ReadValue (CEmfLogFont&) = 0;
|
||||
virtual void ReadValue (TEmfPointL&) = 0;
|
||||
virtual void ReadValue (TEmfPointS&) = 0;
|
||||
virtual void ReadValue (TEmfRectL&) = 0;
|
||||
virtual void ReadValue (TEmfSizeL&) = 0;
|
||||
virtual void ReadValue (TEmfDibPatternBrush&) = 0;
|
||||
virtual void ReadValue (CEmfLogPalette&) = 0;
|
||||
virtual void ReadValue (TEmfExtTextoutA&) = 0;
|
||||
virtual void ReadValue (TEmfExtTextoutW&) = 0;
|
||||
virtual void ReadValue (TEmfPolyTextoutA&) = 0;
|
||||
virtual void ReadValue (TEmfPolyTextoutW&) = 0;
|
||||
virtual void ReadValue (TEmfSmallTextout&) = 0;
|
||||
|
||||
virtual void ReadValue (unsigned short&) = 0;
|
||||
virtual void ReadValue (unsigned char&) = 0;
|
||||
virtual void ReadValue (unsigned int&) = 0;
|
||||
virtual void ReadValue (double&) = 0;
|
||||
virtual void ReadValue (int&) = 0;
|
||||
};
|
||||
}
|
||||
#endif // CEMFPARSERBASE_H
|
||||
@ -0,0 +1,5 @@
|
||||
#include "CEmfxParser.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
}
|
||||
51
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfxParser.h
Normal file
51
DesktopEditor/raster/Metafile/Emf/EmfParser/CEmfxParser.h
Normal file
@ -0,0 +1,51 @@
|
||||
#ifndef CEMFXPARSER_H
|
||||
#define CEMFXPARSER_H
|
||||
|
||||
#include "CEmfParserBase.h"
|
||||
#include "../../CXmlOutput.h"
|
||||
|
||||
namespace MetaFile
|
||||
{
|
||||
class CEmfxParser : public CEmfParserBase
|
||||
{
|
||||
public:
|
||||
virtual bool IsValid() const = 0;
|
||||
virtual bool IsEof() const = 0;
|
||||
virtual unsigned int CanRead() = 0;
|
||||
virtual void Skip(unsigned int) = 0;
|
||||
virtual unsigned int Tell() = 0;
|
||||
virtual void SeekToStart() = 0;
|
||||
virtual void SetStream (CDataStream&) = 0;
|
||||
|
||||
virtual void ReadValue (TEmfAlphaBlend&) = 0;
|
||||
virtual void ReadValue (TEmfStretchDIBITS&) = 0;
|
||||
virtual void ReadValue (TEmfBitBlt&) = 0;
|
||||
virtual void ReadValue (TEmfSetDiBitsToDevice&) = 0;
|
||||
virtual void ReadValue (TEmfStretchBLT&) = 0;
|
||||
virtual void ReadValue (TXForm&) = 0;
|
||||
virtual void ReadValue (CEmfLogBrushEx&) = 0;
|
||||
virtual void ReadValue (TEmfColor&) = 0;
|
||||
virtual void ReadValue (CEmfLogFont&) = 0;
|
||||
virtual void ReadValue (TEmfPointL&) = 0;
|
||||
virtual void ReadValue (TEmfPointS&) = 0;
|
||||
virtual void ReadValue (TEmfRectL&) = 0;
|
||||
virtual void ReadValue (TEmfSizeL&) = 0;
|
||||
virtual void ReadValue (TEmfDibPatternBrush&) = 0;
|
||||
virtual void ReadValue (CEmfLogPalette&) = 0;
|
||||
virtual void ReadValue (TEmfExtTextoutA&) = 0;
|
||||
virtual void ReadValue (TEmfExtTextoutW&) = 0;
|
||||
virtual void ReadValue (TEmfPolyTextoutA&) = 0;
|
||||
virtual void ReadValue (TEmfPolyTextoutW&) = 0;
|
||||
virtual void ReadValue (TEmfSmallTextout&) = 0;
|
||||
|
||||
virtual void ReadValue (unsigned short&) = 0;
|
||||
virtual void ReadValue (unsigned char&) = 0;
|
||||
virtual void ReadValue (unsigned int&) = 0;
|
||||
virtual void ReadValue (double&) = 0;
|
||||
virtual void ReadValue (int&) = 0;
|
||||
|
||||
private:
|
||||
};
|
||||
}
|
||||
|
||||
#endif // CEMFXPARSER_H
|
||||
Reference in New Issue
Block a user