// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'videocap.pas' rev: 37.00 (Windows) #ifndef videocapHPP #define videocapHPP #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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Videocap { //-- forward type declarations ----------------------------------------------- class DELPHICLASS TVideoCapException; struct TCAPDRIVERCAPS; struct TVIDEOHDR; struct TCAPSTATUS; struct TCAPTUREPARMS; struct TWAVEFORMATEX; class DELPHICLASS TImageEnVideoView; //-- type declarations ------------------------------------------------------- class PASCALIMPLEMENTATION TVideoCapException : public System::Sysutils::Exception { typedef System::Sysutils::Exception inherited; public: /* Exception.Create */ inline __fastcall TVideoCapException(const System::UnicodeString Msg) : System::Sysutils::Exception(Msg) { } /* Exception.CreateFmt */ inline __fastcall TVideoCapException(const System::UnicodeString Msg, const System::TVarRec *Args, const System::NativeInt Args_High) : System::Sysutils::Exception(Msg, Args, Args_High) { } /* Exception.CreateRes */ inline __fastcall TVideoCapException(System::NativeUInt Ident)/* overload */ : System::Sysutils::Exception(Ident) { } /* Exception.CreateRes */ inline __fastcall TVideoCapException(System::PResStringRec ResStringRec)/* overload */ : System::Sysutils::Exception(ResStringRec) { } /* Exception.CreateResFmt */ inline __fastcall TVideoCapException(System::NativeUInt Ident, const System::TVarRec *Args, const System::NativeInt Args_High)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High) { } /* Exception.CreateResFmt */ inline __fastcall TVideoCapException(System::PResStringRec ResStringRec, const System::TVarRec *Args, const System::NativeInt Args_High)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High) { } /* Exception.CreateHelp */ inline __fastcall TVideoCapException(const System::UnicodeString Msg, int AHelpContext) : System::Sysutils::Exception(Msg, AHelpContext) { } /* Exception.CreateFmtHelp */ inline __fastcall TVideoCapException(const System::UnicodeString Msg, const System::TVarRec *Args, const System::NativeInt Args_High, int AHelpContext) : System::Sysutils::Exception(Msg, Args, Args_High, AHelpContext) { } /* Exception.CreateResHelp */ inline __fastcall TVideoCapException(System::NativeUInt Ident, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, AHelpContext) { } /* Exception.CreateResHelp */ inline __fastcall TVideoCapException(System::PResStringRec ResStringRec, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, AHelpContext) { } /* Exception.CreateResFmtHelp */ inline __fastcall TVideoCapException(System::PResStringRec ResStringRec, const System::TVarRec *Args, const System::NativeInt Args_High, int AHelpContext)/* overload */ : System::Sysutils::Exception(ResStringRec, Args, Args_High, AHelpContext) { } /* Exception.CreateResFmtHelp */ inline __fastcall TVideoCapException(System::NativeUInt Ident, const System::TVarRec *Args, const System::NativeInt Args_High, int AHelpContext)/* overload */ : System::Sysutils::Exception(Ident, Args, Args_High, AHelpContext) { } /* Exception.Destroy */ inline __fastcall virtual ~TVideoCapException() { } }; enum DECLSPEC_DENUM TVCDisplayMode : unsigned char { dmPreview, dmOverlay }; typedef void __fastcall (__closure *TVideoFrameEvent)(System::TObject* Sender, Iexbitmaps::TIEDibbitmap* Bitmap); typedef void __fastcall (__closure *TVideoFrameRawEvent)(System::TObject* Sender, Winapi::Windows::THandle hDib, void * pData); struct DECLSPEC_DRECORD TCAPDRIVERCAPS { public: int wDeviceIndex; System::LongBool fHasOverlay; System::LongBool fHasDlgVideoSource; System::LongBool fHasDlgVideoFormat; System::LongBool fHasDlgVideoDisplay; System::LongBool fCaptureInitialized; System::LongBool fDriverSuppliesPalettes; Winapi::Windows::THandle hVideoIn; Winapi::Windows::THandle hVideoOut; Winapi::Windows::THandle hVideoExtIn; Winapi::Windows::THandle hVideoExtout; }; typedef TCAPDRIVERCAPS *PCAPDRIVERCAPS; struct DECLSPEC_DRECORD TVIDEOHDR { public: Winapi::Windows::PByte lpData; unsigned dwBufferLength; unsigned dwBytesUsed; unsigned dwTimeCaptured; unsigned dwUser; unsigned dwFlags; System::StaticArray dwReserved; }; typedef TVIDEOHDR *PVIDEOHDR; struct DECLSPEC_DRECORD TCAPSTATUS { public: unsigned uiImageWidth; unsigned uiImageHeight; System::LongBool fLiveWindow; System::LongBool fOverlayWindow; System::LongBool fScale; Winapi::Windows::TPoint ptScroll; System::LongBool fUsingDefaultPalette; System::LongBool fAudioHardware; System::LongBool fCapFileExists; unsigned dwCurrentVideoFrame; unsigned dwCurrentVideoFramesDropped; unsigned dwCurrentWaveSamples; unsigned dwCurrentTimeElapsedMS; Winapi::Windows::THandle hPalCurrent; System::LongBool fCapturingNow; unsigned dwReturn; unsigned wNumVideoAllocated; unsigned wNumAudioAllocated; }; typedef TCAPSTATUS *PCAPSTATUS; typedef TCAPTUREPARMS *PCAPTUREPARMS; struct DECLSPEC_DRECORD TCAPTUREPARMS { public: unsigned dwRequestMicroSecPerFrame; System::LongBool fMakeUserHitOKToCapture; unsigned wPercentDropForError; System::LongBool fYield; unsigned dwIndexSize; unsigned wChunkGranularity; System::LongBool fUsingDOSMemory; unsigned wNumVideoRequested; System::LongBool fCaptureAudio; unsigned wNumAudioRequested; unsigned vKeyAbort; System::LongBool fAbortLeftMouse; System::LongBool fAbortRightMouse; System::LongBool fLimitEnabled; unsigned wTimeLimit; System::LongBool fMCIControl; System::LongBool fStepMCIDevice; unsigned dwMCIStartTime; unsigned dwMCIStopTime; System::LongBool fStepCaptureAt2x; unsigned wStepCaptureAverageFrames; unsigned dwAudioBufferSize; System::LongBool fDisableWriteCache; unsigned AVStreamMaster; }; typedef TWAVEFORMATEX *PWAVEFORMATEX; struct DECLSPEC_DRECORD TWAVEFORMATEX { public: System::Word wFormatTag; System::Word nChannels; unsigned nSamplesPerSec; unsigned nAvgBytesPerSec; System::Word nBlockAlign; System::Word wBitsPerSample; System::Word cbSize; }; class PASCALIMPLEMENTATION TImageEnVideoView : public Ievect::TImageEnVect { typedef Ievect::TImageEnVect inherited; private: bool fShowVideo; bool fFreeze; TVCDisplayMode fDisplayMode; HWND fWndC; System::Classes::TStringList* fDrivers; int fVideoSource; Hyiedefs::TIEScrollStyle fSScrollBars; int fPreviewRate; bool fCallBackFrame; TVideoFrameEvent fOnVideoFrame; TVideoFrameRawEvent fOnVideoFrameRaw; Winapi::Windows::THandle fhBitmapInfo; bool fBitmapInfoUp; bool fConnected; bool fFitFreeze; Hyiedefs::TIEJobEvent fOnJob; Hyiedefs::hDrawDib fHDrawDib; bool fGrabFrame; System::AnsiString fRecFileName; int fRecFrameRate; bool fRecAudio; bool fRecMultitask; bool fRecording; bool fCreatingCaptureWindow; protected: void __fastcall SetShowVideo(bool v); void __fastcall SetFreeze(bool v); void __fastcall SetDisplayMode(TVCDisplayMode v); HIDESBASE MESSAGE void __fastcall WMSize(Winapi::Messages::TWMSize &Message); bool __fastcall DriverConnect(); bool __fastcall DriverConnectNE(); void __fastcall DriverDisconnect(); void __fastcall SetVideoSource(int v); virtual void __fastcall SetScrollBars(Hyiedefs::TIEScrollStyle v); bool __fastcall GetHasDlgVideoSource(); bool __fastcall GetHasDlgVideoFormat(); bool __fastcall GetHasDlgVideoDisplay(); bool __fastcall GetHasOverlay(); void __fastcall GetCaps(TCAPDRIVERCAPS &fDriverCaps); void __fastcall SetPreviewRate(int v); void __fastcall SetCallBackFrame(bool v); void __fastcall SetOnVideoFrame(TVideoFrameEvent v); void __fastcall SetOnVideoFrameRaw(TVideoFrameRawEvent v); bool __fastcall FillBitmapInfo(); void __fastcall CreateCaptureWindow(); void __fastcall DestroyCaptureWindow(); void __fastcall DoJob(Hyiedefs::TIEJob job, int per); void __fastcall DecompRawFrame(Iexbitmaps::TIEDibbitmap* OutBitmap, void * pix); System::Word __fastcall GetAudioFormat(); void __fastcall SetAudioFormat(System::Word v); System::Word __fastcall GetAudioChannels(); void __fastcall SetAudioChannels(System::Word v); unsigned __fastcall GetAudioSamplesPerSec(); void __fastcall SetAudioSamplesPerSec(unsigned v); System::Word __fastcall GetAudioBitsPerSample(); void __fastcall SetAudioBitsPerSample(System::Word v); void __fastcall GetWaveFormat(TWAVEFORMATEX &wf); void __fastcall SetWaveFormat(TWAVEFORMATEX &wf); public: __fastcall virtual TImageEnVideoView(System::Classes::TComponent* Owner); __fastcall virtual ~TImageEnVideoView(); void __fastcall FillDrivers(); virtual void __fastcall Paint(); virtual void __fastcall Select(int x1, int y1, int x2, int y2, Imageenview::TIESelOp Op); bool __fastcall DoConfigureSource(); bool __fastcall DoConfigureFormat(); bool __fastcall DoConfigureDisplay(); bool __fastcall DoConfigureCompression(); void __fastcall Freeze(); void __fastcall UnFreeze(); __property bool Frozen = {read=fFreeze, write=SetFreeze, default=0}; void __fastcall SaveFrame(); __property System::Classes::TStringList* VideoSourceList = {read=fDrivers}; __property bool HasOverlay = {read=GetHasOverlay, nodefault}; __property bool HasDlgVideoSource = {read=GetHasDlgVideoSource, nodefault}; __property bool HasDlgVideoFormat = {read=GetHasDlgVideoFormat, nodefault}; __property bool HasDlgVideoDisplay = {read=GetHasDlgVideoDisplay, nodefault}; bool __fastcall StartRecord(); void __fastcall StopRecord(); __property System::AnsiString RecFileName = {read=fRecFileName, write=fRecFileName}; __property int RecFrameRate = {read=fRecFrameRate, write=fRecFrameRate, nodefault}; __property bool RecAudio = {read=fRecAudio, write=fRecAudio, nodefault}; __property bool RecMultitask = {read=fRecMultitask, write=fRecMultitask, nodefault}; __property HWND WndCaptureHandle = {read=fWndC}; Winapi::Windows::TRect __fastcall GetVideoSize(); __property System::Word AudioFormat = {read=GetAudioFormat, write=SetAudioFormat, nodefault}; __property System::Word AudioChannels = {read=GetAudioChannels, write=SetAudioChannels, nodefault}; __property unsigned AudioSamplesPerSec = {read=GetAudioSamplesPerSec, write=SetAudioSamplesPerSec, nodefault}; __property System::Word AudioBitsPerSample = {read=GetAudioBitsPerSample, write=SetAudioBitsPerSample, nodefault}; __published: __property bool FitFreeze = {read=fFitFreeze, write=fFitFreeze, default=1}; __property TVCDisplayMode DisplayMode = {read=fDisplayMode, write=SetDisplayMode, default=0}; __property bool ShowVideo = {read=fShowVideo, write=SetShowVideo, default=0}; __property int VideoSource = {read=fVideoSource, write=SetVideoSource, default=0}; __property int PreviewRate = {read=fPreviewRate, write=SetPreviewRate, default=60}; __property TVideoFrameEvent OnVideoFrame = {read=fOnVideoFrame, write=SetOnVideoFrame}; __property TVideoFrameRawEvent OnVideoFrameRaw = {read=fOnVideoFrameRaw, write=SetOnVideoFrameRaw}; __property Hyiedefs::TIEJobEvent OnJob = {read=fOnJob, write=fOnJob}; public: /* TWinControl.CreateParented */ inline __fastcall TImageEnVideoView(HWND ParentWindow) : Ievect::TImageEnVect(ParentWindow) { } }; //-- var, const, procedure --------------------------------------------------- } /* namespace Videocap */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_VIDEOCAP) using namespace Videocap; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // videocapHPP