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

371 lines
15 KiB
C++

// CodeGear C++Builder
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
// All rights reserved
// (DO NOT EDIT: machine generated header) 'ievfw.pas' rev: 37.00 (Windows)
#ifndef ievfwHPP
#define ievfwHPP
#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 <System.Types.hpp>
//-- user supplied -----------------------------------------------------------
namespace Ievfw
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS IUnknown;
struct TAviStreamInfoA;
struct TAviStreamInfoW;
struct TAviFileInfoA;
struct TAviFileInfoW;
struct TAviCompressOptions;
class DELPHICLASS IAVIStream;
class DELPHICLASS IAVIEditStream;
class DELPHICLASS IAVIFile;
class DELPHICLASS IGetFrame;
//-- type declarations -------------------------------------------------------
typedef System::PGUID PCLSID;
typedef GUID TIID;
class PASCALIMPLEMENTATION IUnknown : public System::TObject
{
typedef System::TObject inherited;
public:
virtual HRESULT __stdcall QueryInterface(const TIID &iid, void *obj) = 0 ;
virtual System::LongInt __stdcall AddRef() = 0 ;
virtual System::LongInt __stdcall Release() = 0 ;
public:
/* TObject.Create */ inline __fastcall IUnknown() : System::TObject() { }
/* TObject.Destroy */ inline __fastcall virtual ~IUnknown() { }
};
typedef System::LongInt LONG;
typedef void * PVOID;
typedef TAviStreamInfoA *PAviStreamInfoA;
struct DECLSPEC_DRECORD TAviStreamInfoA
{
public:
unsigned fccType;
unsigned fccHandler;
unsigned dwFlags;
unsigned dwCaps;
System::Word wPriority;
System::Word wLanguage;
unsigned dwScale;
unsigned dwRate;
unsigned dwStart;
unsigned dwLength;
unsigned dwInitialFrames;
unsigned dwSuggestedBufferSize;
unsigned dwQuality;
unsigned dwSampleSize;
Winapi::Windows::TRect rcFrame;
unsigned dwEditCount;
unsigned dwFormatChangeCount;
System::StaticArray<char, 64> szName;
};
typedef TAviStreamInfoW *PAviStreamInfoW;
struct DECLSPEC_DRECORD TAviStreamInfoW
{
public:
unsigned fccType;
unsigned fccHandler;
unsigned dwFlags;
unsigned dwCaps;
System::Word wPriority;
System::Word wLanguage;
unsigned dwScale;
unsigned dwRate;
unsigned dwStart;
unsigned dwLength;
unsigned dwInitialFrames;
unsigned dwSuggestedBufferSize;
unsigned dwQuality;
unsigned dwSampleSize;
Winapi::Windows::TRect rcFrame;
unsigned dwEditCount;
unsigned dwFormatChangeCount;
System::StaticArray<System::WideChar, 64> szName;
};
typedef TAviStreamInfoW TAviStreamInfo;
typedef TAviFileInfoA *PAviFileInfoA;
struct DECLSPEC_DRECORD TAviFileInfoA
{
public:
unsigned dwMaxBytesPerSec;
unsigned dwFlags;
unsigned dwCaps;
unsigned dwStreams;
unsigned dwSuggestedBufferSize;
unsigned dwWidth;
unsigned dwHeight;
unsigned dwScale;
unsigned dwRate;
unsigned dwLength;
unsigned dwEditCount;
System::StaticArray<char, 64> szFileType;
};
typedef TAviFileInfoA TAviFileInfo;
typedef TAviFileInfoW *PAviFileInfoW;
struct DECLSPEC_DRECORD TAviFileInfoW
{
public:
unsigned dwMaxBytesPerSec;
unsigned dwFlags;
unsigned dwCaps;
unsigned dwStreams;
unsigned dwSuggestedBufferSize;
unsigned dwWidth;
unsigned dwHeight;
unsigned dwScale;
unsigned dwRate;
unsigned dwLength;
unsigned dwEditCount;
System::StaticArray<System::WideChar, 64> szFileType;
};
typedef bool __stdcall (*TAVISaveCallBack)(int Percentage);
typedef TAVISaveCallBack *AVISaveCallBack;
typedef TAviCompressOptions *PAviCompressOptions;
struct DECLSPEC_DRECORD TAviCompressOptions
{
public:
unsigned fccType;
unsigned fccHandler;
unsigned dwKeyFrameEvery;
unsigned dwQuality;
unsigned dwBytesPerSecond;
unsigned dwFlags;
PVOID lpFormat;
unsigned cbFormat;
PVOID lpParms;
unsigned cbParms;
unsigned dwInterleaveEvery;
};
class PASCALIMPLEMENTATION IAVIStream : public IUnknown
{
typedef IUnknown inherited;
public:
HIDESBASE virtual HRESULT __stdcall Create(__int64 lParam1, __int64 lParam2) = 0 ;
virtual HRESULT __stdcall Info(TAviStreamInfoW &psi, LONG lSize) = 0 ;
virtual LONG __stdcall FindSample(LONG lPos, LONG lFlags) = 0 ;
virtual HRESULT __stdcall ReadFormat(LONG lPos, PVOID lpFormat, LONG &lpcbFormat) = 0 ;
virtual HRESULT __stdcall SetFormat(LONG lPos, PVOID lpFormat, LONG lpcbFormat) = 0 ;
virtual HRESULT __stdcall Read(LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, LONG &plBytes, LONG &plSamples) = 0 ;
virtual HRESULT __stdcall Write(LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, unsigned dwFlags, LONG &plSampWritten, LONG &plBytesWritten) = 0 ;
virtual HRESULT __stdcall Delete(LONG lStart, LONG lSamples) = 0 ;
virtual HRESULT __stdcall ReadData(unsigned fcc, PVOID lp, LONG &lpcb) = 0 ;
virtual HRESULT __stdcall WriteData(unsigned fcc, PVOID lp, LONG cb) = 0 ;
virtual HRESULT __stdcall SetInfo(TAviStreamInfoW &lpInfo, LONG cbInfo) = 0 ;
public:
/* TObject.Create */ inline __fastcall IAVIStream() : IUnknown() { }
/* TObject.Destroy */ inline __fastcall virtual ~IAVIStream() { }
};
typedef IAVIStream* *PAVIStream;
class PASCALIMPLEMENTATION IAVIEditStream : public IUnknown
{
typedef IUnknown inherited;
public:
virtual HRESULT __stdcall Info(TAviFileInfoW &pfi, LONG lSize) = 0 ;
virtual HRESULT __stdcall Cut(LONG &plStart, LONG &plLength, PAVIStream &ppResult) = 0 ;
virtual HRESULT __stdcall Copy(LONG &plLength, PAVIStream &ppResult) = 0 ;
virtual HRESULT __stdcall Paste(LONG &plLength, PAVIStream pstream, LONG lStart, LONG lEnd) = 0 ;
virtual HRESULT __stdcall Clone(PAVIStream &ppResult) = 0 ;
virtual HRESULT __stdcall SetInfo(TAviStreamInfoW &lpInfo, LONG cbInfo) = 0 ;
public:
/* TObject.Create */ inline __fastcall IAVIEditStream() : IUnknown() { }
/* TObject.Destroy */ inline __fastcall virtual ~IAVIEditStream() { }
};
typedef IAVIEditStream* *PAVIEditStream;
class PASCALIMPLEMENTATION IAVIFile : public IUnknown
{
typedef IUnknown inherited;
public:
virtual HRESULT __stdcall Open(char * szFile, unsigned mode) = 0 ;
virtual HRESULT __stdcall Info(TAviFileInfo &pfi, LONG lSize) = 0 ;
virtual HRESULT __stdcall GetStream(PAVIStream &ppStream, unsigned fccType, LONG lParam) = 0 ;
virtual HRESULT __stdcall CreateStream(PAVIStream &ppStream, const TAviStreamInfo &psi) = 0 ;
virtual HRESULT __stdcall Save(char * szFile, TAviCompressOptions &lpOptions, AVISaveCallBack lpfnCallback) = 0 ;
virtual HRESULT __stdcall WriteData(unsigned ckid, PVOID lpData, LONG cbData) = 0 ;
virtual HRESULT __stdcall ReadData(unsigned ckid, PVOID lpData, LONG &lpcbData) = 0 ;
virtual HRESULT __stdcall EndRecord() = 0 ;
public:
/* TObject.Create */ inline __fastcall IAVIFile() : IUnknown() { }
/* TObject.Destroy */ inline __fastcall virtual ~IAVIFile() { }
};
typedef IAVIFile* *PAVIFile;
class PASCALIMPLEMENTATION IGetFrame : public IUnknown
{
typedef IUnknown inherited;
public:
virtual PVOID __stdcall GetFrame(LONG lPos) = 0 ;
virtual HRESULT __stdcall SetFormat(Winapi::Windows::PBitmapInfoHeader lpbi, PVOID lpBits, int x, int y, int dx, int dy) = 0 ;
public:
/* TObject.Create */ inline __fastcall IGetFrame() : IUnknown() { }
/* TObject.Destroy */ inline __fastcall virtual ~IGetFrame() { }
};
typedef IGetFrame* *PGetFrame;
//-- var, const, procedure ---------------------------------------------------
static _DELPHI_CONST int streamtypeVIDEO = int(0x73646976);
static _DELPHI_CONST int streamtypeAUDIO = int(0x73647561);
static _DELPHI_CONST int streamtypeMIDI = int(0x7364696d);
static _DELPHI_CONST int streamtypeTEXT = int(0x73747874);
static _DELPHI_CONST int comptypeDIB = int(0x20424944);
static _DELPHI_CONST System::Int8 AVIIF_KEYFRAME = System::Int8(0x10);
static _DELPHI_CONST System::Int8 AVISTREAMINFO_DISABLED = System::Int8(0x1);
static _DELPHI_CONST int AVISTREAMINFO_FORMATCHANGES = int(0x10000);
static _DELPHI_CONST System::Int8 AVIFILEINFO_HASINDEX = System::Int8(0x10);
static _DELPHI_CONST System::Int8 AVIFILEINFO_MUSTUSEINDEX = System::Int8(0x20);
static _DELPHI_CONST System::Word AVIFILEINFO_ISINTERLEAVED = System::Word(0x100);
static _DELPHI_CONST int AVIFILEINFO_WASCAPTUREFILE = int(0x10000);
static _DELPHI_CONST int AVIFILEINFO_COPYRIGHTED = int(0x20000);
static _DELPHI_CONST System::Int8 AVIFILECAPS_CANREAD = System::Int8(0x1);
static _DELPHI_CONST System::Int8 AVIFILECAPS_CANWRITE = System::Int8(0x2);
static _DELPHI_CONST System::Int8 AVIFILECAPS_ALLKEYFRAMES = System::Int8(0x10);
static _DELPHI_CONST System::Int8 AVIFILECAPS_NOCOMPRESSION = System::Int8(0x20);
static _DELPHI_CONST System::Int8 ICMF_CHOOSE_KEYFRAME = System::Int8(0x1);
static _DELPHI_CONST System::Int8 ICMF_CHOOSE_DATARATE = System::Int8(0x2);
static _DELPHI_CONST System::Int8 ICMF_CHOOSE_PREVIEW = System::Int8(0x4);
static _DELPHI_CONST System::Int8 ICMF_CHOOSE_ALLCOMPRESSORS = System::Int8(0x8);
static _DELPHI_CONST System::Int8 AVICOMPRESSF_INTERLEAVE = System::Int8(0x1);
static _DELPHI_CONST System::Int8 AVICOMPRESSF_DATARATE = System::Int8(0x2);
static _DELPHI_CONST System::Int8 AVICOMPRESSF_KEYFRAMES = System::Int8(0x4);
static _DELPHI_CONST System::Int8 AVICOMPRESSF_VALID = System::Int8(0x8);
extern DELPHI_PACKAGE GUID IID_IAVIFile;
extern DELPHI_PACKAGE GUID IID_IAVIStream;
extern DELPHI_PACKAGE GUID IID_IAVIStreaming;
extern DELPHI_PACKAGE GUID IID_IGetFrame;
extern DELPHI_PACKAGE GUID IID_IAVIEditStream;
extern DELPHI_PACKAGE GUID CLSID_AVISimpleUnMarshal;
extern DELPHI_PACKAGE GUID CLSID_AVIFile;
static _DELPHI_CONST System::Int8 AVIFILEHANDLER_CANREAD = System::Int8(0x1);
static _DELPHI_CONST System::Int8 AVIFILEHANDLER_CANWRITE = System::Int8(0x2);
static _DELPHI_CONST System::Int8 AVIFILEHANDLER_CANACCEPTNONRGB = System::Int8(0x4);
static _DELPHI_CONST System::Int8 FIND_DIR = System::Int8(0xf);
static _DELPHI_CONST System::Int8 FIND_NEXT = System::Int8(0x1);
static _DELPHI_CONST System::Int8 FIND_PREV = System::Int8(0x4);
static _DELPHI_CONST System::Byte FIND_TYPE = System::Byte(0xf0);
static _DELPHI_CONST System::Int8 FIND_KEY = System::Int8(0x10);
static _DELPHI_CONST System::Int8 FIND_ANY = System::Int8(0x20);
static _DELPHI_CONST System::Int8 FIND_FORMAT = System::Int8(0x40);
static _DELPHI_CONST System::Word FIND_RET = System::Word(0xf000);
static _DELPHI_CONST System::Int8 FIND_POS = System::Int8(0x0);
static _DELPHI_CONST System::Word FIND_LENGTH = System::Word(0x1000);
static _DELPHI_CONST System::Word FIND_OFFSET = System::Word(0x2000);
static _DELPHI_CONST System::Word FIND_SIZE = System::Word(0x3000);
static _DELPHI_CONST System::Word FIND_INDEX = System::Word(0x4000);
static _DELPHI_CONST System::Int8 AVIERR_OK = System::Int8(0x0);
static _DELPHI_CONST System::Int8 AVIIF_LIST = System::Int8(0x1);
static _DELPHI_CONST System::Int8 AVIIF_TWOCC = System::Int8(0x2);
extern DELPHI_PACKAGE HRESULT AVIERR_NOCOMPRESSOR;
extern DELPHI_PACKAGE HRESULT AVIERR_MEMORY;
extern DELPHI_PACKAGE HRESULT AVIERR_UNSUPPORTED;
extern "C" void __stdcall AVIFileInit(void);
extern "C" void __stdcall AVIFileExit(void);
extern "C" unsigned __stdcall AVIFileAddRef(PAVIFile pfile);
extern "C" unsigned __stdcall AVIFileRelease(PAVIFile pfile);
extern "C" HRESULT __stdcall AVIFileOpen(PAVIFile &ppfile, System::WideChar * szFile, unsigned uMode, PCLSID lpHandler);
extern "C" HRESULT __stdcall AVIFileOpenW(PAVIFile &ppfile, System::WideChar * szFile, unsigned uMode, PCLSID lpHandler);
extern "C" HRESULT __stdcall AVIFileInfo(PAVIFile pfile, TAviFileInfo &pfi, LONG lSize);
extern "C" HRESULT __stdcall AVIFileGetStream(PAVIFile pfile, PAVIStream &ppavi, unsigned fccType, LONG lParam);
extern "C" HRESULT __stdcall AVIFileCreateStream(PAVIFile pfile, PAVIStream &ppavi, TAviStreamInfo &psi);
extern "C" HRESULT __stdcall AVIFileCreateStreamW(PAVIFile pfile, PAVIStream &ppavi, TAviStreamInfoW &psi);
extern "C" HRESULT __stdcall AVIFileWriteData(PAVIFile pfile, unsigned ckid, PVOID lpData, LONG cbData);
extern "C" HRESULT __stdcall AVIFileReadData(unsigned ckid, PVOID lpData, LONG &lpcbData);
extern "C" HRESULT __stdcall AVIFileEndRecord(PAVIFile pfile);
extern "C" unsigned __stdcall AVIStreamAddRef(PAVIStream pavi);
extern "C" unsigned __stdcall AVIStreamRelease(PAVIStream pavi);
extern "C" HRESULT __stdcall AVIStreamInfo(PAVIStream pavi, TAviStreamInfo &psi, LONG lSize);
extern "C" HRESULT __stdcall AVIStreamInfoW(PAVIStream pavi, TAviStreamInfoW &psi, LONG lSize);
extern "C" LONG __stdcall AVIStreamFindSample(PAVIStream pavi, LONG lPos, LONG lFlags);
extern "C" HRESULT __stdcall AVIStreamReadFormat(PAVIStream pavi, LONG lPos, PVOID lpFormat, LONG &lpcbFormat);
extern "C" HRESULT __stdcall AVIStreamSetFormat(PAVIStream pavi, LONG lPos, PVOID lpFormat, LONG cbFormat);
extern "C" HRESULT __stdcall AVIStreamReadData(PAVIStream pavi, unsigned fcc, PVOID lp, LONG &lpcb);
extern "C" HRESULT __stdcall AVIStreamWriteData(PAVIStream pavi, unsigned fcc, PVOID lp, LONG cb);
extern "C" HRESULT __stdcall AVIStreamRead(PAVIStream pavi, LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, LONG &plBytes, LONG &plSamples);
extern "C" HRESULT __stdcall AVIStreamWrite(PAVIStream pavi, LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, unsigned dwFlags, void * plSampWritten, void * plBytesWritten);
extern "C" LONG __stdcall AVIStreamStart(PAVIStream pavi);
extern "C" LONG __stdcall AVIStreamLength(PAVIStream pavi);
extern "C" LONG __stdcall AVIStreamTimeToSample(PAVIStream pavi, LONG lTime);
extern "C" LONG __stdcall AVIStreamSampleToTime(PAVIStream pavi, LONG lSample);
extern "C" LONG __stdcall AVIStreamBeginStreaming(PAVIStream pavi, LONG lStart, LONG lEnd, LONG lRate);
extern "C" LONG __stdcall AVIStreamEndStreaming(PAVIStream pavi);
extern "C" PGetFrame __stdcall AVIStreamGetFrameOpen(PAVIStream pavi, Winapi::Windows::PBitmapInfoHeader lpbiWanted);
extern "C" PVOID __stdcall AVIStreamGetFrame(PGetFrame pg, LONG lPos);
extern "C" HRESULT __stdcall AVIStreamGetFrameClose(PGetFrame pg);
extern "C" HRESULT __stdcall AVIStreamOpenFromFile(PAVIStream &ppavi, System::WideChar * szFile, unsigned fccType, LONG lParam, unsigned mode, PCLSID pclsidHandler);
extern "C" HRESULT __stdcall AVIStreamOpenFromFileW(PAVIStream &ppavi, System::WideChar * szFile, unsigned fccType, LONG lParam, unsigned mode, PCLSID pclsidHandler);
extern "C" HRESULT __stdcall AVIStreamCreate(PAVIStream &ppavi, LONG lParam1, LONG lParam2, PCLSID pclsidHandler);
extern "C" HRESULT __stdcall AVISaveV(System::WideChar * szFile, PCLSID pclsidHandler, AVISaveCallBack lpfnCallback, int nStreams, PAVIStream &ppavi, PAviCompressOptions &plpOptions);
extern "C" bool __stdcall AVISaveOptions(HWND hwnd, unsigned uiFlags, int nStreams, void * pavi, void * plpOptions);
extern "C" bool __stdcall AVISaveOptionsFree(int nStreams, PAviCompressOptions &plpOptions);
extern "C" HRESULT __stdcall CreateEditableStream(PAVIStream &ppsEditable, PAVIStream psSource);
extern "C" HRESULT __stdcall EditStreamSetInfo(PAVIStream pavi, PAviStreamInfoA lpinfo, LONG cbinfo);
extern "C" HRESULT __stdcall AVIMakeCompressedStream(PAVIStream &ppsCompressed, PAVIStream psSource, PAviCompressOptions lpOptions, PCLSID pclsid);
extern DELPHI_PACKAGE int __fastcall mmioFOURCC(System::AnsiString cc);
} /* namespace Ievfw */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEVFW)
using namespace Ievfw;
#endif
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // ievfwHPP