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

(1.0.1.171) ASC version

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@52480 954022d7-b5bf-4e40-9824-e11837661b57
parent 9cc2703b
......@@ -127,7 +127,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="..\..\..\Redist\VersionControl.exe &quot;$(ProjectDir)\version.h&quot;"
CommandLine="..\..\Redist\VersionControl.exe &quot;$(ProjectDir)\version.h&quot;"
/>
<Tool
Name="VCCustomBuildTool"
......@@ -153,7 +153,7 @@
<Tool
Name="VCCLCompilerTool"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\..\Common;..\Common;Objects\Font\FreeType;agg\include;Interfaces\"
AdditionalIncludeDirectories="..\..\..\..\Common;..\Common;Objects\Font\FreeType;agg\include;Interfaces\;..\ASCGraphics;..\..\Common"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS"
StringPooling="true"
RuntimeLibrary="2"
......
......@@ -81,38 +81,6 @@ public:
return 0;
}
IUnknown* ISLoadImage(BSTR filename)
{
ImageStudio::IImageTransforms* pTransforms = NULL;
CoCreateInstance(ImageStudio::CLSID_ImageTransforms, NULL, CLSCTX_INPROC, ImageStudio::IID_IImageTransforms, (void**)&pTransforms);
if (NULL == pTransforms)
return NULL;
IUnknown* pResult = NULL;
CStringW strXml = L"<ImageFile-LoadImage sourcepath='";
strXml += CStringW(filename);
strXml += L"'/>";
VARIANT_BOOL vbRes = VARIANT_FALSE;
BSTR bsXml = strXml.AllocSysString();
pTransforms->SetXml(bsXml, &vbRes);
pTransforms->Transform(&vbRes);
SysFreeString(bsXml);
VARIANT var;
pTransforms->GetResult(0, &var);
pResult = var.punkVal;
var.punkVal = NULL;
RELEASEINTERFACE(pTransforms);
return pResult;
}
void DrawOnRenderer(IASCRenderer* pRenderer, BSTR strFile, double dX, double dY, double dW, double dH, BOOL bIsFromFileUse = TRUE)
{
if (NULL == pRenderer)
......@@ -154,7 +122,7 @@ public:
}
else
{
IUnknown* pImage = ISLoadImage(strFile);
IUnknown* pImage = ImageStudio::ISLoadImage(strFile);
pRenderer->DrawImage(pImage, dX, dY, dW, dH);
RELEASEINTERFACE(pImage);
}
......
......@@ -178,7 +178,7 @@ void CASCFontManager::DumpToJSEditor(CString strDirectory, bool bIsUnionFamily)
while (NULL != pos)
{
const CAtlMap<CString, LONG>::CPair* pPair = mapFontFiles.GetNext(pos);
DumpJSFontFile6(pPair->m_key, strDirectory, pPair->m_value);
DumpJSFontFile(pPair->m_key, strDirectory, pPair->m_value);
}
// -------------------------------------------
......@@ -445,25 +445,11 @@ void CASCFontManager::DumpToJSEditor(CString strDirectory, bool bIsUnionFamily)
#endif
//
ImageStudio::IImageTransforms* pTransform = NULL;
CoCreateInstance(ImageStudio::CLSID_ImageTransforms, NULL, CLSCTX_ALL, ImageStudio::IID_IImageTransforms, (void**)&pTransform);
VARIANT var;
var.vt = VT_UNKNOWN;
var.punkVal = (IUnknown*)pFrame;
CString strThumbnailPath = strDirectory + _T("\\Fonts_JS") + _T("\\thumbnail.png");
VARIANT_BOOL vbSuccess = VARIANT_FALSE;
CString _dst = _T("<ImageFile-SaveAsPng destinationpath=\"") + strThumbnailPath + _T("\" format=\"8888\"/>");
BSTR bs_dst = _dst.AllocSysString();
pTransform->SetSource(0, var);
pTransform->SetXml(bs_dst, &vbSuccess);
pTransform->Transform(&vbSuccess);
ImageStudio::SaveImageAsPNG((IUnknown*)pFrame, strThumbnailPath);
RELEASEINTERFACE(pRenderer);
RELEASEINTERFACE(pFrame);
RELEASEINTERFACE(pTransform);
CFile oImageFile;
oImageFile.OpenFile(strThumbnailPath);
......
......@@ -2569,26 +2569,7 @@ namespace SVG
}
BOOL PatternImage::SaveImage(IUnknown* punkFrame, CString file)
{
ImageStudio::IImageTransforms* pTransform = NULL;
CoCreateInstance(ImageStudio::CLSID_ImageTransforms, NULL ,CLSCTX_INPROC_SERVER, ImageStudio::IID_IImageTransforms, (void**)&pTransform);
VARIANT var;
var.vt = VT_UNKNOWN;
var.punkVal = punkFrame;
pTransform->SetSource(0, var);
CString strXml = _T("<transforms><ImageFile-SaveAsPng destinationpath=\"") + file + _T("\" format=\"888\"/></transforms>");
VARIANT_BOOL vbSuccess = VARIANT_FALSE;
BSTR bsXml = strXml.AllocSysString();
pTransform->SetXml(bsXml, &vbSuccess);
SysFreeString(bsXml);
pTransform->Transform(&vbSuccess);
RELEASEINTERFACE(pTransform);
return TRUE;
return ImageStudio::SaveImageAsPNG(punkFrame, file);
}
Point PatternImage::GetNormalizeFactor()
{
......
#ifndef _RENDERER_OUTPUT_H
#define _RENDERER_OUTPUT_H
#include "../../../stdafx.h"
#include "..\..\..\Interfaces\ASCRenderer.h"
#include "..\..\Structures.h"
#include "WmfUtils.h"
......@@ -1492,15 +1494,6 @@ private:
pBufferPtr += 4;
}
//
ImageStudio::IImageTransforms *pTransform = NULL;
CoCreateInstance( __uuidof( ImageStudio::ImageTransforms ), NULL, CLSCTX_INPROC_SERVER, __uuidof(ImageStudio::IImageTransforms), (void **)(&pTransform) );
if ( !pTransform )
{
RELEASEINTERFACE( pInterface );
return false;
}
FILE *pTempFile = NULL;
CString wsTempFileName;
if ( !WmfOpenTempFile( &wsTempFileName, &pTempFile, _T("wb"), _T(".wmf0"), NULL ) )
......@@ -1510,43 +1503,12 @@ private:
}
::fclose( pTempFile );
VARIANT vSource;
vSource.vt = VT_UNKNOWN;
vSource.punkVal = (IUnknown *)(pInterface);
pTransform->SetSource( 0, vSource );
CString sXml("<transforms><ImageFile-SaveAsPng destinationpath=\"");
sXml += wsTempFileName.GetBuffer();
sXml += "\"></ImageFile-SaveAsPng></transforms>";
BSTR bsXML = sXml.AllocSysString();
VARIANT_BOOL vbSuccess = VARIANT_FALSE;
pTransform->SetXml( bsXML, &vbSuccess );
if ( VARIANT_TRUE != vbSuccess )
{
::SysFreeString( bsXML );
RELEASEINTERFACE( pInterface );
RELEASEINTERFACE( pTransform );
_wunlink( wsTempFileName.GetBuffer() );
return false;
}
pTransform->Transform( &vbSuccess );
if ( VARIANT_TRUE != vbSuccess )
{
::SysFreeString( bsXML );
RELEASEINTERFACE( pInterface );
RELEASEINTERFACE( pTransform );
_wunlink( wsTempFileName.GetBuffer() );
BOOL bRet = ImageStudio::SaveImageAsPNG(pInterface, wsTempFileName);
if (!bRet)
return false;
}
::SysFreeString( bsXML );
RELEASEINTERFACE( pInterface );
RELEASEINTERFACE( pTransform );
m_oBrush.TexturePath = wsTempFileName;
m_oBrush.TextureMode = c_BrushTextureModeTile;
m_oBrush.Type = c_BrushTypeTexture;
......@@ -1714,43 +1676,16 @@ private:
::fwrite( pBuffer, 1, unImageSize, pTempFile );
::fclose( pTempFile );
ImageStudio::IImageTransforms *pTransform = NULL;
CoCreateInstance( __uuidof( ImageStudio::ImageTransforms ), NULL, CLSCTX_INPROC_SERVER, __uuidof(ImageStudio::IImageTransforms), (void **)(&pTransform) );
if ( !pTransform )
return false;
CString sXml("<transforms><ImageFile-LoadImage sourcepath=\"");
sXml += wsTempFileName.GetBuffer();
sXml += "\"></ImageFile-LoadImage>";
BSTR bsXML = sXml.AllocSysString();
VARIANT_BOOL vbSuccess = VARIANT_FALSE;
pTransform->SetXml( bsXML, &vbSuccess );
if ( VARIANT_TRUE != vbSuccess )
{
::SysFreeString( bsXML );
RELEASEINTERFACE( pTransform );
_wunlink( wsTempFileName.GetBuffer() );
return false;
}
pTransform->Transform( &vbSuccess );
if ( VARIANT_TRUE != vbSuccess )
{
::SysFreeString( bsXML );
RELEASEINTERFACE( pTransform );
_wunlink( wsTempFileName.GetBuffer() );
return false;
}
BSTR bsFilePath = wsTempFileName.AllocSysString();
IUnknown* punkFrame = ImageStudio::ISLoadImage(bsFilePath);
SysFreeString(bsFilePath);
// TO DO:
RELEASEINTERFACE(punkFrame);
//VARIANT oVar;
//pTransform->GetResult( 0, &oVar );
::SysFreeString( bsXML );
RELEASEINTERFACE( pTransform );
::_wunlink( wsTempFileName.GetBuffer() );
......
......@@ -53,29 +53,16 @@ void Aggplus::CImage::Create(const WCHAR *filename)
void Aggplus::CImage::CreateFromImageStudio(const WCHAR *filename)
{
Destroy();
ImageStudio::IImageTransforms* pTransforms = NULL;
CoCreateInstance(ImageStudio::CLSID_ImageTransforms, NULL, CLSCTX_INPROC, ImageStudio::IID_IImageTransforms, (void**)&pTransforms);
if (NULL == pTransforms)
return;
CStringW strXml = L"<ImageFile-LoadImage sourcepath='";
strXml += CStringW(filename);
strXml += L"'/>";
VARIANT_BOOL vbRes = VARIANT_FALSE;
BSTR bsXml = strXml.AllocSysString();
pTransforms->SetXml(bsXml, &vbRes);
pTransforms->Transform(&vbRes);
CString s = (CString)filename;
BSTR bsFile = s.AllocSysString();
IUnknown* punkResult = ImageStudio::ISLoadImage(bsFile);
SysFreeString(bsFile);
VARIANT var;
pTransforms->GetResult(0, &var);
if (NULL != var.punkVal)
if (NULL != punkResult)
{
var.punkVal->QueryInterface(MediaCore::IID_IAVSUncompressedVideoFrame, (void**)&m_pFrame);
RELEASEINTERFACE((var.punkVal));
punkResult->QueryInterface(MediaCore::IID_IAVSUncompressedVideoFrame, (void**)&m_pFrame);
RELEASEINTERFACE(punkResult);
}
if (NULL != m_pFrame)
......@@ -93,8 +80,6 @@ void Aggplus::CImage::CreateFromImageStudio(const WCHAR *filename)
m_Status = Ok;
}
RELEASEINTERFACE(pTransforms);
}
void Aggplus::CImage::CopyFrom(const CImage *pSource)
......
......@@ -43,7 +43,7 @@
#include <atlctl.h>
#include <atlhost.h>
#include <atlcoll.h>
#include <atldefine.h>
#include "../../Common/atldefine.h"
#include "Gdiplus.h"
#pragma comment(lib, "gdiplus.lib")
......@@ -65,10 +65,100 @@
using namespace ATL;
#include "../../Common/ASCUtils.h"
#include "../../Common/Config.h"
#ifdef BUILD_CONFIG_OPENSOURCE_VERSION
#import "../../Redist/OfficeCore.dll" named_guids raw_interfaces_only rename_namespace("OfficeCore")
namespace MediaCore
{
typedef OfficeCore::IUncompressedFrame IAVSUncompressedVideoFrame;
const GUID CLSID_CUncompressedVideoFrame = OfficeCore::CLSID_CUncompressedFrame;
const GUID IID_IUncompressedVideoFrame = OfficeCore::IID_IUncompressedFrame;
}
#else
#import "../../Redist/ASCMediaCore3.dll" named_guids raw_interfaces_only rename_namespace("MediaCore")
#import "../../Redist/ASCImageStudio3.dll" named_guids raw_interfaces_only rename_namespace("ImageStudio")
#endif // BUILD_CONFIG_OPENSOURCE_VERSION
namespace ImageStudio
{
static IUnknown* ISLoadImage(BSTR filename)
{
#ifdef BUILD_CONFIG_OPENSOURCE_VERSION
OfficeCore::IImageGdipFilePtr pImageFile;
pImageFile.CreateInstance(OfficeCore::CLSID_CImageGdipFile);
pImageFile->OpenFile(filename);
IUnknown* punkFrame = NULL;
pImageFile->get_Frame(&punkFrame);
return punkFrame;
#else
ImageStudio::IImageTransforms* pTransforms = NULL;
CoCreateInstance(ImageStudio::CLSID_ImageTransforms, NULL, CLSCTX_INPROC, ImageStudio::IID_IImageTransforms, (void**)&pTransforms);
if (NULL == pTransforms)
return NULL;
IUnknown* pResult = NULL;
CStringW strXml = L"<ImageFile-LoadImage sourcepath='";
strXml += CStringW(filename);
strXml += L"'/>";
VARIANT_BOOL vbRes = VARIANT_FALSE;
BSTR bsXml = strXml.AllocSysString();
pTransforms->SetXml(bsXml, &vbRes);
pTransforms->Transform(&vbRes);
SysFreeString(bsXml);
VARIANT var;
pTransforms->GetResult(0, &var);
pResult = var.punkVal;
var.punkVal = NULL;
RELEASEINTERFACE(pTransforms);
return pResult;
#endif // BUILD_CONFIG_OPENSOURCE_VERSION
}
static BOOL SaveImageAsPNG(IUnknown* punkFrame, CString file)
{
#ifdef BUILD_CONFIG_OPENSOURCE_VERSION
OfficeCore::IImageGdipFilePtr pImageFile;
pImageFile.CreateInstance(OfficeCore::CLSID_CImageGdipFile);
pImageFile->put_Frame(punkFrame);
BSTR bsFile = file.AllocSysString();
HRESULT hr = pImageFile->SaveFile(bsFile, 4);
return (hr == S_OK);
#else
ImageStudio::IImageTransforms* pTransform = NULL;
CoCreateInstance(ImageStudio::CLSID_ImageTransforms, NULL ,CLSCTX_INPROC_SERVER, ImageStudio::IID_IImageTransforms, (void**)&pTransform);
VARIANT var;
var.vt = VT_UNKNOWN;
var.punkVal = punkFrame;
pTransform->SetSource(0, var);
CString strXml = _T("<transforms><ImageFile-SaveAsPng destinationpath=\"") + file + _T("\" format=\"888\"/></transforms>");
VARIANT_BOOL vbSuccess = VARIANT_FALSE;
BSTR bsXml = strXml.AllocSysString();
pTransform->SetXml(bsXml, &vbSuccess);
SysFreeString(bsXml);
pTransform->Transform(&vbSuccess);
RELEASEINTERFACE(pTransform);
return TRUE;
#endif // BUILD_CONFIG_OPENSOURCE_VERSION
}
}
......@@ -2,6 +2,6 @@
//1
//0
//1
//170
#define INTVER 1,0,1,170
#define STRVER "1,0,1,170\0"
//171
#define INTVER 1,0,1,171
#define STRVER "1,0,1,171\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