BSOne.SFC/EM.Lib/ImageEn_SRC/Source/Delphi10.1Berlin/iewic.hpp

501 lines
25 KiB
C++

// CodeGear C++Builder
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
// All rights reserved
// (DO NOT EDIT: machine generated header) 'iewic.pas' rev: 37.00 (Windows)
#ifndef iewicHPP
#define iewicHPP
#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <Winapi.Windows.hpp>
#include <Winapi.Messages.hpp>
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>
#include <Winapi.ActiveX.hpp>
#include <Vcl.Graphics.hpp>
#include <Vcl.Controls.hpp>
#include <imageenio.hpp>
#include <hyiedefs.hpp>
#include <iexBitmaps.hpp>
#include <ieds.hpp>
#include <iewia.hpp>
#include <Vcl.Dialogs.hpp>
#include <hyieutils.hpp>
//-- user supplied -----------------------------------------------------------
namespace Iewic
{
//-- forward type declarations -----------------------------------------------
__interface DELPHIINTERFACE IE_IWICBitmapCodecProgressNotification;
typedef System::DelphiInterface<IE_IWICBitmapCodecProgressNotification> _di_IE_IWICBitmapCodecProgressNotification;
__interface DELPHIINTERFACE IE_IWICStream;
typedef System::DelphiInterface<IE_IWICStream> _di_IE_IWICStream;
struct IE_WICRect;
__interface DELPHIINTERFACE IE_IWICPalette;
typedef System::DelphiInterface<IE_IWICPalette> _di_IE_IWICPalette;
__interface DELPHIINTERFACE IE_IWICBitmapSource;
typedef System::DelphiInterface<IE_IWICBitmapSource> _di_IE_IWICBitmapSource;
__interface DELPHIINTERFACE IE_IWICFormatConverter;
typedef System::DelphiInterface<IE_IWICFormatConverter> _di_IE_IWICFormatConverter;
__interface DELPHIINTERFACE IE_IWICMetadataQueryReader;
typedef System::DelphiInterface<IE_IWICMetadataQueryReader> _di_IE_IWICMetadataQueryReader;
__interface DELPHIINTERFACE IE_IWICMetadataQueryWriter;
typedef System::DelphiInterface<IE_IWICMetadataQueryWriter> _di_IE_IWICMetadataQueryWriter;
__interface DELPHIINTERFACE IE_IWICBitmapFrameDecode;
typedef System::DelphiInterface<IE_IWICBitmapFrameDecode> _di_IE_IWICBitmapFrameDecode;
__interface DELPHIINTERFACE IE_IWICBitmapDecoder;
typedef System::DelphiInterface<IE_IWICBitmapDecoder> _di_IE_IWICBitmapDecoder;
struct IE_PROPBAG2;
__interface DELPHIINTERFACE IE_IPropertyBag2;
typedef System::DelphiInterface<IE_IPropertyBag2> _di_IE_IPropertyBag2;
__interface DELPHIINTERFACE IE_IWICBitmapFrameEncode;
typedef System::DelphiInterface<IE_IWICBitmapFrameEncode> _di_IE_IWICBitmapFrameEncode;
__interface DELPHIINTERFACE IE_IWICBitmapEncoder;
typedef System::DelphiInterface<IE_IWICBitmapEncoder> _di_IE_IWICBitmapEncoder;
__interface DELPHIINTERFACE IE_IWICBitmapLock;
typedef System::DelphiInterface<IE_IWICBitmapLock> _di_IE_IWICBitmapLock;
__interface DELPHIINTERFACE IE_IWICBitmap;
typedef System::DelphiInterface<IE_IWICBitmap> _di_IE_IWICBitmap;
__interface DELPHIINTERFACE IE_IWICBitmapScaler;
typedef System::DelphiInterface<IE_IWICBitmapScaler> _di_IE_IWICBitmapScaler;
__interface DELPHIINTERFACE IE_IWICImagingFactory;
typedef System::DelphiInterface<IE_IWICImagingFactory> _di_IE_IWICImagingFactory;
class DELPHICLASS TIEWICReader;
class DELPHICLASS TIEWICWriter;
class DELPHICLASS TIEWICBitmapWrapper;
class DELPHICLASS TIEWICBaseFunctionality;
class DELPHICLASS TIEWICFormatConverter;
class DELPHICLASS TIEWICBitmapScaler;
//-- type declarations -------------------------------------------------------
typedef HRESULT __stdcall (*IE_ProgressNotificationCallback)(void * pvData, unsigned uFrameNum, unsigned operation, double dblProgress);
__interface INTERFACE_UUID("{64C1024E-C3CF-4462-8078-88C2B11C46D9}") IE_IWICBitmapCodecProgressNotification : public System::IInterface
{
virtual HRESULT __stdcall RegisterProgressNotification(IE_ProgressNotificationCallback pfnProgressNotification, void * pvData, unsigned dwProgressFlags) = 0 ;
};
__interface INTERFACE_UUID("{135FF860-22B7-4DDF-B0F6-218F4F299A43}") IE_IWICStream : public IStream
{
virtual HRESULT __stdcall InitializeFromIStream(Hyiedefs::_di_IIEStream pIStream) = 0 ;
virtual HRESULT __stdcall InitializeFromFilename(Winapi::Windows::PWChar wzFileName, unsigned dwDesiredAccess) = 0 ;
virtual HRESULT __stdcall InitializeFromMemory(Winapi::Windows::PByte pbBuffer, unsigned cbBufferSize) = 0 ;
virtual HRESULT __stdcall InitializeFromIStreamRegion() = 0 ;
};
struct DECLSPEC_DRECORD IE_WICRect
{
public:
System::LongInt X;
System::LongInt Y;
System::LongInt Width;
System::LongInt Height;
};
typedef IE_WICRect *IE_PWICRect;
typedef unsigned IE_WICBitmapPaletteType;
typedef unsigned IE_WICColor;
typedef unsigned *IE_PWICColor;
__interface INTERFACE_UUID("{00000040-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICPalette : public System::IInterface
{
virtual HRESULT __stdcall InitializePredefined(IE_WICBitmapPaletteType ePaletteType, System::LongBool fAddTransparentColor) = 0 ;
virtual HRESULT __stdcall InitializeCustom(IE_PWICColor pColors, unsigned cCount) = 0 ;
virtual HRESULT __stdcall InitializeFromBitmap(_di_IE_IWICBitmapSource pISurface, unsigned cCount, System::LongBool fAddTransparentColor) = 0 ;
virtual HRESULT __stdcall InitializeFromPalette(_di_IE_IWICPalette pIPalette) = 0 ;
virtual HRESULT __stdcall GetType(/* out */ IE_WICBitmapPaletteType &pePaletteType) = 0 ;
virtual HRESULT __stdcall GetColorCount(/* out */ unsigned &pcCount) = 0 ;
virtual HRESULT __stdcall GetColors(unsigned cCount, IE_PWICColor pColors, /* out */ unsigned &pcActualColors) = 0 ;
virtual HRESULT __stdcall IsBlackWhite(/* out */ System::LongBool &pfIsBlackWhite) = 0 ;
virtual HRESULT __stdcall IsGrayscale(/* out */ System::LongBool &pfIsGrayscale) = 0 ;
virtual HRESULT __stdcall HasAlpha(/* out */ System::LongBool &pfHasAlpha) = 0 ;
};
__interface INTERFACE_UUID("{00000120-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICBitmapSource : public System::IInterface
{
virtual HRESULT __stdcall GetSize(/* out */ unsigned &puiWidth, /* out */ unsigned &puiHeight) = 0 ;
virtual HRESULT __stdcall GetPixelFormat(/* out */ GUID &pPixelFormat) = 0 ;
virtual HRESULT __stdcall GetResolution(/* out */ double &pDpiX, /* out */ double &pDpiY) = 0 ;
virtual HRESULT __stdcall CopyPalette(_di_IE_IWICPalette pIPalette) = 0 ;
virtual HRESULT __stdcall CopyPixels(IE_PWICRect prc, unsigned cbStride, unsigned cbBufferSize, Winapi::Windows::PByte pbBuffer) = 0 ;
};
__interface INTERFACE_UUID("{00000301-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICFormatConverter : public IE_IWICBitmapSource
{
virtual HRESULT __stdcall Initialize(_di_IE_IWICBitmapSource pISource, const GUID &dstFormat, unsigned dither, _di_IE_IWICPalette pIPalette, double alphaThresholdPercent, unsigned paletteTranslate) = 0 ;
virtual HRESULT __stdcall CanConvert(const GUID &srcPixelFormat, const GUID &dstPixelFormat, /* out */ System::LongBool &pfCanConvert) = 0 ;
};
__interface INTERFACE_UUID("{30989668-E1C9-4597-B395-458EEDB808DF}") IE_IWICMetadataQueryReader : public System::IInterface
{
virtual HRESULT __stdcall GetContainerFormat() = 0 ;
virtual HRESULT __stdcall GetLocation() = 0 ;
virtual HRESULT __stdcall GetMetadataByName(Winapi::Windows::PWChar wzName, tagPROPVARIANT &pvarValue) = 0 ;
virtual HRESULT __stdcall GetEnumerator() = 0 ;
};
__interface INTERFACE_UUID("{A721791A-0DEF-4D06-BD91-2118BF1DB10B}") IE_IWICMetadataQueryWriter : public IE_IWICMetadataQueryReader
{
virtual HRESULT __stdcall SetMetadataByName(Winapi::Windows::PWChar wzName, const tagPROPVARIANT &pvarValue) = 0 ;
virtual HRESULT __stdcall RemoveMetadataByName(Winapi::Windows::PWChar wzName) = 0 ;
};
__interface INTERFACE_UUID("{3B16811B-6A43-4EC9-A813-3D930C13B940}") IE_IWICBitmapFrameDecode : public IE_IWICBitmapSource
{
virtual HRESULT __stdcall GetMetadataQueryReader(/* out */ _di_IE_IWICMetadataQueryReader &ppIMetadataQueryReader) = 0 ;
virtual HRESULT __stdcall GetColorContexts() = 0 ;
virtual HRESULT __stdcall GetThumbnail(/* out */ _di_IE_IWICBitmapSource &ppIThumbnail) = 0 ;
};
__interface INTERFACE_UUID("{9EDDE9E7-8DEE-47EA-99DF-E6FAF2ED44BF}") IE_IWICBitmapDecoder : public System::IInterface
{
virtual HRESULT __stdcall QueryCapability() = 0 ;
virtual HRESULT __stdcall Initialize() = 0 ;
virtual HRESULT __stdcall GetContainerFormat() = 0 ;
virtual HRESULT __stdcall GetDecoderInfo() = 0 ;
virtual HRESULT __stdcall CopyPalette() = 0 ;
virtual HRESULT __stdcall GetMetadataQueryReader() = 0 ;
virtual HRESULT __stdcall GetPreview() = 0 ;
virtual HRESULT __stdcall GetColorContexts() = 0 ;
virtual HRESULT __stdcall GetThumbnail() = 0 ;
virtual HRESULT __stdcall GetFrameCount(/* out */ System::LongInt &pCount) = 0 ;
virtual HRESULT __stdcall GetFrame(unsigned index, /* out */ _di_IE_IWICBitmapFrameDecode &ppIBitmapFrame) = 0 ;
};
struct DECLSPEC_DRECORD IE_PROPBAG2
{
public:
unsigned dwType;
System::Word vt;
System::Word cfType;
unsigned dwHint;
Winapi::Windows::PWChar pstrName;
GUID clsid;
};
typedef IE_PROPBAG2 *IE_PPROPBAG2;
typedef tagPROPVARIANT *IE_PPROPVARIANT;
__interface INTERFACE_UUID("{22F55882-280B-11D0-A8A9-00A0C90C2004}") IE_IPropertyBag2 : public System::IInterface
{
virtual HRESULT __stdcall Read() = 0 ;
virtual HRESULT __stdcall Write(unsigned cProperties, IE_PPROPBAG2 pPropBag, IE_PPROPVARIANT pvarValue) = 0 ;
virtual HRESULT __stdcall CountProperties() = 0 ;
virtual HRESULT __stdcall GetPropertyInfo() = 0 ;
virtual HRESULT __stdcall LoadObject() = 0 ;
};
__interface INTERFACE_UUID("{00000105-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICBitmapFrameEncode : public System::IInterface
{
virtual HRESULT __stdcall Initialize(_di_IE_IPropertyBag2 pIEncoderOptions) = 0 ;
virtual HRESULT __stdcall SetSize(unsigned uiWidth, unsigned uiHeight) = 0 ;
virtual HRESULT __stdcall SetResolution(double dpiX, double dpiY) = 0 ;
virtual HRESULT __stdcall SetPixelFormat(const GUID &pPixelFormat) = 0 ;
virtual HRESULT __stdcall SetColorContexts() = 0 ;
virtual HRESULT __stdcall SetPalette() = 0 ;
virtual HRESULT __stdcall SetThumbnail() = 0 ;
virtual HRESULT __stdcall WritePixels(unsigned lineCount, unsigned cbStride, unsigned cbBufferSize, Winapi::Windows::PByte pbPixels) = 0 ;
virtual HRESULT __stdcall WriteSource() = 0 ;
virtual HRESULT __stdcall Commit() = 0 ;
virtual HRESULT __stdcall GetMetadataQueryWriter(/* out */ _di_IE_IWICMetadataQueryWriter &ppIMetadataQueryWriter) = 0 ;
};
__interface INTERFACE_UUID("{00000103-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICBitmapEncoder : public System::IInterface
{
virtual HRESULT __stdcall Initialize(_di_IStream pIStream, unsigned cacheOption) = 0 ;
virtual HRESULT __stdcall GetContainerFormat() = 0 ;
virtual HRESULT __stdcall GetEncoderInfo() = 0 ;
virtual HRESULT __stdcall SetColorContexts() = 0 ;
virtual HRESULT __stdcall SetPalette() = 0 ;
virtual HRESULT __stdcall SetThumbnail() = 0 ;
virtual HRESULT __stdcall SetPreview() = 0 ;
virtual HRESULT __stdcall CreateNewFrame(/* out */ _di_IE_IWICBitmapFrameEncode &ppIFrameEncode, /* out */ _di_IE_IPropertyBag2 &ppIEncoderOptions) = 0 ;
virtual HRESULT __stdcall Commit() = 0 ;
virtual HRESULT __stdcall GetMetadataQueryWriter() = 0 ;
};
typedef Winapi::Windows::PByte IE_WICInProcPointer;
__interface INTERFACE_UUID("{00000123-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICBitmapLock : public System::IInterface
{
virtual HRESULT __stdcall GetSize(/* out */ unsigned &puiWidth, /* out */ unsigned &puiHeight) = 0 ;
virtual HRESULT __stdcall GetStride(/* out */ unsigned &pcbStride) = 0 ;
virtual HRESULT __stdcall GetDataPointer(/* out */ unsigned &pcbBufferSize, /* out */ IE_WICInProcPointer &ppbData) = 0 ;
virtual HRESULT __stdcall GetPixelFormat(/* out */ GUID &pPixelFormat) = 0 ;
};
__interface INTERFACE_UUID("{00000121-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICBitmap : public IE_IWICBitmapSource
{
virtual HRESULT __stdcall Lock(IE_PWICRect prcLock, unsigned flags, /* out */ _di_IE_IWICBitmapLock &ppILock) = 0 ;
virtual HRESULT __stdcall SetPalette(_di_IE_IWICPalette pIPalette) = 0 ;
virtual HRESULT __stdcall SetResolution(double dpiX, double dpiY) = 0 ;
};
typedef unsigned IE_WICBitmapCreateCacheOption;
typedef unsigned IE_WICBitmapInterpolationMode;
__interface INTERFACE_UUID("{00000302-A8F2-4877-BA0A-FD2B6645FB94}") IE_IWICBitmapScaler : public IE_IWICBitmapSource
{
virtual HRESULT __stdcall Initialize(_di_IE_IWICBitmapSource pISource, unsigned uiWidth, unsigned uiHeight, IE_WICBitmapInterpolationMode mode) = 0 ;
};
__interface INTERFACE_UUID("{EC5EC8A9-C395-4314-9C77-54D7A935FF70}") IE_IWICImagingFactory : public System::IInterface
{
virtual HRESULT __stdcall CreateDecoderFromFilename() = 0 ;
virtual HRESULT __stdcall CreateDecoderFromStream(_di_IStream pIStream, const GUID &pguidVendor, unsigned metadataOptions, /* out */ _di_IE_IWICBitmapDecoder &ppIDecoder) = 0 ;
virtual HRESULT __stdcall CreateDecoderFromFileHandle() = 0 ;
virtual HRESULT __stdcall CreateComponentInfo() = 0 ;
virtual HRESULT __stdcall CreateDecoder(const GUID &guidContainerFormat, const GUID &pguidVendor, /* out */ _di_IE_IWICBitmapDecoder &ppIDecoder) = 0 ;
virtual HRESULT __stdcall CreateEncoder(const GUID &guidContainerFormat, const GUID &pguidVendor, /* out */ _di_IE_IWICBitmapEncoder &ppIEncoder) = 0 ;
virtual HRESULT __stdcall CreatePalette(/* out */ _di_IE_IWICPalette &ppIPalette) = 0 ;
virtual HRESULT __stdcall CreateFormatConverter(/* out */ _di_IE_IWICFormatConverter &ppIFormatConverter) = 0 ;
virtual HRESULT __stdcall CreateBitmapScaler(/* out */ _di_IE_IWICBitmapScaler &ppIBitmapScaler) = 0 ;
virtual HRESULT __stdcall CreateBitmapClipper() = 0 ;
virtual HRESULT __stdcall CreateBitmapFlipRotator() = 0 ;
virtual HRESULT __stdcall CreateStream(/* out */ _di_IE_IWICStream &ppIWICStream) = 0 ;
virtual HRESULT __stdcall CreateColorContext() = 0 ;
virtual HRESULT __stdcall CreateColorTransformer() = 0 ;
virtual HRESULT __stdcall CreateBitmap() = 0 ;
virtual HRESULT __stdcall CreateBitmapFromSource(_di_IE_IWICBitmapSource pIBitmapSource, IE_WICBitmapCreateCacheOption option, /* out */ _di_IE_IWICBitmap &ppIBitmap) = 0 ;
virtual HRESULT __stdcall CreateBitmapFromSourceRect() = 0 ;
virtual HRESULT __stdcall CreateBitmapFromMemory() = 0 ;
virtual HRESULT __stdcall CreateBitmapFromHBITMAP() = 0 ;
virtual HRESULT __stdcall CreateBitmapFromHICON() = 0 ;
virtual HRESULT __stdcall CreateComponentEnumerator() = 0 ;
virtual HRESULT __stdcall CreateFastMetadataEncoderFromDecoder() = 0 ;
virtual HRESULT __stdcall CreateFastMetadataEncoderFromFrameDecode() = 0 ;
virtual HRESULT __stdcall CreateQueryWriter() = 0 ;
virtual HRESULT __stdcall CreateQueryWriterFromReader() = 0 ;
};
enum DECLSPEC_DENUM TIEWICTIFFCompressionMethod : unsigned char { ieWICTiffCompressionDontCare, ieWICTiffCompressionNone, ieWICTiffCompressionCCITT3, ieWICTiffCompressionCCITT4, ieWICTiffCompressionLZW, ieWICTiffCompressionRLE, ieWICTiffCompressionZIP };
class PASCALIMPLEMENTATION TIEWICReader : public System::TObject
{
typedef System::TObject inherited;
private:
bool fOLEInitialized;
_di_IE_IWICImagingFactory fWICImagingFactory;
_di_IE_IWICBitmapDecoder fDecoder;
_di_IE_IWICBitmapFrameDecode fFrame;
_di_IE_IWICMetadataQueryReader fQueryReader;
double fDPIX;
double fDPIY;
System::Classes::TStream* fStream;
__int64 fStreamBase;
Hyieutils::TIEWideFileStream* fFileStream;
int __fastcall GetFrameCount();
public:
__fastcall TIEWICReader();
__fastcall virtual ~TIEWICReader();
bool __fastcall IsAvailable();
bool __fastcall Open(System::Classes::TStream* Stream, Hyieutils::TIOFileType fileType)/* overload */;
bool __fastcall Open(const System::WideString FileName, Hyieutils::TIOFileType fileType = 0x0)/* overload */;
void __fastcall Close();
void __fastcall GetFrame(int frameIndex, Iexbitmaps::TIEBitmap* destBitmap, Iexbitmaps::TIOParams* IOParams = (Iexbitmaps::TIOParams*)(0x0), Hyiedefs::pboolean Aborting = (Hyiedefs::pboolean)(0x0));
__property int FrameCount = {read=GetFrameCount, nodefault};
unsigned __fastcall FrameWidth();
unsigned __fastcall FrameHeight();
__property double DPIX = {read=fDPIX, write=fDPIX};
__property double DPIY = {read=fDPIY, write=fDPIY};
tagPROPVARIANT __fastcall QueryMetadata(const System::UnicodeString query);
};
class PASCALIMPLEMENTATION TIEWICWriter : public System::TObject
{
typedef System::TObject inherited;
private:
bool fOLEInitialized;
_di_IE_IWICImagingFactory fWICImagingFactory;
_di_IE_IWICBitmapEncoder fEncoder;
double fDPIX;
double fDPIY;
double fImageQuality;
double fCompressionQuality;
bool fLossless;
bool fUseCodecOptions;
int fQuality;
int fOverlap;
int fSubsampling;
int fHorizontalTileSlices;
int fVerticalTileSlices;
bool fFrequencyOrder;
TIEWICTIFFCompressionMethod fTIFFCompressionMethod;
System::Classes::TStream* fStream;
__int64 fStreamBase;
Hyieutils::TIEWideFileStream* fFileStream;
public:
__fastcall TIEWICWriter();
__fastcall virtual ~TIEWICWriter();
bool __fastcall IsAvailable();
bool __fastcall Open(const System::WideString FileName, Hyieutils::TIOFileType fileType)/* overload */;
bool __fastcall Open(System::Classes::TStream* Stream, Hyieutils::TIOFileType fileType)/* overload */;
void __fastcall Close();
void __fastcall PutFrame(Iexbitmaps::TIEBitmap* srcBitmap, Iexbitmaps::TIOParams* IOParams = (Iexbitmaps::TIOParams*)(0x0));
__property double DPIX = {read=fDPIX, write=fDPIX};
__property double DPIY = {read=fDPIY, write=fDPIY};
__property double ImageQuality = {read=fImageQuality, write=fImageQuality};
__property double CompressionQuality = {read=fCompressionQuality, write=fCompressionQuality};
__property bool Lossless = {read=fLossless, write=fLossless, nodefault};
__property bool UseCodecOptions = {read=fUseCodecOptions, write=fUseCodecOptions, nodefault};
__property int Quality = {read=fQuality, write=fQuality, nodefault};
__property int Overlap = {read=fOverlap, write=fOverlap, nodefault};
__property int Subsampling = {read=fSubsampling, write=fSubsampling, nodefault};
__property int HorizontalTileSlices = {read=fHorizontalTileSlices, write=fHorizontalTileSlices, nodefault};
__property int VerticalTileSlices = {read=fVerticalTileSlices, write=fVerticalTileSlices, nodefault};
__property bool FrequencyOrder = {read=fFrequencyOrder, write=fFrequencyOrder, nodefault};
__property TIEWICTIFFCompressionMethod TIFFCompressionMethod = {read=fTIFFCompressionMethod, write=fTIFFCompressionMethod, nodefault};
};
class PASCALIMPLEMENTATION TIEWICBitmapWrapper : public System::TInterfacedObject
{
typedef System::TInterfacedObject inherited;
private:
Iexbitmaps::TIEBaseBitmap* m_bitmap;
Iexbitmaps::TIEBaseBitmap* m_alpha;
public:
__fastcall TIEWICBitmapWrapper(Iexbitmaps::TIEBaseBitmap* Bitmap, Iexbitmaps::TIEBaseBitmap* Alpha);
__fastcall virtual ~TIEWICBitmapWrapper();
HRESULT __stdcall GetSize(/* out */ unsigned &puiWidth, /* out */ unsigned &puiHeight);
HRESULT __stdcall GetPixelFormat(/* out */ GUID &pPixelFormat);
HRESULT __stdcall GetResolution(/* out */ double &pDpiX, /* out */ double &pDpiY);
HRESULT __stdcall CopyPalette(_di_IE_IWICPalette pIPalette);
HRESULT __stdcall CopyPixels(IE_PWICRect prc, unsigned cbStride, unsigned cbBufferSize, Winapi::Windows::PByte pbBuffer);
private:
void *__IE_IWICBitmapSource; // IE_IWICBitmapSource
public:
#if defined(MANAGED_INTERFACE_OPERATORS)
// {00000120-A8F2-4877-BA0A-FD2B6645FB94}
operator _di_IE_IWICBitmapSource()
{
_di_IE_IWICBitmapSource intf;
this->GetInterface(intf);
return intf;
}
#else
operator IE_IWICBitmapSource*(void) { return (IE_IWICBitmapSource*)&__IE_IWICBitmapSource; }
#endif
};
class PASCALIMPLEMENTATION TIEWICBaseFunctionality : public System::TObject
{
typedef System::TObject inherited;
private:
bool m_OLEInitialized;
_di_IE_IWICImagingFactory m_WICImagingFactory;
public:
__fastcall TIEWICBaseFunctionality();
__fastcall virtual ~TIEWICBaseFunctionality();
bool __fastcall IsAvailable();
};
class PASCALIMPLEMENTATION TIEWICFormatConverter : public TIEWICBaseFunctionality
{
typedef TIEWICBaseFunctionality inherited;
private:
unsigned m_paletteType;
unsigned m_ditherType;
_di_IE_IWICPalette m_palette;
public:
__fastcall TIEWICFormatConverter();
bool __fastcall Convert(Iexbitmaps::TIEBitmap* Source, Iexbitmaps::TIEBitmap* Dest, Hyieutils::TIEPixelFormat DestPixelFormat, bool CheckParametersOnly, Hyiedefs::TIEProgressEvent OnProgressFunction = 0x0, System::TObject* OnProgressSender = (System::TObject*)(0x0));
void __fastcall SetPalette(Hyiedefs::TRGB *Palette, const System::NativeInt Palette_High);
__property unsigned PaletteType = {read=m_paletteType, write=m_paletteType, nodefault};
__property unsigned DitherType = {read=m_ditherType, write=m_ditherType, nodefault};
public:
/* TIEWICBaseFunctionality.Destroy */ inline __fastcall virtual ~TIEWICFormatConverter() { }
};
class PASCALIMPLEMENTATION TIEWICBitmapScaler : public TIEWICBaseFunctionality
{
typedef TIEWICBaseFunctionality inherited;
public:
bool __fastcall Resample(Iexbitmaps::TIEBaseBitmap* Source, Iexbitmaps::TIEBaseBitmap* SourceAlpha, Iexbitmaps::TIEBaseBitmap* Dest, Iexbitmaps::TIEBaseBitmap* DestAlpha, unsigned Width, unsigned Height, IE_WICBitmapInterpolationMode Mode, Hyiedefs::TIEProgressEvent OnProgressFunction = 0x0, System::TObject* OnProgressSender = (System::TObject*)(0x0));
public:
/* TIEWICBaseFunctionality.Create */ inline __fastcall TIEWICBitmapScaler() : TIEWICBaseFunctionality() { }
/* TIEWICBaseFunctionality.Destroy */ inline __fastcall virtual ~TIEWICBitmapScaler() { }
};
//-- var, const, procedure ---------------------------------------------------
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeNone = System::Int8(0x0);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeSolid = System::Int8(0x0);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeOrdered4x4 = System::Int8(0x1);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeOrdered8x8 = System::Int8(0x2);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeOrdered16x16 = System::Int8(0x3);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeSpiral4x4 = System::Int8(0x4);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeSpiral8x8 = System::Int8(0x5);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeDualSpiral4x4 = System::Int8(0x6);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeDualSpiral8x8 = System::Int8(0x7);
static _DELPHI_CONST System::Int8 IE_WICBitmapDitherTypeErrorDiffusion = System::Int8(0x8);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeCustom = System::Int8(0x0);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeMedianCut = System::Int8(0x1);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedBW = System::Int8(0x2);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone8 = System::Int8(0x3);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone27 = System::Int8(0x4);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone64 = System::Int8(0x5);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone125 = System::Int8(0x6);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone216 = System::Int8(0x7);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedWebPalette = System::Int8(0x7);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone252 = System::Int8(0x8);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedHalftone256 = System::Int8(0x9);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedGray4 = System::Int8(0xa);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedGray16 = System::Int8(0xb);
static _DELPHI_CONST System::Int8 IE_WICBitmapPaletteTypeFixedGray256 = System::Int8(0xc);
static _DELPHI_CONST int IE_WICBITMAPPALETTETYPE_FORCE_DWORD = int(0x7fffffff);
static _DELPHI_CONST System::Int8 IE_WICBitmapInterpolationModeNearestNeighbor = System::Int8(0x0);
static _DELPHI_CONST System::Int8 IE_WICBitmapInterpolationModeLinear = System::Int8(0x1);
static _DELPHI_CONST System::Int8 IE_WICBitmapInterpolationModeCubic = System::Int8(0x2);
static _DELPHI_CONST System::Int8 IE_WICBitmapInterpolationModeFant = System::Int8(0x3);
extern DELPHI_PACKAGE void __fastcall IEHDPRead(System::Classes::TStream* Stream, Iexbitmaps::TIEBitmap* Bitmap, Iexbitmaps::TIOParams* &IOParams, Hyiedefs::TProgressRec &xProgress, bool Preview);
extern DELPHI_PACKAGE void __fastcall IEHDPWrite(System::Classes::TStream* Stream, Iexbitmaps::TIEBitmap* Bitmap, Iexbitmaps::TIOParams* &IOParams, Hyiedefs::TProgressRec &xProgress);
extern DELPHI_PACKAGE int __fastcall IEHDPFrameCount(const System::WideString FileName);
extern DELPHI_PACKAGE bool __fastcall IEWICAvailable(void);
extern DELPHI_PACKAGE void __fastcall IEWICResample(Iexbitmaps::TIEBaseBitmap* SrcImg, Iexbitmaps::TIEBaseBitmap* DstImg, Iexbitmaps::TIEBaseBitmap* SrcAlpha, Hyiedefs::TResampleFilter FilterType, Hyiedefs::TIEProgressEvent OnProgressFunction, System::TObject* OnProgressSender);
} /* namespace Iewic */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEWIC)
using namespace Iewic;
#endif
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // iewicHPP