diff options
Diffstat (limited to 'plugins/AdvaImg/src/main.cpp')
| -rw-r--r-- | plugins/AdvaImg/src/main.cpp | 433 | 
1 files changed, 6 insertions, 427 deletions
diff --git a/plugins/AdvaImg/src/main.cpp b/plugins/AdvaImg/src/main.cpp index 799f8bc102..a3b74d15a5 100644 --- a/plugins/AdvaImg/src/main.cpp +++ b/plugins/AdvaImg/src/main.cpp @@ -24,16 +24,7 @@ along with this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 -#include <windows.h>
 -#include <commdlg.h>
 -#include <malloc.h>
 -
 -#include <m_imgsrvc.h>
 -
 -#include "newpluginapi.h"
 -#include "version.h"
 -
 -#include "libpng/png.h"
 +#include "stdafx.h"
  static const PLUGININFOEX pluginInfoEx = {
  	sizeof(PLUGININFOEX),
 @@ -48,151 +39,6 @@ static const PLUGININFOEX pluginInfoEx = {  	{0x7c070f7c, 0x459e, 0x46b7, {0x8e, 0x6d, 0xbc, 0x6e, 0xfa, 0xa2, 0x2f, 0x78}}
  };
 -/*
 -* freeimage helper functions
 -*/
 -
 -// Correct alpha from bitmaps loaded without it (it cames with 0 and should be 255)
 -// originally in loadavatars...
 -
 -static void FI_CorrectBitmap32Alpha(HBITMAP hBitmap, BOOL force)
 -{
 -	BITMAP bmp;
 -	DWORD dwLen;
 -	BYTE *p;
 -	int x, y;
 -	BOOL fixIt;
 -
 -	GetObject(hBitmap, sizeof(bmp), &bmp);
 -
 -	if (bmp.bmBitsPixel != 32)
 -		return;
 -
 -	dwLen = bmp.bmWidth * bmp.bmHeight * (bmp.bmBitsPixel / 8);
 -	p = (BYTE *)malloc(dwLen);
 -	if (p == nullptr)
 -		return;
 -	memset(p, 0, dwLen);
 -
 -	GetBitmapBits(hBitmap, dwLen, p);
 -
 -	fixIt = TRUE;
 -	for (y = 0; fixIt && y < bmp.bmHeight; ++y) {
 -		BYTE *px = p + bmp.bmWidth * 4 * y;
 -
 -		for (x = 0; fixIt && x < bmp.bmWidth; ++x)
 -		{
 -			if (px[3] != 0 && !force)
 -			{
 -				fixIt = FALSE;
 -			}
 -			else
 -			{
 -				px[3] = 255;
 -			}
 -
 -			px += 4;
 -		}
 -	}
 -
 -	if (fixIt)
 -		SetBitmapBits(hBitmap, dwLen, p);
 -
 -	free(p);
 -}
 -
 -/*
 -* needed for per pixel transparent images. Such images should then be rendered by
 -* using AlphaBlend() with AC_SRC_ALPHA
 -* dwFlags will be set to AVS_PREMULTIPLIED
 -* return TRUE if the image has at least one pixel with transparency
 -*/
 -static BOOL FreeImage_PreMultiply(HBITMAP hBitmap)
 -{
 -	BOOL transp = FALSE;
 -
 -	BITMAP bmp;
 -	GetObject(hBitmap, sizeof(bmp), &bmp);
 -	if (bmp.bmBitsPixel == 32) {
 -		int width = bmp.bmWidth;
 -		int height = bmp.bmHeight;
 -		int dwLen = width * height * 4;
 -		BYTE *p = (BYTE *)malloc(dwLen);
 -		if (p != nullptr) {
 -			GetBitmapBits(hBitmap, dwLen, p);
 -
 -			for (int y = 0; y < height; ++y) {
 -				BYTE *px = p + width * 4 * y;
 -				for (int x = 0; x < width; ++x) {
 -					BYTE alpha = px[3];
 -					if (alpha < 255) {
 -						transp = TRUE;
 -
 -						px[0] = px[0] * alpha/255;
 -						px[1] = px[1] * alpha/255;
 -						px[2] = px[2] * alpha/255;
 -					}
 -
 -					px += 4;
 -				}
 -			}
 -
 -			if (transp)
 -				dwLen = SetBitmapBits(hBitmap, dwLen, p);
 -			free(p);
 -		}
 -	}
 -
 -	return transp;
 -}
 -
 -static HBITMAP FreeImage_CreateHBITMAPFromDIB(FIBITMAP *in)
 -{
 -    FIBITMAP *dib = nullptr;
 -	int bpp = FreeImage_GetBPP(in);
 -
 -	if (bpp == 48)
 -		dib = FreeImage_ConvertTo24Bits(in);
 -	else if (FreeImage_GetBPP(in) > 32)
 -		dib = FreeImage_ConvertTo32Bits(in);
 -    else
 -        dib = in;
 -
 -	BYTE *ptPixels;
 -	BITMAPINFO *info = FreeImage_GetInfo(dib);
 -	HBITMAP hBmp = CreateDIBSection(nullptr, info, DIB_RGB_COLORS, (void **)&ptPixels, nullptr, 0);
 -	if (ptPixels != nullptr)
 -		memmove(ptPixels, FreeImage_GetBits(dib), FreeImage_GetPitch(dib) * FreeImage_GetHeight(dib));
 -
 -	if (dib != in)
 -		FreeImage_Unload(dib);
 -
 -	return hBmp;
 -}
 -
 -static FIBITMAP *FreeImage_CreateDIBFromHBITMAP(HBITMAP hBmp)
 -{
 -	BITMAP bm;
 -
 -	if(hBmp) {
 -		GetObject(hBmp, sizeof(BITMAP), (LPSTR) &bm);
 -		FIBITMAP *dib = FreeImage_Allocate(bm.bmWidth, bm.bmHeight, bm.bmBitsPixel,0,0,0);
 -		// The GetDIBits function clears the biClrUsed and biClrImportant BITMAPINFO members (dont't know why)
 -		// So we save these infos below. This is needed for palettized images only.
 -		int nColors = FreeImage_GetColorsUsed(dib);
 -		HDC dc = GetDC(nullptr);
 -		int Success = GetDIBits(dc, hBmp, 0, FreeImage_GetHeight(dib),
 -			FreeImage_GetBits(dib), FreeImage_GetInfo(dib), DIB_RGB_COLORS);
 -		ReleaseDC(nullptr, dc);
 -		// restore BITMAPINFO members
 -		FreeImage_GetInfoHeader(dib)->biClrUsed = nColors;
 -		FreeImage_GetInfoHeader(dib)->biClrImportant = nColors;
 -		return dib;
 -	}
 -	return nullptr;
 -}
 -
 -
  // Resize /////////////////////////////////////////////////////////////////////////////////////////
 @@ -202,7 +48,7 @@ static FIBITMAP *FreeImage_CreateDIBFromHBITMAP(HBITMAP hBmp)  // lParam = NULL
  // return NULL on error, ResizeBitmap->hBmp if don't need to resize or a new HBITMAP if resized
 -static INT_PTR serviceBmpFilterResizeBitmap(WPARAM wParam,LPARAM lParam)
 +static INT_PTR serviceBmpFilterResizeBitmap(WPARAM wParam,LPARAM)
  {
  	BITMAP bminfo;
  	int width, height;
 @@ -324,57 +170,9 @@ static INT_PTR serviceBmpFilterResizeBitmap(WPARAM wParam,LPARAM lParam)  	}
  }
 -FIBITMAP* FreeImage_LoadFromMem(FREE_IMAGE_FORMAT fif, fiio_mem_handle *handle, int flags)
 -{
 -	if (handle && handle->data) {
 -		FIMEMORY *hmem = FreeImage_OpenMemory((BYTE *)handle->data, handle->datalen);
 -		FREE_IMAGE_FORMAT _fif = (fif != FIF_UNKNOWN) ? fif : FreeImage_GetFileTypeFromMemory(hmem, 0);
 -		FIBITMAP *dib = FreeImage_LoadFromMemory(_fif, hmem, flags);
 -		FreeImage_CloseMemory(hmem);
 -	}
 -
 -	return nullptr;
 -}
 -
 -FIMEMORY* FreeImage_SaveToMem(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, fiio_mem_handle *handle, int flags)
 -{
 -	if (handle) {
 -		FIMEMORY *hmem = FreeImage_OpenMemory(nullptr, 0);
 -		if(fif == FIF_UNKNOWN)
 -			fif = FIF_BMP;
 -		handle->curpos = 0;
 -		FreeImage_SaveToMemory(fif, dib, hmem, flags);
 -		FreeImage_AcquireMemory(hmem, (BYTE **)&handle->data, (DWORD *)&handle->datalen);
 -		return hmem;
 -	}
 -	return nullptr;
 -}
 -
  ///////////////////////////////////////////////////////////////////////////////
  // Load - initializes the plugin instance
 -FI_INTERFACE feif = {0};
 -
 -/*
 -* caller MUST supply the desired version in wParam
 -* if it doesn't match, error will be returned
 -*/
 -
 -static INT_PTR serviceGetInterface(WPARAM wParam, LPARAM lParam)
 -{
 -	FI_INTERFACE **ppfe = (FI_INTERFACE **)lParam;
 -
 -	if ((DWORD)wParam != FI_IF_VERSION)
 -		return CALLSERVICE_NOTFOUND;
 -
 -	if(ppfe) {
 -		*ppfe = &feif;
 -		return S_OK;
 -	}
 -	else
 -		return CALLSERVICE_NOTFOUND;
 -}
 -
  static INT_PTR serviceLoad(WPARAM wParam, LPARAM lParam)
  {
  	char *lpszFilename = (char *)wParam;
 @@ -408,7 +206,7 @@ static INT_PTR serviceLoad(WPARAM wParam, LPARAM lParam)  		HBITMAP hbm = FreeImage_CreateHBITMAPFromDIB(dib);
  		FreeImage_Unload(dib);
 -		FI_CorrectBitmap32Alpha(hbm, FALSE);
 +		FreeImage_CorrectBitmap32Alpha(hbm, FALSE);
  		return ((INT_PTR)hbm);
  	}
  	return NULL;
 @@ -434,7 +232,7 @@ static INT_PTR serviceLoadFromMem(WPARAM wParam, LPARAM lParam)  	return (INT_PTR)hbm;
  }
 -static INT_PTR serviceUnload(WPARAM wParam, LPARAM lParam)
 +static INT_PTR serviceUnload(WPARAM wParam, LPARAM)
  {
  	FIBITMAP *dib = (FIBITMAP *)wParam;
 @@ -471,7 +269,7 @@ static INT_PTR serviceSave(WPARAM wParam, LPARAM lParam)  			if(isi->hbm != nullptr && (isi->dwMask & IMGI_HBITMAP) && !(isi->dwMask & IMGI_FBITMAP)) {
  				// create temporary dib, because we got a HBTIMAP passed
  				fUnload = TRUE;
 -				FI_CorrectBitmap32Alpha(isi->hbm, FALSE);
 +				FreeImage_CorrectBitmap32Alpha(isi->hbm, FALSE);
  				dib = FreeImage_CreateDIBFromHBITMAP(isi->hbm);
  			}
  			else if(isi->dib != nullptr && (isi->dwMask & IMGI_FBITMAP) && !(isi->dwMask & IMGI_HBITMAP))
 @@ -509,232 +307,13 @@ static INT_PTR serviceSave(WPARAM wParam, LPARAM lParam)  	return 0;
  }
 -static INT_PTR serviceGetVersion(WPARAM wParam, LPARAM lParam)
 -{
 -	return FI_IF_VERSION;
 -}
 -
 -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_RotateClassic(FIBITMAP *dib, double angle)
 -{
 -	return FreeImage_Rotate(dib, angle, nullptr);
 -}
 -
 -void FI_Populate(void)
 -{
 -	/*
 -	* populate the interface
 -	*/
 -
 -	feif.version = FI_IF_VERSION;
 -
 -	feif.FI__AllocateT = FreeImage_AllocateT;
 -	feif.FI_Allocate = FreeImage_Allocate;
 -	feif.FI_Clone = FreeImage_Clone;
 -	feif.FI_Unload = FreeImage_Unload;
 -
 -	feif.FI_Load = FreeImage_Load;
 -	feif.FI_LoadFromHandle = FreeImage_LoadFromHandle;
 -	feif.FI_LoadU = FreeImage_LoadU;
 -	feif.FI_Save = FreeImage_Save;
 -	feif.FI_SaveToHandle = FreeImage_SaveToHandle;
 -	feif.FI_SaveU = FreeImage_SaveU;
 -
 -	feif.FI_OpenMemory = FreeImage_OpenMemory;
 -	feif.FI_CloseMemory = FreeImage_CloseMemory;
 -	feif.FI_LoadFromMemory = FreeImage_LoadFromMemory;
 -	feif.FI_SaveToMemory = FreeImage_SaveToMemory;
 -	feif.FI_TellMemory = FreeImage_TellMemory;
 -	feif.FI_SeekMemory = FreeImage_SeekMemory;
 -	feif.FI_AcquireMemory = FreeImage_AcquireMemory;
 -	feif.FI_ReadMemory = FreeImage_ReadMemory;
 -	feif.FI_WriteMemory = FreeImage_WriteMemory;
 -	feif.FI_LoadMultiBitmapFromMemory = FreeImage_LoadMultiBitmapFromMemory;
 -
 -	feif.FI_OpenMultiBitmap = FreeImage_OpenMultiBitmap;
 -	feif.FI_OpenMultiBitmapU = FreeImage_OpenMultiBitmapU;
 -	feif.FI_CloseMultiBitmap = FreeImage_CloseMultiBitmap;
 -	feif.FI_GetPageCount = FreeImage_GetPageCount;
 -	feif.FI_AppendPage = FreeImage_AppendPage;
 -	feif.FI_InsertPage = FreeImage_InsertPage;
 -	feif.FI_DeletePage = FreeImage_DeletePage;
 -	feif.FI_LockPage = FreeImage_LockPage;
 -	feif.FI_UnlockPage = FreeImage_UnlockPage;
 -	feif.FI_MovePage = FreeImage_MovePage;
 -	feif.FI_GetLockedPageNumbers = FreeImage_GetLockedPageNumbers;
 -
 -	feif.FI_GetFileType = FreeImage_GetFileType;
 -	feif.FI_GetFileTypeU = FreeImage_GetFileTypeU;
 -	feif.FI_GetFileTypeFromHandle = FreeImage_GetFileTypeFromHandle;
 -	feif.FI_GetFileTypeFromMemory = FreeImage_GetFileTypeFromMemory;
 -	feif.FI_GetImageType = FreeImage_GetImageType;
 -
 -	feif.FI_GetBits = FreeImage_GetBits;
 -	feif.FI_GetScanLine = FreeImage_GetScanLine;
 -	feif.FI_GetPixelIndex = FreeImage_GetPixelIndex;
 -	feif.FI_GetPixelColor = FreeImage_GetPixelColor;
 -	feif.FI_SetPixelColor = FreeImage_SetPixelColor;
 -	feif.FI_SetPixelIndex = FreeImage_SetPixelIndex;
 -
 -	feif.FI_GetColorsUsed = FreeImage_GetColorsUsed;
 -	feif.FI_GetBPP = FreeImage_GetBPP;
 -	feif.FI_GetWidth = FreeImage_GetWidth;
 -	feif.FI_GetHeight = FreeImage_GetHeight;
 -	feif.FI_GetLine = FreeImage_GetLine;
 -	feif.FI_GetPitch = FreeImage_GetPitch;
 -	feif.FI_GetDIBSize = FreeImage_GetDIBSize;
 -	feif.FI_GetPalette = FreeImage_GetPalette;
 -	feif.FI_GetDotsPerMeterX = FreeImage_GetDotsPerMeterX;
 -	feif.FI_GetDotsPerMeterY = FreeImage_GetDotsPerMeterY;
 -	feif.FI_SetDotsPerMeterX = FreeImage_SetDotsPerMeterX;
 -	feif.FI_SetDotsPerMeterY = FreeImage_SetDotsPerMeterY;
 -	feif.FI_GetInfoHeader = FreeImage_GetInfoHeader;
 -	feif.FI_GetInfo = FreeImage_GetInfo;
 -	feif.FI_GetColorType = FreeImage_GetColorType;
 -	feif.FI_GetRedMask = FreeImage_GetRedMask;
 -	feif.FI_GetGreenMask = FreeImage_GetGreenMask;
 -	feif.FI_GetBlueMask = FreeImage_GetBlueMask;
 -	feif.FI_GetTransparencyCount = FreeImage_GetTransparencyCount;
 -	feif.FI_GetTransparencyTable = FreeImage_GetTransparencyTable;
 -	feif.FI_SetTransparent = FreeImage_SetTransparent;
 -	feif.FI_SetTransparencyTable = FreeImage_SetTransparencyTable;
 -	feif.FI_IsTransparent = FreeImage_IsTransparent;
 -	feif.FI_HasBackgroundColor = FreeImage_HasBackgroundColor;
 -	feif.FI_GetBackgroundColor = FreeImage_GetBackgroundColor;
 -	feif.FI_SetBackgroundColor = FreeImage_SetBackgroundColor;
 -
 -	feif.FI_ConvertTo4Bits = FreeImage_ConvertTo4Bits;
 -	feif.FI_ConvertTo8Bits = FreeImage_ConvertTo8Bits;
 -	feif.FI_ConvertToGreyscale = FreeImage_ConvertToGreyscale;
 -	feif.FI_ConvertTo16Bits555 = FreeImage_ConvertTo16Bits555;
 -	feif.FI_ConvertTo16Bits565 = FreeImage_ConvertTo16Bits565;
 -	feif.FI_ConvertTo24Bits = FreeImage_ConvertTo24Bits;
 -	feif.FI_ConvertTo32Bits = FreeImage_ConvertTo32Bits;
 -	feif.FI_ColorQuantize = FreeImage_ColorQuantize;
 -	feif.FI_ColorQuantizeEx = FreeImage_ColorQuantizeEx;
 -	feif.FI_Threshold = FreeImage_Threshold;
 -	feif.FI_Dither = FreeImage_Dither;
 -	feif.FI_ConvertFromRawBits = FreeImage_ConvertFromRawBits;
 -	feif.FI_ConvertToRawBits = FreeImage_ConvertToRawBits;
 -	feif.FI_ConvertToRGBF = FreeImage_ConvertToRGBF;
 -	feif.FI_ConvertToStandardType = FreeImage_ConvertToStandardType;
 -	feif.FI_ConvertToType = FreeImage_ConvertToType;
 -
 -	feif.FI_RegisterLocalPlugin = FreeImage_RegisterLocalPlugin;
 -	feif.FI_RegisterExternalPlugin = FreeImage_RegisterExternalPlugin;
 -	feif.FI_GetFIFCount = FreeImage_GetFIFCount;
 -	feif.FI_SetPluginEnabled = FreeImage_SetPluginEnabled;
 -	feif.FI_IsPluginEnabled = FreeImage_IsPluginEnabled;
 -	feif.FI_GetFIFFromFormat = FreeImage_GetFIFFromFormat;
 -	feif.FI_GetFIFFromMime = FreeImage_GetFIFFromMime;
 -	feif.FI_GetFormatFromFIF = FreeImage_GetFormatFromFIF;
 -	feif.FI_GetFIFExtensionList = FreeImage_GetFIFExtensionList;
 -	feif.FI_GetFIFDescription = FreeImage_GetFIFDescription;
 -	feif.FI_GetFIFRegExpr = FreeImage_GetFIFRegExpr;
 -	feif.FI_GetFIFMimeType = FreeImage_GetFIFMimeType;
 -	feif.FI_GetFIFFromFilename = FreeImage_GetFIFFromFilename;
 -	feif.FI_GetFIFFromFilenameU = FreeImage_GetFIFFromFilenameU;
 -	feif.FI_FIFSupportsReading = FreeImage_FIFSupportsReading;
 -	feif.FI_FIFSupportsWriting = FreeImage_FIFSupportsWriting;
 -	feif.FI_FIFSupportsExportBPP = FreeImage_FIFSupportsExportBPP;
 -	feif.FI_FIFSupportsExportType = FreeImage_FIFSupportsExportType;
 -	feif.FI_FIFSupportsICCProfiles = FreeImage_FIFSupportsICCProfiles;
 -
 -	feif.FI_RotateClassic = FreeImage_RotateClassic;
 -	feif.FI_RotateEx = FreeImage_RotateEx;
 -	feif.FI_FlipHorizontal = FreeImage_FlipHorizontal;
 -	feif.FI_FlipVertical = FreeImage_FlipVertical;
 -	feif.FI_JPEGTransform = FreeImage_JPEGTransform;
 -
 -	feif.FI_Rescale = FreeImage_Rescale;
 -	feif.FI_MakeThumbnail = FreeImage_MakeThumbnail;
 -
 -	feif.FI_AdjustCurve = FreeImage_AdjustCurve;
 -	feif.FI_AdjustGamma = FreeImage_AdjustGamma;
 -	feif.FI_AdjustBrightness = FreeImage_AdjustBrightness;
 -	feif.FI_AdjustContrast = FreeImage_AdjustContrast;
 -	feif.FI_Invert = FreeImage_Invert;
 -	feif.FI_GetHistogram = FreeImage_GetHistogram;
 -
 -	feif.FI_GetChannel = FreeImage_GetChannel;
 -	feif.FI_SetChannel = FreeImage_SetChannel;
 -	feif.FI_GetComplexChannel = FreeImage_GetComplexChannel;
 -	feif.FI_SetComplexChannel = FreeImage_SetComplexChannel;
 -
 -	feif.FI_Copy = FreeImage_Copy;
 -	feif.FI_Paste = FreeImage_Paste;
 -	feif.FI_Composite = FreeImage_Composite;
 -	feif.FI_JPEGCrop = FreeImage_JPEGCrop;
 -
 -	feif.FI_LoadFromMem = FreeImage_LoadFromMem;
 -	feif.FI_SaveToMem = FreeImage_SaveToMem;
 -
 -	feif.FI_CreateDIBFromHBITMAP = FreeImage_CreateDIBFromHBITMAP;
 -	feif.FI_CreateHBITMAPFromDIB = FreeImage_CreateHBITMAPFromDIB;
 -
 -	feif.FI_Premultiply = FreeImage_PreMultiply;
 -	feif.FI_BmpFilterResizeBitmap = serviceBmpFilterResizeBitmap;
 -
 -	feif.FI_IsLittleEndian = FreeImage_IsLittleEndian;
 -	feif.FI_LookupX11Color = FreeImage_LookupX11Color;
 -	feif.FI_LookupSVGColor = FreeImage_LookupSVGColor;
 -
 -	feif.FI_GetICCProfile = FreeImage_GetICCProfile;
 -	feif.FI_CreateICCProfile = FreeImage_CreateICCProfile;
 -	feif.FI_DestroyICCProfile = FreeImage_DestroyICCProfile;
 -
 -	feif.FI_ToneMapping = FreeImage_ToneMapping;
 -	feif.FI_TmoDrago03 = FreeImage_TmoDrago03;
 -	feif.FI_TmoReinhard05 = FreeImage_TmoReinhard05;
 -
 -	feif.FI_ZLibCompress = FreeImage_ZLibCompress;
 -	feif.FI_ZLibUncompress = FreeImage_ZLibUncompress;
 -	feif.FI_ZLibGZip = FreeImage_ZLibGZip;
 -	feif.FI_ZLibGUnzip = FreeImage_ZLibGUnzip;
 -	feif.FI_ZLibCRC32 = FreeImage_ZLibCRC32;
 -
 -	feif.FI_CreateTag = FreeImage_CreateTag;
 -	feif.FI_DeleteTag = FreeImage_DeleteTag;
 -	feif.FI_CloneTag = FreeImage_CloneTag;
 -
 -	feif.FI_GetTagKey = FreeImage_GetTagKey;
 -	feif.FI_GetTagDescription = FreeImage_GetTagDescription;
 -	feif.FI_GetTagID = FreeImage_GetTagID;
 -	feif.FI_GetTagType = FreeImage_GetTagType;
 -	feif.FI_GetTagCount = FreeImage_GetTagCount;
 -	feif.FI_GetTagLength = FreeImage_GetTagLength;
 -	feif.FI_GetTagValue = FreeImage_GetTagValue;
 -
 -	feif.FI_SetTagKey = FreeImage_SetTagKey;
 -	feif.FI_SetTagDescription = FreeImage_SetTagDescription;
 -	feif.FI_SetTagID = FreeImage_SetTagID;
 -	feif.FI_SetTagType = FreeImage_SetTagType;
 -	feif.FI_SetTagCount = FreeImage_SetTagCount;
 -	feif.FI_SetTagLength = FreeImage_SetTagLength;
 -	feif.FI_SetTagValue = FreeImage_SetTagValue;
 -
 -	feif.FI_FindFirstMetadata = FreeImage_FindFirstMetadata;
 -	feif.FI_FindNextMetadata = FreeImage_FindNextMetadata;
 -	feif.FI_FindCloseMetadata = FreeImage_FindCloseMetadata;
 -	feif.FI_SetMetadata = FreeImage_SetMetadata;
 -	feif.FI_GetMetadata = FreeImage_GetMetadata;
 -
 -	feif.FI_GetMetadataCount = FreeImage_GetMetadataCount;
 -	feif.FI_TagToString = FreeImage_TagToString;
 -
 -	feif.FI_CorrectBitmap32Alpha = FI_CorrectBitmap32Alpha;
 -}
 -
  static int IMGSERVICE_Load()
  {
 -	FI_Populate();
 -
 -	CreateServiceFunction(MS_IMG_GETINTERFACE, serviceGetInterface);
  	CreateServiceFunction(MS_IMG_LOAD, serviceLoad);
  	CreateServiceFunction(MS_IMG_LOADFROMMEM, serviceLoadFromMem);
  	CreateServiceFunction(MS_IMG_SAVE, serviceSave);
  	CreateServiceFunction(MS_IMG_UNLOAD, serviceUnload);
  	CreateServiceFunction(MS_IMG_RESIZE, serviceBmpFilterResizeBitmap);
 -	CreateServiceFunction(MS_IMG_GETIFVERSION, serviceGetVersion);
  	return 0;
  }
 @@ -756,7 +335,7 @@ extern "C" int __declspec(dllexport) Unload(void)  	return IMGSERVICE_Unload();
  }
 -extern "C" __declspec(dllexport) const PLUGININFOEX * MirandaPluginInfoEx(DWORD mirandaVersion)
 +extern "C" __declspec(dllexport) const PLUGININFOEX * MirandaPluginInfoEx(DWORD)
  {
  	return &pluginInfoEx;
  }
  | 
