Commit c626f635 authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov

чарт в шейпе (1.0.0.239)


git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@57572 954022d7-b5bf-4e40-9824-e11837661b57
parent b1dfe761
...@@ -2533,19 +2533,22 @@ HRESULT CAVSOfficeDrawingConverter::GetThemeBinary(BSTR bsThemeFilePath, SAFEARR ...@@ -2533,19 +2533,22 @@ HRESULT CAVSOfficeDrawingConverter::GetThemeBinary(BSTR bsThemeFilePath, SAFEARR
OOX::CPath oPath = m_strCurrentRelsPath; OOX::CPath oPath = m_strCurrentRelsPath;
smart_ptr<PPTX::Theme> pTheme = new PPTX::Theme(oPath, oFileMap); smart_ptr<PPTX::Theme> pTheme = new PPTX::Theme(oPath, oFileMap);
m_oBinaryWriter.ClearNoAttack(); //m_oBinaryWriter.ClearNoAttack();
ULONG lOldPos = m_oBinaryWriter.GetPosition();
m_oBinaryWriter.m_oCommon.CheckFontPicker(); m_oBinaryWriter.m_oCommon.CheckFontPicker();
pTheme->toPPTY(&m_oBinaryWriter); pTheme->toPPTY(&m_oBinaryWriter);
ULONG lBinarySize = m_oBinaryWriter.GetPosition(); ULONG lBinarySize = m_oBinaryWriter.GetPosition() - lOldPos;
SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize); SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize);
BYTE* pDataD = (BYTE*)pArray->pvData; BYTE* pDataD = (BYTE*)pArray->pvData;
BYTE* pDataS = m_oBinaryWriter.GetBuffer(); BYTE* pDataS = m_oBinaryWriter.GetBuffer() + lOldPos;
memcpy(pDataD, pDataS, lBinarySize); memcpy(pDataD, pDataS, lBinarySize);
*ppBinary = pArray; *ppBinary = pArray;
m_oBinaryWriter.SetPosition(lOldPos);
m_oBinaryWriter.ThemeDoc = pTheme.smart_dynamic_cast<PPTX::FileContainer>(); m_oBinaryWriter.ThemeDoc = pTheme.smart_dynamic_cast<PPTX::FileContainer>();
//m_oBinaryWriter.ThemeDoc.reset(); //m_oBinaryWriter.ThemeDoc.reset();
...@@ -3084,7 +3087,8 @@ HRESULT CAVSOfficeDrawingConverter::GetTxBodyBinary(BSTR bsXml, SAFEARRAY** ppBi ...@@ -3084,7 +3087,8 @@ HRESULT CAVSOfficeDrawingConverter::GetTxBodyBinary(BSTR bsXml, SAFEARRAY** ppBi
PPTX::Logic::TxBody oTxBody(oNode); PPTX::Logic::TxBody oTxBody(oNode);
m_oBinaryWriter.ClearNoAttack(); //m_oBinaryWriter.ClearNoAttack();
ULONG lOldPos = m_oBinaryWriter.GetPosition();
m_oBinaryWriter.m_oCommon.CheckFontPicker(); m_oBinaryWriter.m_oCommon.CheckFontPicker();
//m_oBinaryWriter.m_oCommon.m_pNativePicker->Init(m_strFontDirectory); //m_oBinaryWriter.m_oCommon.m_pNativePicker->Init(m_strFontDirectory);
...@@ -3092,17 +3096,19 @@ HRESULT CAVSOfficeDrawingConverter::GetTxBodyBinary(BSTR bsXml, SAFEARRAY** ppBi ...@@ -3092,17 +3096,19 @@ HRESULT CAVSOfficeDrawingConverter::GetTxBodyBinary(BSTR bsXml, SAFEARRAY** ppBi
if (NULL != ppBinary) if (NULL != ppBinary)
{ {
ULONG lBinarySize = m_oBinaryWriter.GetPosition(); ULONG lBinarySize = m_oBinaryWriter.GetPosition() - lOldPos;
SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize); SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize);
BYTE* pDataD = (BYTE*)pArray->pvData; BYTE* pDataD = (BYTE*)pArray->pvData;
BYTE* pDataS = m_oBinaryWriter.GetBuffer(); BYTE* pDataS = m_oBinaryWriter.GetBuffer() + lOldPos;
memcpy(pDataD, pDataS, lBinarySize); memcpy(pDataD, pDataS, lBinarySize);
*ppBinary = pArray; *ppBinary = pArray;
} }
m_oBinaryWriter.ClearNoAttack(); m_oBinaryWriter.SetPosition(lOldPos);
//m_oBinaryWriter.ClearNoAttack();
return S_OK; return S_OK;
} }
...@@ -3208,22 +3214,26 @@ xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\""); ...@@ -3208,22 +3214,26 @@ xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\"");
if (NULL == pWritingElem) if (NULL == pWritingElem)
return S_FALSE; return S_FALSE;
m_oBinaryWriter.ClearNoAttack(); //m_oBinaryWriter.ClearNoAttack();
m_oBinaryWriter.m_oCommon.CheckFontPicker(); m_oBinaryWriter.m_oCommon.CheckFontPicker();
ULONG lOldPos = m_oBinaryWriter.GetPosition();
m_oBinaryWriter.WriteRecord1(0, *pWritingElem); m_oBinaryWriter.WriteRecord1(0, *pWritingElem);
ULONG lBinarySize = m_oBinaryWriter.GetPosition(); ULONG lBinarySize = m_oBinaryWriter.GetPosition() - lOldPos;
SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize); SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize);
BYTE* pDataD = (BYTE*)pArray->pvData; BYTE* pDataD = (BYTE*)pArray->pvData;
BYTE* pDataS = m_oBinaryWriter.GetBuffer(); BYTE* pDataS = m_oBinaryWriter.GetBuffer() + lOldPos;
memcpy(pDataD, pDataS, lBinarySize); memcpy(pDataD, pDataS, lBinarySize);
*ppBinary = pArray; *ppBinary = pArray;
RELEASEOBJECT(pWritingElem); RELEASEOBJECT(pWritingElem);
m_oBinaryWriter.SetPosition(lOldPos);
return S_OK; return S_OK;
} }
......
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
//1 //1
//0 //0
//0 //0
//238 //239
#define INTVER 1,0,0,238 #define INTVER 1,0,0,239
#define STRVER "1,0,0,238\0" #define STRVER "1,0,0,239\0"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment