Files
core/ASCHTMLRenderer/CASCImage.h
Sergey.Konovalov 27a51bca41 переход от IASCRenderer к IRenderer из DesktopEditor; отказ от импорта длл ASCImageStudio3 ASCHTMLRenderer; от AscGraphics только FontPicker и FontManager.
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@58742 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-20 23:18:41 +03:00

107 lines
2.6 KiB
C++

#ifndef C_IMAGE_RENDERER
#define C_IMAGE_RENDERER
#ifdef _WIN32
#include <atlbase.h>
#include <atlstr.h>
#else
#include "../Common/DocxFormat/Source/Base/ASCString.h"
#endif
#include "../DesktopEditor/graphics/IRenderer.h"
const long c_lImageTypeUnknown = 0x0000;
const long c_lImageTypeMetafile = 0x1000;
const long c_lImageTypeBitmap = 0x2000;
const long c_lMetaWmf = 0x01;
const long c_lMetaEmf = 0x02;
const long c_lMetaSVG = 0x04;
const long c_ag_ImageTypeBitmap = 0;
const long c_ag_ImageTypeMetafile = 1;
class CFontManager;
class CWmfFile;
struct TWmfRectF;
namespace Aggplus
{
class CImage;
}
namespace NSHtmlRenderer
{
class IASCImage
{
public:
virtual HRESULT get_Type(LONG* lType) = 0;
virtual HRESULT get_Width(LONG* lWidth) = 0;
virtual HRESULT put_Width(LONG lWidth) = 0;
virtual HRESULT get_Height(LONG* lHeight) = 0;
virtual HRESULT put_Height(LONG lHeight) = 0;
virtual HRESULT get_DpiX(double* dDpiX) = 0;
virtual HRESULT put_DpiX(double dDpiX) = 0;
virtual HRESULT get_DpiY(double* dDpiY) = 0;
virtual HRESULT put_DpiY(double dDpiY) = 0;
virtual CFontManager* get_FontManager() = 0;
virtual void put_FontManager(CFontManager* pManager) = 0;
virtual HRESULT LoadFromFile(const std::wstring& bsFilePath) = 0;
virtual HRESULT DrawOnRenderer(IRenderer* pRenderer, double dX, double dY, double dWidth, double dHeight) = 0;
};
// CAVSImage
class CASCImage : public IASCImage
{
private:
CWmfFile* m_pWmfFile;
TWmfRectF* m_pRect;
CString m_wsTempFilePath;
long m_lImageType; // 0 - BMP, 1 - WMF, 2 - EFM
double m_dDpiX;
double m_dDpiY;
Aggplus::CImage* m_pMediaData;
BOOL m_bLoadOnlyMeta; // Çàãðóæàåì òîëüêî ìåòàôàéë
public:
CASCImage();
~CASCImage();
private:
void Open(const std::wstring& bsFilePath);
void Close();
public:
HRESULT get_Type(LONG* lType);
HRESULT get_Width(LONG* lWidth);
HRESULT put_Width(LONG lWidth);
HRESULT get_Height(LONG* lHeight);
HRESULT put_Height(LONG lHeight);
HRESULT get_DpiX(double* dDpiX);
HRESULT put_DpiX(double dDpiX);
HRESULT get_DpiY(double* dDpiY);
HRESULT put_DpiY(double dDpiY);
HRESULT LoadFromFile(const std::wstring& bsFilePath);
HRESULT DrawOnRenderer(IRenderer* pRenderer, double dX, double dY, double dWidth, double dHeight);
HRESULT LoadOnlyMeta(bool bVal);
HRESULT LoadSVG(const std::wstring& sVal);
CFontManager* get_FontManager();
void put_FontManager(CFontManager* oManager);
Aggplus::CImage* get_BitmapImage();
};
}
#endif