mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
96 lines
2.2 KiB
C++
96 lines
2.2 KiB
C++
#include "../../DesktopEditor/graphics/IRenderer.h"
|
|
|
|
#include "SVGTransformer.h"
|
|
|
|
//HRESULT SVGTransformer::LoadFile (BSTR bstrFile)
|
|
//{
|
|
// m_oStorage.Clear();
|
|
//
|
|
// m_oXmlParser.SetWorkingDirectory(FileUtils::FilePath(CString(bstrFile)));
|
|
// m_oRender.SetWorkingDirectory(FileUtils::FilePath(CString(bstrFile)));
|
|
// m_oStorage.SetWorkingDirectory(FileUtils::FilePath(CString(bstrFile)));
|
|
//
|
|
// if (0 == m_oXmlParser.LoadFromFile (CString(bstrFile), &m_oStorage))
|
|
// return AVS_ERROR_FILEFORMAT;
|
|
//
|
|
// return S_OK;
|
|
//}
|
|
|
|
HRESULT SVGTransformer::Load (CString strXml)
|
|
{
|
|
m_oStorage.Clear();
|
|
|
|
if (0 == m_oXmlParser.LoadFromString (strXml, &m_oStorage))
|
|
return S_FALSE;
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
HRESULT SVGTransformer::Draw (void* pUnk, double dX, double dY, double dWidth, double dHeight)
|
|
{
|
|
if (NULL == pUnk)
|
|
return S_FALSE;
|
|
|
|
IRenderer* render = (IRenderer*)pUnk;
|
|
//pUnk->QueryInterface (&render);
|
|
//pUnk->Release();
|
|
|
|
if (NULL == render)
|
|
return S_FALSE;
|
|
|
|
m_oRender.SetCSS(m_oXmlParser.GetCSS());
|
|
m_oRender.Draw(&m_oStorage, render, m_oXmlParser.GetUnitSystem());
|
|
return S_OK;
|
|
}
|
|
|
|
HRESULT SVGTransformer::get_Width (LONG* pWidth)
|
|
{
|
|
*pWidth = m_oXmlParser.GetWidth();
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
HRESULT SVGTransformer::get_Height (LONG* pHeight)
|
|
{
|
|
*pHeight = m_oXmlParser.GetHeight();
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
HRESULT SVGTransformer::get_Metrics (LONG* pMetrics)
|
|
{
|
|
*pMetrics = m_oXmlParser.GetMetics();
|
|
|
|
return S_OK;
|
|
}
|
|
//
|
|
//HRESULT SVGTransformer::SetAdditionalParam (BSTR ParamName, VARIANT ParamValue)
|
|
//{
|
|
// if (CString(L"DefaultWidth") == CComBSTR (ParamName))
|
|
// {
|
|
// m_oXmlParser.SetDefaultWidth(ParamValue.lVal);
|
|
// return S_OK;
|
|
// }
|
|
//
|
|
// if (CString(L"DefaultHeight") == CComBSTR (ParamName))
|
|
// {
|
|
// m_oXmlParser.SetDefaultHeight(ParamValue.lVal);
|
|
// return S_OK;
|
|
// }
|
|
//
|
|
// if (CString (L"WorkingDirectory") == ParamName)
|
|
// {
|
|
// m_oXmlParser.SetWorkingDirectory((CString)ParamValue.bstrVal);
|
|
// m_oRender.SetWorkingDirectory((CString)ParamValue.bstrVal);
|
|
// m_oStorage.SetWorkingDirectory((CString)ParamValue.bstrVal);
|
|
//
|
|
// return S_OK;
|
|
// }
|
|
//
|
|
// return S_OK;
|
|
//}
|
|
//
|
|
//HRESULT SVGTransformer::GetAdditionalParam (BSTR ParamName, VARIANT* ParamValue)
|
|
//{
|
|
// return S_OK;
|
|
//}
|