mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Fix build pdf files
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
#include "DrawingFileEmbed.h"
|
||||
#include "../drawingfile.h"
|
||||
|
||||
JSSmart<CJSValue> WasmMemoryToJS(BYTE* pWasmData)
|
||||
{
|
||||
@ -13,6 +14,15 @@ JSSmart<CJSValue> WasmMemoryToJS(BYTE* pWasmData)
|
||||
return NSJSBase::CJSContext::createUint8Array(pWasmData + 4, nLen - 4, true);
|
||||
}
|
||||
|
||||
CDrawingFileEmbed::CDrawingFileEmbed()
|
||||
{
|
||||
m_pFile = NULL;
|
||||
}
|
||||
CDrawingFileEmbed::~CDrawingFileEmbed()
|
||||
{
|
||||
RELEASEOBJECT(m_pFile);
|
||||
}
|
||||
|
||||
JSSmart<CJSValue> CDrawingFileEmbed::OpenFile(JSSmart<CJSValue> sFile, JSSmart<CJSValue> sPassword)
|
||||
{
|
||||
bool bResult = m_pFile->OpenFile(sFile->toStringW(), sPassword->isString() ? sPassword->toStringW() : L"");
|
||||
@ -136,7 +146,22 @@ JSSmart<CJSValue> CDrawingFileEmbed::FreeWasmData(JSSmart<CJSValue> typedArray)
|
||||
if (!typedArray->isTypedArray())
|
||||
return NULL;
|
||||
BYTE* data = typedArray->toTypedArray()->getData().Data;
|
||||
typedArray->toTypedArray()->Detach();
|
||||
data -= 4; // sizeof int (length in NSWasm::Data)
|
||||
free(data);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool EmbedDrawingFile(JSSmart<NSJSBase::CJSContext>& context, IOfficeDrawingFile* pFile)
|
||||
{
|
||||
CJSContext::Embed<CDrawingFileEmbed>(false);
|
||||
|
||||
JSSmart<CJSObject> oNativeDrawingFile = CJSContext::createEmbedObject("CDrawingFileEmbed");
|
||||
context->GetGlobal()->set("g_native_drawing_file", oNativeDrawingFile);
|
||||
|
||||
CDrawingFile* pDrFile = new CDrawingFile(pFile->GetFonts());
|
||||
pDrFile->SetInternalFile(pFile);
|
||||
((CDrawingFileEmbed*)oNativeDrawingFile->getNative())->m_pFile = pDrFile;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
#ifndef _BUILD_DRAWING_EMBED_H_
|
||||
#define _BUILD_DRAWING_EMBED_H_
|
||||
|
||||
#include "../drawingfile.h"
|
||||
#include "../js_internal/js_base.h"
|
||||
#include "../../graphics/pro/officedrawingfile.h"
|
||||
|
||||
class CDrawingFile;
|
||||
|
||||
using namespace NSJSBase;
|
||||
class JS_DECL CDrawingFileEmbed : public CJSEmbedObject
|
||||
@ -11,14 +13,8 @@ public:
|
||||
CDrawingFile* m_pFile;
|
||||
|
||||
public:
|
||||
CDrawingFileEmbed()
|
||||
{
|
||||
m_pFile = NULL;
|
||||
}
|
||||
~CDrawingFileEmbed()
|
||||
{
|
||||
RELEASEOBJECT(m_pFile);
|
||||
}
|
||||
CDrawingFileEmbed();
|
||||
~CDrawingFileEmbed();
|
||||
|
||||
virtual void* getObject() override { return (void*)m_pFile; }
|
||||
|
||||
@ -57,4 +53,6 @@ public:
|
||||
DECLARE_EMBED_METHODS
|
||||
};
|
||||
|
||||
bool EmbedDrawingFile(JSSmart<NSJSBase::CJSContext>& context, IOfficeDrawingFile* pFile);
|
||||
|
||||
#endif // _BUILD_NATIVE_ZIP_EMBED_H_
|
||||
|
||||
Reference in New Issue
Block a user