mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
36 lines
972 B
C++
36 lines
972 B
C++
#pragma once
|
|
|
|
#include <map>
|
|
|
|
#include "../../../../DesktopEditor/common/CalculatorCRC32.h"
|
|
|
|
#include "ExternalImageStorage.h"
|
|
|
|
namespace NSDocxRenderer
|
|
{
|
|
class CImageManager
|
|
{
|
|
public:
|
|
std::map<DWORD, std::shared_ptr<CImageInfo>> m_mapImageData;
|
|
std::wstring m_strDstMedia {L""};
|
|
IImageStorage* m_pExternalStorage = nullptr;
|
|
|
|
CImageManager() = default;
|
|
~CImageManager() = default;
|
|
void Clear();
|
|
|
|
std::shared_ptr<CImageInfo> WriteImage(Aggplus::CImage* pImage, double& x, double& y, double& width, double& height);
|
|
std::shared_ptr<CImageInfo> WriteImage(const std::wstring& strFile);
|
|
std::shared_ptr<CImageInfo> GenerateImageID(Aggplus::CImage* pImage);
|
|
|
|
static CImageInfo::ImageType GetImageType(Aggplus::CImage* pFrame);
|
|
static void FlipY(Aggplus::CImage* pImage);
|
|
|
|
private:
|
|
std::shared_ptr<CImageInfo> GenerateImageID(const std::wstring& strFileName);
|
|
int m_lMaxSizeImage {1200};
|
|
int m_lNextIDImage {0};
|
|
CCalculatorCRC32 m_oCRC;
|
|
};
|
|
}
|