// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'iemview.pas' rev: 37.00 (Windows) #ifndef iemviewHPP #define iemviewHPP #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 #include #include #include #include #include #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Iemview { //-- forward type declarations ----------------------------------------------- class DELPHICLASS TIEStarter; class DELPHICLASS TIECachedIcon; class DELPHICLASS TIECachedIconList; class DELPHICLASS TIEMViewerGestures; class DELPHICLASS TImageEnMView; //-- type declarations ------------------------------------------------------- typedef void __fastcall (__closure *TIEImageAddEvent)(System::TObject* Sender, int idx, const System::UnicodeString sFilename, bool bFolder, bool bHiddenFile, __int64 iFileSizeBytes, System::TDateTime CreateDate, System::TDateTime EditDate, bool &bAllow); typedef void __fastcall (__closure *TIEImageSelectEvent)(System::TObject* Sender, int idx); typedef void __fastcall (__closure *TIEMViewImageNotifyEvent)(System::TObject* Sender, int idx); typedef void __fastcall (__closure *TIESelectionChangingEvent)(System::TObject* Sender, bool &bAllow); typedef void __fastcall (__closure *TIECheckboxClickEvent)(System::TObject* Sender, int idx, bool &bChecked); typedef void __fastcall (__closure *TIEImageIDRequestEvent)(System::TObject* Sender, int Index, int ID, Vcl::Graphics::TBitmap* &Bitmap); typedef void __fastcall (__closure *TIEImageIDRequestExEvent)(System::TObject* Sender, int Index, int ID, Iexbitmaps::TIEBitmap* &Bitmap); typedef void __fastcall (__closure *TIEMProgressEvent)(System::TObject* Sender, int per, int idx); typedef void __fastcall (__closure *TIEWrongImageEvent)(System::TObject* Sender, Iexbitmaps::TIEBitmap* OutBitmap, int idx, bool &Handled); typedef void __fastcall (__closure *TIEImageDrawEvent)(System::TObject* Sender, int idx, int Left, int Top, Vcl::Graphics::TCanvas* Canvas); typedef void __fastcall (__closure *TIEImageDraw2Event)(System::TObject* Sender, int idx, int Left, int Top, const System::Types::TRect &ImageRect, Vcl::Graphics::TCanvas* Canvas); typedef void __fastcall (__closure *TIEImageDrawEventEx)(System::TObject* Sender, int idx, int Left, int Top, Vcl::Graphics::TBitmap* Dest, System::Types::TRect &ThumbRect); typedef void __fastcall (__closure *TIEImageOutEvent)(System::TObject* Sender, int idx, Iexbitmaps::TIEBitmap* OutBitmap); typedef void __fastcall (__closure *TIEImageAtPosEvent)(System::TObject* Sender, int &idx, int x, int y); typedef void __fastcall (__closure *TIECreateImageEvent)(System::TObject* Sender, int idx); typedef void __fastcall (__closure *TIEDestroyImageEvent)(System::TObject* Sender, int idx); typedef void __fastcall (__closure *TIEProcessStreamEvent)(System::TObject* Sender, System::Classes::TStream* Stream, System::Byte Version); typedef int __fastcall (*TIEImageEnMViewSortCompare)(int Item1, int Item2); typedef int __fastcall (__closure *TIEImageEnMViewSortCompareEx)(int Item1, int Item2); enum DECLSPEC_DENUM TIEImageEnMViewSortBy : unsigned char { iesbFilename, iesbTopText, iesbBottomText, iesbInfoText, iesbImageSize, iesbFilenameWithoutPath, iesbFileExtension, iesbFileSize, iesbCreateDate, iesbEditDate, iesbFileType, iesbCustom, iesbNone }; enum DECLSPEC_DENUM TIEImageEnMViewIconSize : unsigned char { ieicStandardSize, ieicDoubleSize, ieicStretchHD, ieicStretchAll }; enum DECLSPEC_DENUM TIEMCheckboxType : unsigned char { iecbNone, iecbShowOnHover, iecbAlways }; enum DECLSPEC_DENUM TIEMCheckboxPos : unsigned char { iecpTopLeft, iecpTopRight, iecpBottomLeft, iecpBottomRight }; enum DECLSPEC_DENUM TIEMSelectMode : unsigned char { imsNever, imsAuto, imsAlways }; enum DECLSPEC_DENUM TIEThumbSizeType : unsigned char { itsImage, itsCell, itsOuter }; enum DECLSPEC_DENUM TIEImageEnMViewDefaultText : unsigned char { iedtNone, iedtFilename, iedtFilenameNoExt, iedtFilePath, iedtImageDimensions, iedtImageDimAndSize, iedtFileSize, iedtFileCreateDate, iedtFileCreateDateTime, iedtFileCreateDateAndSize, iedtFileEditDate, iedtFileEditDateTime, iedtFileEditDateAndSize, iedtFileType, iedtFileExt }; enum DECLSPEC_DENUM TIEStoreType : unsigned char { ietNormal, ietThumb, ietFastThumb }; enum DECLSPEC_DENUM TIEFolderImageType : unsigned char { ieftSupportedImage, ieftFile, ieftFolder }; enum DECLSPEC_DENUM TIEMTextPos : unsigned char { iemtpTop, iemtpBottom, iemtpInfo }; enum DECLSPEC_DENUM TIEImageCacheReusage : unsigned char { iecrNone, iecrLoose, iecrStrict }; typedef void __fastcall (__closure *TIEGetTextEvent)(System::TObject* Sender, int Index, TIEMTextPos Position, System::WideString &Text); typedef void __fastcall (__closure *TIEGetTextExEvent)(System::TObject* Sender, int Index, TIEMTextPos Position, System::WideString &Text, Vcl::Graphics::TFont* Font, Vcl::Graphics::TBrushStyle &BackgroundStyle, System::Uitypes::TColor &BackgroundColor, Hyieutils::TIEMTruncSide &TruncSide); enum DECLSPEC_DENUM TIEMThumbnailOptionsExItems : unsigned char { ietxCenterThumbnailColumn, ietxShowIconForUnknownFormat, ietxShowIconWhileLoading, ietxShowShadowForIcons, ietxShowShadowForFolders, ietxEnableInternalIcons, ietxStretchSmallImages, ietxOnlyShowIcons }; typedef System::Set TIEMThumbnailOptionsEx; enum DECLSPEC_DENUM TIEMIOOptionsExItems : unsigned char { ieixLoadOnlyByFileExt, ieixWantParams, ieixRemoveCorrupted }; typedef System::Set TIEMIOOptionsEx; enum DECLSPEC_DENUM TIEMMouseInteractItems : unsigned char { mmiScroll, mmiSelect }; typedef System::Set TIEMMouseInteract; enum DECLSPEC_DENUM TIEMKeyInteractItems : unsigned char { mkiMoveSelected }; typedef System::Set TIEMKeyInteract; enum DECLSPEC_DENUM TIEMDisplayMode : unsigned char { mdGrid, mdSingle }; enum DECLSPEC_DENUM TIESeek : unsigned char { iskLeft, iskRight, iskUp, iskDown, iskFirst, iskLast, iskPagDown, iskPagUp, iskPrior, iskNext }; enum DECLSPEC_DENUM TIEMStyle : unsigned char { iemsFlat, iemsACD, iemsFlatAndWide, iemsColumns }; enum DECLSPEC_DENUM Iemview__1 : unsigned char { iemoRegion, iemoSelectOnMouseUp, iemoLeaveOneSelected, iemoRegionOnShift, iemoOptimizeForDragging, iemoSelectOnRightClick }; typedef System::Set TIEMultiSelectionOptions; typedef void __fastcall (__closure *TIEPlayFrameEvent)(System::TObject* Sender, int FrameIndex, bool &bShowFrame); class PASCALIMPLEMENTATION TIEStarter : public System::Classes::TThread { typedef System::Classes::TThread inherited; public: TImageEnMView* mview; Winapi::Windows::THandle resumeEvent; __fastcall TIEStarter(); __fastcall virtual ~TIEStarter(); virtual void __fastcall Execute(); }; enum DECLSPEC_DENUM TCachedIconType : unsigned char { citFullDraw, citIconOnly }; class PASCALIMPLEMENTATION TIECachedIcon : public System::TObject { typedef System::TObject inherited; public: Iexbitmaps::TIEBitmap* Bmp; System::UnicodeString Ext; __fastcall TIECachedIcon(Iexbitmaps::TIEBitmap* aBmp, const System::UnicodeString sExt); __fastcall virtual ~TIECachedIcon(); bool __fastcall MatchesExt(const System::UnicodeString sExt); }; class PASCALIMPLEMENTATION TIECachedIconList : public System::TObject { typedef System::TObject inherited; private: TImageEnMView* fOwner; int fMaxIconCount; System::Classes::TList* fDataList; bool fOwnerSoftShadowEnabled; double fOwnerSoftShadowRadius; void __fastcall ClearLastItem(); int __fastcall LookUpExt(const System::UnicodeString sExt); System::UnicodeString __fastcall GetCacheName(TCachedIconType aType, const System::UnicodeString sFilename, bool bIsFolder); public: __fastcall TIECachedIconList(TImageEnMView* Owner, int iMaxIconCount); __fastcall virtual ~TIECachedIconList(); void __fastcall Clear(); bool __fastcall RetrieveFromCache(TCachedIconType aType, const System::UnicodeString sFilename, bool bIsFolder, Iexbitmaps::TIEBitmap* &Dest, bool bWantCopy); void __fastcall SaveToCache(Iexbitmaps::TIEBitmap* Image, TCachedIconType aType, const System::UnicodeString sFilename, bool bIsFolder); }; typedef void __fastcall (__closure *TIEAnimationTextEvent)(System::TObject* Sender, int imageIndex, System::WideString &text); enum DECLSPEC_DENUM TIEAfterEvent : unsigned char { ieaeMouseDown, ieaeMouseUp, ieaeKeyDown, ieaeKeyUp, ieaePaint }; typedef void __fastcall (__closure *TIEAfterEventEvent)(System::TObject* Sender, TIEAfterEvent Event); class PASCALIMPLEMENTATION TIEMViewerGestures : public System::TObject { typedef System::TObject inherited; private: Imageenview::TIEGesturePanOptions* fPan; Imageenview::TIEGestureZoomOptions* fZoom; bool __fastcall GetEnabled(); public: __fastcall TIEMViewerGestures(); __fastcall virtual ~TIEMViewerGestures(); __property bool Enabled = {read=GetEnabled, nodefault}; __property Imageenview::TIEGesturePanOptions* Pan = {read=fPan}; __property Imageenview::TIEGestureZoomOptions* Zoom = {read=fZoom}; }; class PASCALIMPLEMENTATION TImageEnMView : public Ieview::TIEView { typedef Ieview::TIEView inherited; private: bool fMDown; Iexbitmaps::TIEBitmap* fBackBuffer; int fHSVX1; int fHSVY1; int fHoverCheckLastIdx; System::Types::TPoint fHoverCheckLastPos; Hyiedefs::TIEScrollStyle fScrollBars; double fRXScroll; double fRYScroll; int fViewX; int fViewY; Iexbitmaps::TIEVirtualImageList* fCacheList; TIECachedIconList* fIconList; TIEStoreType fStoreType; int fThumbWidth; int fThumbHeight; double fZoom; int fHorizBorder; int fVertBorder; int fVWidth; int fVHeight; Imageenview::TViewChangeEvent fOnViewChange; TIEImageAtPosEvent fOnImageAtPos; TIECreateImageEvent fOnCreateImage; TIEDestroyImageEvent fOnDestroyImage; TIEMProgressEvent fOnDrawProgress; TIEWrongImageEvent fOnWrongImage; Hyiedefs::hDrawDib fHDrawDib; TIEImageIDRequestEvent fOnImageIDRequest; TIEImageIDRequestExEvent fOnImageIDRequestEx; TIEImageDrawEvent fOnImageDraw; TIEImageDraw2Event fOnImageDraw2; TIEImageOutEvent fOnImageOut; Hyiedefs::TIEProgressEvent fOnIOProgress; int fBottomGap; int fUpperGap; int fTopTextHeight; int fInfoTextHeight; int fBottomTextHeight; int fSideGap; bool fModernStyling; int fTextMargin; int fTextBlockWidth; TIEMDisplayMode fDisplayMode; int fGridWidth; int fCurrentGridWidth; int fHSX1; int fHSY1; int fHSIDX; int fLHSIDX; bool fHSIDXSelected; int fSelectIdxOnMouseUp; int FLastRegionIdx; int fPriorHSIDX; int fLastMouseMoveX; int fLastMouseMoveY; Imageenio::TImageEnIO* fImageEnIO; int fLockPaint; int fLockUpdate; bool fDrawImageBackground; bool fScrollBarsAlwaysVisible; Hyieutils::TIEScrollBarParams* fVScrollBarParams; Hyieutils::TIEScrollBarParams* fHScrollBarParams; Hyieutils::TIEMouseWheelParams* fMouseWheelParams; Hyieutils::TIEMouseWheelParams* fMouseWheelParamsAlt; Hyiedefs::TResampleFilter fThumbnailResampleFilter; Hyiedefs::TResampleFilter fThumbnailDisplayFilter; int fThumbnailClipping; bool fDestroying; TIEMStyle fStyle; bool fDoubleClicking; System::Uitypes::TColor fThumbnailsBackground; System::Uitypes::TColor fThumbnailsBackgroundSelected; int fThumbnailsBorderWidth; System::Uitypes::TColor fThumbnailsBorderColor; bool fThumbnailsBorderCurved; bool fThumbnailsInternalBorder; System::Uitypes::TColor fThumbnailsInternalBorderColor; bool fUpdating; TIEImageEnMViewIconSize fIconSize; int fThumbsRounded; bool fEnableAdjustOrientation; bool fEnableLoadEXIFThumbnails; bool fEnableLoadExplorerThumbnails; bool fEnableAlphaChannel; Hyiedefs::TIEBackgroundStyle fBackgroundStyle; Hyiedefs::TIEBackgroundStyle fThumbnailsBackgroundStyle; bool fFillThumbnail; TIEImageEnMViewSortCompare fCurrentCompare; TIEImageEnMViewSortCompareEx fCurrentCompareEx; TIEImageEnMViewSortBy fCurrentOrderBy; bool fCurrentAscending; bool fCurrentCaseSensitive; int fThreadPoolSize; System::Classes::TList* fThreadPoolIO; System::Classes::TList* fThreadRequests; TIEStarter* fThreadStarter; System::Classes::TList* fLookAheadList; Vcl::Graphics::TPicture* fWallpaper; Imageenview::TIEWallpaperStyle fWallpaperStyle; int fSelectedItem; bool fVisibleSelection; int fSelectionBorderWidth; int fSelectionBorderWidthNoFocus; System::Uitypes::TColor fThumbnailsSelectedBorderColor; TIEImageSelectEvent fOnImageSelect; TIEImageSelectEvent fOnImageDeselect; TIESelectionChangingEvent fOnSelectionChanging; TIEImageAddEvent fOnImageAdd; TIEMViewImageNotifyEvent fOnImageAdded; TIEMViewImageNotifyEvent fOnImageLoaded; TIEGetTextEvent fOnGetText; TIEGetTextExEvent fOnGetTextEx; TIEMMouseInteract fMouseInteract; TIEMThumbnailOptionsEx fThumbnailOptionsEx; TIEMIOOptionsEx fIOOptionsEx; TIEMKeyInteract fKeyInteract; Iexbitmaps::TIEBitmap* fSelectedBitmap; bool fMultiSelecting; bool fEnableMultiSelect; bool fHaveMultiselected; bool fSelectInclusive; TIEMultiSelectionOptions fMultiSelectionOptions; bool fSelectImages; bool fChangedSel; System::Uitypes::TColor fSelectedFontColor; bool fPlaying; int fPlayTimer; bool fPlayLoop; bool fTimerInProgress; int fFrame; TIEMDisplayMode fSaveDM; int fSaveSel; int fLastImOp; int fLastImIdx; int fLastImP1; Hyiedefs::TIEArrayOfInteger fLastImGroup; Iextransitions::TIETransitionEffects* fTransition; Iextransitions::TIETransitionType fTransitionEffect; int fTransitionDuration; Hyiedefs::TIEProgressEvent fOnProgress; TIEImageDrawEvent fOnBeforeImageDraw; TIEImageDrawEventEx fOnBeforeImageDrawEx; bool fEnableImageCaching; Hyiedefs::TIEVSoftShadow* fSoftShadow; int fChessboardSize; Vcl::Graphics::TBrushStyle fChessboardBrushStyle; bool fChessboardColor2Customized; System::Uitypes::TColor fGradientEndColor; bool fShowText; bool fFlatScrollBars; Iexbitmaps::TIEBitmap* fThumbnailFrame; Iexbitmaps::TIEBitmap* fThumbnailFrameSelected; System::Types::TRect fThumbnailFrameRect; System::Classes::TList* fMultiOnDemands; int fMaintainInvisibleImages; int fLookAhead; System::Classes::TNotifyEvent fOnAllDisplayed; bool fAllDisplayed; bool fUserAction; System::Classes::TNotifyEvent fOnFinishWork; Imageenio::TIEAcquireBitmapEvent fOnAcquireBitmap; TIEPlayFrameEvent fOnPlayFrame; System::Syncobjs::TCriticalSection* fThreadCS; Vcl::Graphics::TFont* fBottomTextFont; Vcl::Graphics::TFont* fTopTextFont; Vcl::Graphics::TFont* fInfoTextFont; Vcl::Graphics::TBrushStyle fTextBackgroundStyle; System::Uitypes::TColor fTextBackgroundColor; Hyieutils::TIEMTruncSide fTextTruncSide; bool fTrackMouseSelection; bool fDrawMouseSelection; bool fCheckThumbBoundsOnSelect; bool fSelectedImageAlwaysVisible; TIEAfterEventEvent fOnAfterEvent; System::Classes::TStringList* fFileTypeList; Iexbitmaps::TIEBitmap* fMissingFileIcon; Iexbitmaps::TIEBitmap* fDefaultFileIcon; bool fAnnotationsVisible; TIEImageCacheReusage fImageCacheReusage; System::StaticArray fTextColumnWidths; System::StaticArray fTextColsCurrentRight; int fResizingTextColIdx; int fResizingTextColClickX; int fResizingTextColWidth; Ieanimation::TIEAnimation* fAnimation; Vcl::Extctrls::TTimer* fAnimationTimer; bool fAnimationDraggingSlider; TIEAnimationTextEvent fOnAnimationText; Vcl::Extctrls::TTimer* fDragScrollTimer; int fDragScrollCount; TIEMCheckboxType fCheckboxes; TIEMCheckboxPos fCheckboxPos; TIECheckboxClickEvent fOnCheckboxClick; int fCheckedCount; Vcl::Graphics::TBitmap* fCheckedBitmap; Vcl::Graphics::TBitmap* fUncheckedBitmap; System::Types::TPoint fCheckboxMargins; TIEImageEnMViewDefaultText fDefaultTopText; TIEImageEnMViewDefaultText fDefaultInfoText; TIEImageEnMViewDefaultText fDefaultBottomText; TIEMViewerGestures* fGestures; Imageenview::TIEImageEnGestureEvent fOnImageEnGesture; int fGestureStartX; int fGestureStartY; int fGestureBaseViewX; int fGestureBaseViewY; double fGestureBaseZoom; int fGestureStartValue; void __fastcall InitializeDragScrollTimer(); void __fastcall TerminateDragScrollTimer(); void __fastcall DragScrollTimer(System::TObject* Sender); System::Types::TPoint __fastcall ThumbnailsOrigin(); int __fastcall CurrentTextBlockWidth(); int __fastcall CurrentHeaderRowHeight(); System::UnicodeString __fastcall GetHintStr(int idx); void __fastcall GetMaxViewXY(int &mx, int &my); void __fastcall SetViewX(int v); void __fastcall SetViewY(int v); int __fastcall GetImageX(int idx); int __fastcall GetImageY(int idx); int __fastcall GetImageCol(int idx); int __fastcall GetImageRow(int idx); void __fastcall SetThumbWidth(int v); void __fastcall SetThumbHeight(int v); void __fastcall SetZoom(double value); int __fastcall GetImageCount(); void __fastcall SetImageTopText(int idx, System::WideString v); void __fastcall SetImageBottomText(int idx, System::WideString v); void __fastcall SetImageInfoText(int idx, System::WideString v); void __fastcall SetImageFileName(int idx, System::WideString v); System::WideString __fastcall GetImageFileName(int idx); void __fastcall SetImageID(int idx, int v); int __fastcall GetImageID(int idx); void __fastcall SetImageTag(int idx, int v); int __fastcall GetImageTag(int idx); void __fastcall SetImageUserPointer(int idx, void * v); void * __fastcall GetImageUserPointer(int idx); System::WideString __fastcall GetImageFileType(int idx); void __fastcall SetHorizBorder(int v); void __fastcall SetVertBorder(int v); void __fastcall SetSelectedImageAlwaysVisible(bool v); void __fastcall SetMouseWheelParams(Hyieutils::TIEMouseWheelParams* v); void __fastcall SetMouseWheelParamsAlt(Hyieutils::TIEMouseWheelParams* v); bool __fastcall DeleteImageNU(int idx, bool bBatchProcessing = false); void __fastcall DeleteAllImages(); void __fastcall SetCheckboxes(TIEMCheckboxType v); void __fastcall SetCheckboxPos(TIEMCheckboxPos v); bool __fastcall GetChecked(int index); void __fastcall SetChecked(int index, bool v); void __fastcall SetVisibleSelection(bool v); void __fastcall SetSelectionBorderWidth(int v); void __fastcall SetSelectionBorderWidthNoFocus(int v); void __fastcall SetThumbnailsSelectedBorderColor(System::Uitypes::TColor v); void __fastcall SetSelectedItem(int v); void __fastcall SetBottomGap(int v); void __fastcall SetUpperGap(int v); void __fastcall SetSideGap(int v); void __fastcall SetTextMargin(int v); void __fastcall SetTextBlockWidth(int v); void __fastcall SetImageBackground(int idx, System::Uitypes::TColor v); System::Uitypes::TColor __fastcall GetImageBackground(int idx); void __fastcall SetImageDelayTime(int idx, double v); double __fastcall GetImageDelayTime(int idx); bool __fastcall ObtainImageThreaded(int idx, int priority); void __fastcall SetDisplayMode(TIEMDisplayMode v); void __fastcall SetGridWidth(int v); void __fastcall SetPlaying(bool v); void __fastcall PlayFrame(); void __fastcall SetSelectedItemNU(int v); void __fastcall DeselectNU(); void __fastcall SetVisibleFrame(int v); TIEMMouseInteract __fastcall GetMouseInteract(); TIEMKeyInteract __fastcall GetKeyInteract(); void __fastcall SetDrawImageBackground(bool v); bool __fastcall GetScrollBarsAlwaysVisible(); void __fastcall SetScrollBarsAlwaysVisible(bool v); void __fastcall SetImageCacheSize(int v); int __fastcall GetImageCacheSize(); void __fastcall SetImageCacheUseDisk(bool v); bool __fastcall GetImageCacheUseDisk(); bool __fastcall GetTransitionRunning(); System::WideString __fastcall GetImageTopText(int idx); System::WideString __fastcall GetImageBottomText(int idx); System::WideString __fastcall GetImageInfoText(int idx); void __fastcall SetStyle(TIEMStyle value); void __fastcall SetEnableMultiSelect(bool Value); int __fastcall GetMultiSelectedImages(int index); int __fastcall GetMultiSelectedImagesCount(); Hyiedefs::TIEArrayOfInteger __fastcall GetMultiSelectedImagesList(); int __fastcall GetTextColumnWidths(TIEMTextPos Col); void __fastcall SetTextColumnWidths(TIEMTextPos Col, int value); int __fastcall CurrentTextColumnWidths(TIEMTextPos Col); void __fastcall SetThumbnailsBorderWidth(int Value); void __fastcall SetThumbnailsBorderColor(System::Uitypes::TColor Value); void __fastcall SetThumbnailsBorderCurved(bool Value); void __fastcall SetThumbnailsInternalBorder(bool Value); void __fastcall SetThumbnailsInternalBorderColor(System::Uitypes::TColor Value); void __fastcall SetEnableResamplingOnMinor(bool Value); bool __fastcall GetEnableResamplingOnMinor(); void __fastcall SetIconSize(TIEImageEnMViewIconSize Value); void __fastcall DrawImage(Vcl::Graphics::TBitmap* DestBitmap, Iexbitmaps::TIEImageInfo* info, bool IsSelected, int Index); void __fastcall DrawColumnsHeaderRow(Vcl::Graphics::TBitmap* DestBitmap); void __fastcall ThreadFinish(System::TObject* Sender); int __fastcall GetImageBitCount(int idx); int __fastcall GetMaximumViewX(); int __fastcall GetMaximumViewY(); void __fastcall SetEnableImageCaching(bool v); bool __fastcall SetImageFromStreamOrFile(int idx, System::Classes::TStream* Stream, const System::WideString FileName, int SourceImageIndex, Hyieutils::TIOFileType FileFormat); void __fastcall SetEnableAlphaChannel(bool v); void __fastcall SetBackgroundStyle(Hyiedefs::TIEBackgroundStyle v); void __fastcall SetThumbnailsBackgroundStyle(Hyiedefs::TIEBackgroundStyle v); void __fastcall SetGradientEndColor(System::Uitypes::TColor Value); void __fastcall SetFillThumbnail(bool Value); void __fastcall SetAnnotationsVisible(bool Value); void __fastcall SetShowText(bool Value); void __fastcall SetThumbnailClipping(int Value); void __fastcall SetFlatScrollBars(bool Value); int __fastcall GetJobsRunning(); int __fastcall GetJobsWaiting(); int __fastcall SortCompareFunction(int index1, int index2); int __fastcall SortCompareBy(int index1, int index2); Imageenio::TImageEnIO* __fastcall GetOnDemandIO(const System::WideString filename, int &FrameIndex); void __fastcall ClearOnDemandIOList(); void __fastcall LoadMultiOnDemand(Imageenio::TImageEnIO* io, int frameindex, double &dt); bool __fastcall IsOnDemand(Iexbitmaps::TIEImageInfo* info); bool __fastcall IsLookAhead(int idx); virtual void __fastcall SetOnFinishWork(System::Classes::TNotifyEvent v); virtual System::Classes::TNotifyEvent __fastcall GetOnFinishWork(); virtual void __fastcall SetOnAcquireBitmap(Imageenio::TIEAcquireBitmapEvent v); virtual Imageenio::TIEAcquireBitmapEvent __fastcall GetOnAcquireBitmap(); System::UnicodeString __fastcall GetImageEnVersion(); void __fastcall SetImageEnVersion(System::UnicodeString Value); void __fastcall AbortImageLoading(int idx); void __fastcall Sort2(TIEImageEnMViewSortCompare Compare, TIEImageEnMViewSortCompareEx CompareEx); int __fastcall ImageAtPosWithCheckEvent(int x, int y, bool checkBounds, bool bRelativeToWindow = true); void __fastcall SetAnimation(Ieanimation::TIEAnimation* value); void __fastcall AnimGetImageInfo(System::TObject* Sender, int imageIndex, bool isVisible, int &ImageWidth, int &ImageHeight, System::WideString &text); void __fastcall AnimGetImage(System::TObject* Sender, int imageIndex, Iexbitmaps::TIEBitmap* &image, System::WideString &text); void __fastcall AnimReleaseImage(System::TObject* Sender, int imageIndex, Iexbitmaps::TIEBitmap* &image); void __fastcall AnimPaintTo(Iexbitmaps::TIEBitmap* dest); void __fastcall AnimTimer(System::TObject* Sender); bool __fastcall BiDiModeIsRTL(); void __fastcall CheckSelectedImageIsVisible(); void __fastcall DoAfterEvent(TIEAfterEvent e); void __fastcall ProcessUndoRedo(System::TObject* Sender, bool bIsUndo, Imageenproc::TIEUndoSource Source, System::TObject* UndoObj, int iIndex, bool &bHandled); bool __fastcall CheckSelectionChangingAllowed(); HIDESBASE MESSAGE void __fastcall WMGestureNotify(Hyiedefs::TIEWMGestureNotify &Msg); MESSAGE void __fastcall WMEnabled(Winapi::Messages::TMessage &Msg); HIDESBASE MESSAGE void __fastcall WMGesture(Winapi::Messages::TMessage &Msg); virtual void __fastcall DoImageEnGestureEvent(const Hyiedefs::TIEGESTUREINFO &GInfo, bool &Handled); double __fastcall PerformZoomSnap(double Value); bool __fastcall IEMBitmap_IsTIEDBMultiBitmap(); void __fastcall Reset(bool bClear = false); int __fastcall GetStyleInt(); void __fastcall SetStyleInt(int v); void __fastcall SetShowThumbnailHint(const bool Value); void __fastcall SetDefaultTopText(TIEImageEnMViewDefaultText Value); void __fastcall SetDefaultInfoText(TIEImageEnMViewDefaultText Value); void __fastcall SetDefaultBottomText(TIEImageEnMViewDefaultText Value); void __fastcall UpdateTopTextHeight(bool bHasText); void __fastcall UpdateInfoTextHeight(bool bHasText); void __fastcall UpdateBottomTextHeight(bool bHasText); void __fastcall TopTextFontChange(System::TObject* Sender); void __fastcall InfoTextFontChange(System::TObject* Sender); void __fastcall BottomTextFontChange(System::TObject* Sender); protected: Iemio::TImageEnMIO* fImageEnMIO; Imageenproc::TImageEnProc* fImageEnProc; System::Classes::TList* fMultiSelectedImages; Iexbitmaps::TIECustomMultiBitmap* fIEMBitmap; bool fIEMBitmapIsExternal; bool fShowThumbnailHint; bool fDragging; Iexbitmaps::TIECustomMultiBitmap* __fastcall GetIEMBitmap(); void __fastcall UpdateParams(System::TObject* Sender, int Operation, int Idx, int ExtraParam); virtual Iemio::TImageEnMIO* __fastcall GetImageEnMIO(); virtual Imageenproc::TImageEnProc* __fastcall GetImageEnProc(); virtual void __fastcall SetScrollBars(Hyiedefs::TIEScrollStyle v); void __fastcall SetStoreType(TIEStoreType v); MESSAGE void __fastcall IEMAutoScroll(Winapi::Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMSize(Winapi::Messages::TWMSize &Message); HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Winapi::Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMVScroll(Winapi::Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall WMHScroll(Winapi::Messages::TMessage &Message); MESSAGE void __fastcall WMTimer(Winapi::Messages::TWMTimer &Message); MESSAGE void __fastcall CMWantSpecialKey(Vcl::Controls::TCMWantSpecialKey &Msg); HIDESBASE MESSAGE void __fastcall CNKEYUP(Winapi::Messages::TMessage &Message); DYNAMIC void __fastcall MouseDown(System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y); DYNAMIC void __fastcall MouseMove(System::Classes::TShiftState Shift, int X, int Y); DYNAMIC void __fastcall MouseUp(System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y); HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Winapi::Messages::TWMLButtonDblClk &Message); HIDESBASE MESSAGE void __fastcall WMKillFocus(Winapi::Messages::TWMKillFocus &Msg); HIDESBASE MESSAGE void __fastcall WMSetFocus(Winapi::Messages::TWMSetFocus &Msg); HIDESBASE MESSAGE void __fastcall WMMouseWheel(Winapi::Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall CMHintShow(Winapi::Messages::TMessage &Message); virtual void __fastcall ViewChange(int c); DYNAMIC bool __fastcall PaletteChanged(bool Foreground); virtual void __fastcall SetBackground(System::Uitypes::TColor cl); virtual Vcl::Graphics::TBitmap* __fastcall GetFBitmap(); virtual Iexbitmaps::TIEBitmap* __fastcall GetIEBitmap(); void __fastcall SetThumbnailOptionsEx(TIEMThumbnailOptionsEx v); void __fastcall SetIOOptionsEx(TIEMIOOptionsEx v); virtual void __fastcall SetMouseInteract(TIEMMouseInteract v); virtual void __fastcall SetKeyInteract(TIEMKeyInteract v); int __fastcall GetImageWidth(int idx); int __fastcall GetImageHeight(int idx); int __fastcall GetImageOriginalWidth(int idx); int __fastcall GetImageOriginalHeight(int idx); System::TDateTime __fastcall GetImageCreateDate(int idx); __int64 __fastcall GetImageFileSize(int idx); System::TDateTime __fastcall GetImageEditDate(int idx); TIEFolderImageType __fastcall GetImageType(int idx); void __fastcall SetImageOriginalWidth(int idx, int Value); void __fastcall SetImageOriginalHeight(int idx, int Value); void __fastcall SetImageCreateDate(int idx, System::TDateTime Value); void __fastcall SetImageFileSize(int idx, __int64 Value); void __fastcall SetImageEditDate(int idx, System::TDateTime Value); DYNAMIC void __fastcall KeyDown(System::Word &Key, System::Classes::TShiftState Shift); DYNAMIC void __fastcall KeyUp(System::Word &Key, System::Classes::TShiftState Shift); void __fastcall SelectAtPos(int X, int Y, System::Classes::TShiftState Shift); void __fastcall SetWallpaper(Vcl::Graphics::TPicture* Value); void __fastcall SetWallpaperStyle(Imageenview::TIEWallpaperStyle Value); virtual bool __fastcall GetHasAlphaChannel(); virtual Iexbitmaps::TIEBitmap* __fastcall GetAlphaChannel(); virtual void __fastcall SetOnProgress(Hyiedefs::TIEProgressEvent v); virtual Hyiedefs::TIEProgressEvent __fastcall GetOnProgress(); virtual void __fastcall ClearThreadsAndRequests(); void __fastcall ClearCache(); virtual void __fastcall DoWrongImage(Iexbitmaps::TIEBitmap* OutBitmap, int idx, Iexbitmaps::TIESourceType &ASourceType); virtual void __fastcall DoImageSelect(int idx); virtual void __fastcall DoImageDeselect(int idx); void __fastcall SwapImages(int idx1, int idx2); int __fastcall IsRequested(int idx); void __fastcall PaintBackgroundTo(Vcl::Graphics::TBitmap* DestBitmap); int __fastcall ImageAtPosEx(int x, int y, bool checkBounds = true, bool bRelativeToWindow = true); System::WideString __fastcall ReplaceIEMConst(const System::WideString ws, int idx)/* overload */; System::WideString __fastcall ReplaceIEMConst(const TIEImageEnMViewDefaultText DefaultText, int idx)/* overload */; void __fastcall GetFileDetailsForImage(int idx); void __fastcall DrawCheckbox(Vcl::Graphics::TCanvas* ACanvas, int Index, const System::Types::TRect &ThumbRect, bool IsSelected, bool bRelativeToView = false)/* overload */; void __fastcall DrawCheckbox(Vcl::Graphics::TCanvas* ACanvas, int Index, bool IsSelected, bool bRelativeToView = false)/* overload */; int __fastcall CheckboxAtPos(int X, int Y); void __fastcall ClickCheckboxAtPos(int X, int Y); System::Types::TRect __fastcall ThumbToCheckboxRect(const System::Types::TRect &ThumbRect, bool bRelativeToView = false); void __fastcall _UpdateImage(int idx, bool bInvalidateOnly); virtual void __fastcall ClickColumnsHeaderRowCell(TIEMTextPos Col); virtual void __fastcall DrawColumnsHeaderRowCell(Vcl::Graphics::TCanvas* Canvas, const System::Types::TRect &Rect, TIEMTextPos Col); public: __fastcall virtual TImageEnMView(System::Classes::TComponent* Owner); __fastcall virtual ~TImageEnMView(); virtual void __fastcall Update(); void __fastcall UpdateEx(bool bUpdateCache, bool bRespositionSelection = false); HIDESBASE virtual void __fastcall PaintTo(Vcl::Graphics::TBitmap* DestBitmap); virtual void __fastcall PaintToCanvas(Vcl::Graphics::TCanvas* DestCanvas); virtual void __fastcall Paint(); __property ClientWidth; __property ClientHeight; __property int ViewX = {read=fViewX, write=SetViewX, nodefault}; __property int ViewY = {read=fViewY, write=SetViewY, nodefault}; __property double Zoom = {read=fZoom, write=SetZoom}; __property int MaximumViewX = {read=GetMaximumViewX, nodefault}; __property int MaximumViewY = {read=GetMaximumViewY, nodefault}; void __fastcall SetViewXY(int x, int y); void __fastcall CenterSelected(); void __fastcall CenterFrame(); virtual void __fastcall LockPaint(); virtual void __fastcall LockUpdate(); virtual int __fastcall UnLockPaint(); virtual int __fastcall UnlockUpdate(); int __fastcall UnLockUpdateEx(); virtual int __fastcall NPUnLockPaint(); System::Types::TPoint __fastcall ThumbSizeInfo(TIEThumbSizeType Data); __property TIEImageCacheReusage ImageCacheReusage = {read=fImageCacheReusage, write=fImageCacheReusage, nodefault}; void * __fastcall FindImageInCache(int idx, const System::UnicodeString sFilename); bool __fastcall ObtainImageNow(int idx); void __fastcall SetLastImOp(int LastImOp, int LastImIdx, int LastImP1 = 0x0)/* overload */; void __fastcall SetLastImOp(int LastImOp, int LastImIdx, int LastImP1, Hyiedefs::TIEArrayOfInteger LastImGroup)/* overload */; __property int LockPaintCount = {read=fLockPaint, nodefault}; __property int LockUpdateCount = {read=fLockUpdate, nodefault}; __property Hyiedefs::TIEVSoftShadow* SoftShadow = {read=fSoftShadow}; void __fastcall SetChessboardStyle(int Size, Vcl::Graphics::TBrushStyle BrushStyle = (Vcl::Graphics::TBrushStyle)(0x0), System::Uitypes::TColor Color1 = (System::Uitypes::TColor)(0x1fffffff), System::Uitypes::TColor Color2 = (System::Uitypes::TColor)(0x1fffffff)); __property System::Uitypes::TColor GradientEndColor = {read=fGradientEndColor, write=SetGradientEndColor, nodefault}; __property bool FillThumbnail = {read=fFillThumbnail, write=SetFillThumbnail, nodefault}; void __fastcall SetModernStyling(bool bAutoGridWidth = false, int iThumbWidth = 0x0, int iThumbHeight = 0x0, bool bSoftShadow = true); __property bool AnnotationsVisible = {read=fAnnotationsVisible, write=SetAnnotationsVisible, nodefault}; __property int ThumbsRounded = {read=fThumbsRounded, write=fThumbsRounded, nodefault}; void __fastcall SetPresetThumbnailFrame(int PresetIndex, System::Uitypes::TColor UnselectedColor, System::Uitypes::TColor SelectedColor); __property Iexbitmaps::TIEBitmap* ThumbnailFrame = {read=fThumbnailFrame, write=fThumbnailFrame}; __property Iexbitmaps::TIEBitmap* ThumbnailFrameSelected = {read=fThumbnailFrameSelected, write=fThumbnailFrameSelected}; __property System::Types::TRect ThumbnailFrameRect = {read=fThumbnailFrameRect, write=fThumbnailFrameRect}; __property MouseCapture; virtual void __fastcall Assign(System::Classes::TPersistent* Source); void __fastcall AssignEx(System::TObject* Source, bool bCopyParams = false); void __fastcall AssignLayers(Imageenview::TImageEnView* Source, bool HighlightSel, bool DoClear = true); virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight); int __fastcall GetLastOp(); int __fastcall GetLastOpIdx(); int __fastcall GetLastOpP1(); Hyiedefs::TIEArrayOfInteger __fastcall GetLastOpGroup(); __property bool ScrollBarsAlwaysVisible = {read=GetScrollBarsAlwaysVisible, write=SetScrollBarsAlwaysVisible, nodefault}; int __fastcall RemoveBlankPages(double Tolerance = 0.000000E+00, bool Complete = true, bool LeftToRight = true); int __fastcall RemoveDuplicates(); int __fastcall CalcGridWidth(); int __fastcall CalcGridHeight(); __property Hyieutils::TIEScrollBarParams* VScrollBarParams = {read=fVScrollBarParams}; __property Hyieutils::TIEScrollBarParams* HScrollBarParams = {read=fHScrollBarParams}; virtual void __fastcall RemoveAlphaChannel(bool Merge); virtual void __fastcall CallBitmapChangeEvents(); void __fastcall EnsureImageLoaded(int idx); void __fastcall FillFromDirectory(const System::WideString Directory, int Limit = 0xffffffff, bool AllowUnknownFormats = false, const System::WideString ExcludeExtensions = System::WideString(), bool DetectFileFormat = false, const System::WideString FilterMask = System::WideString(), bool IncludeVideoFiles = false, bool LoadOnDemand = true, TIEImageEnMViewDefaultText DefaultTopText = (TIEImageEnMViewDefaultText)(0x0), TIEImageEnMViewDefaultText DefaultInfoText = (TIEImageEnMViewDefaultText)(0x0), TIEImageEnMViewDefaultText DefaultBottomText = (TIEImageEnMViewDefaultText)(0x1), bool bShowHiddenFiles = false, bool bShowFolders = false); __property bool EnableAdjustOrientation = {read=fEnableAdjustOrientation, write=fEnableAdjustOrientation, nodefault}; __property int MaintainInvisibleImages = {read=fMaintainInvisibleImages, write=fMaintainInvisibleImages, nodefault}; void __fastcall LoadFromFileOnDemand(const System::WideString FileName, bool Append = false); __property bool EnableLoadEXIFThumbnails = {read=fEnableLoadEXIFThumbnails, write=fEnableLoadEXIFThumbnails, nodefault}; __property bool EnableLoadExplorerThumbnails = {read=fEnableLoadExplorerThumbnails, write=fEnableLoadExplorerThumbnails, nodefault}; void __fastcall CreateMorphingSequence(Ievect::TImageEnVect* Source, Ievect::TImageEnVect* Target, int FramesCount); __property int JobsRunning = {read=GetJobsRunning, nodefault}; __property int JobsWaiting = {read=GetJobsWaiting, nodefault}; __property int LookAhead = {read=fLookAhead, write=fLookAhead, nodefault}; void __fastcall ClearImageCache(int idx); __property bool EnableImageCaching = {read=fEnableImageCaching, write=SetEnableImageCaching, default=1}; __property int ImageWidth[int idx] = {read=GetImageWidth}; __property int ImageHeight[int idx] = {read=GetImageHeight}; __property int ImageOriginalWidth[int idx] = {read=GetImageOriginalWidth, write=SetImageOriginalWidth}; __property int ImageOriginalHeight[int idx] = {read=GetImageOriginalHeight, write=SetImageOriginalHeight}; __property int ImageBitCount[int idx] = {read=GetImageBitCount}; __property int ImageX[int idx] = {read=GetImageX}; __property int ImageY[int idx] = {read=GetImageY}; __property int ImageRow[int idx] = {read=GetImageRow}; __property int ImageCol[int idx] = {read=GetImageCol}; __property System::WideString ImageFileName[int idx] = {read=GetImageFileName, write=SetImageFileName}; __property int ImageID[int idx] = {read=GetImageID, write=SetImageID}; __property int ImageTag[int idx] = {read=GetImageTag, write=SetImageTag}; __property void * ImageUserPointer[int idx] = {read=GetImageUserPointer, write=SetImageUserPointer}; __property System::Uitypes::TColor ImageBackground[int idx] = {read=GetImageBackground, write=SetImageBackground}; __property double ImageDelayTime[int idx] = {read=GetImageDelayTime, write=SetImageDelayTime}; __property System::TDateTime ImageCreateDate[int idx] = {read=GetImageCreateDate, write=SetImageCreateDate}; __property System::TDateTime ImageEditDate[int idx] = {read=GetImageEditDate, write=SetImageEditDate}; __property __int64 ImageFileSize[int idx] = {read=GetImageFileSize, write=SetImageFileSize}; __property System::WideString ImageTopText[int idx] = {read=GetImageTopText, write=SetImageTopText}; __property System::WideString ImageBottomText[int idx] = {read=GetImageBottomText, write=SetImageBottomText}; __property System::WideString ImageInfoText[int idx] = {read=GetImageInfoText, write=SetImageInfoText}; __property System::WideString ImageFileType[int idx] = {read=GetImageFileType}; __property Vcl::Graphics::TFont* DefaultBottomTextFont = {read=fBottomTextFont}; __property Vcl::Graphics::TFont* DefaultTopTextFont = {read=fTopTextFont}; __property Vcl::Graphics::TFont* DefaultInfoTextFont = {read=fInfoTextFont}; __property Vcl::Graphics::TBrushStyle DefaultTextBackgroundStyle = {read=fTextBackgroundStyle, write=fTextBackgroundStyle, nodefault}; __property bool EnableResamplingOnMinor = {read=GetEnableResamplingOnMinor, write=SetEnableResamplingOnMinor, nodefault}; __property Vcl::Graphics::TFont* BottomTextFont = {read=fBottomTextFont}; __property Vcl::Graphics::TFont* TopTextFont = {read=fTopTextFont}; __property Vcl::Graphics::TFont* InfoTextFont = {read=fInfoTextFont}; __property Vcl::Graphics::TBrushStyle TextBackgroundStyle = {read=fTextBackgroundStyle, write=fTextBackgroundStyle, nodefault}; __property int TextColumnWidths[TIEMTextPos Col] = {read=GetTextColumnWidths, write=SetTextColumnWidths}; __property System::Uitypes::TColor TextBackgroundColor = {read=fTextBackgroundColor, write=fTextBackgroundColor, nodefault}; __property Hyieutils::TIEMTruncSide TextTruncSide = {read=fTextTruncSide, write=fTextTruncSide, nodefault}; __property bool ShowText = {read=fShowText, write=SetShowText, nodefault}; void __fastcall UpdateImage(int idx); void __fastcall InsertImage(int Idx)/* overload */; void __fastcall InsertImage(int Idx, System::Classes::TStream* Stream)/* overload */; void __fastcall InsertImage(int Idx, Iexbitmaps::TIEBitmap* Bitmap)/* overload */; void __fastcall InsertImage(int Idx, Vcl::Graphics::TBitmap* Bitmap)/* overload */; void __fastcall InsertImage(int Idx, int Width, int Height, Hyieutils::TIEPixelFormat PixelFormat = (Hyieutils::TIEPixelFormat)(0x5))/* overload */; void __fastcall InsertImage(int Idx, const System::UnicodeString FileName)/* overload */; void __fastcall InsertImage(int Idx, const System::UnicodeString FileName, bool LoadOnDemand, TIEImageEnMViewDefaultText DefaultTopText = (TIEImageEnMViewDefaultText)(0x0), TIEImageEnMViewDefaultText DefaultInfoText = (TIEImageEnMViewDefaultText)(0x0), TIEImageEnMViewDefaultText DefaultBottomText = (TIEImageEnMViewDefaultText)(0x1), bool bSelectIt = true)/* overload */; void __fastcall InsertImageEx(int idx, TIEMSelectMode SelectMode = (TIEMSelectMode)(0x0)); void __fastcall InsertTransitionFrames(int Idx, int iFrameCount, Iextransitions::TIETransitionType Effect, int iWidth = 0xffffffff, int iHeight = 0xffffffff, System::Uitypes::TColor BackgroundColor = (System::Uitypes::TColor)(0xffffffff), Hyiedefs::TResampleFilter ResamplingFilter = (Hyiedefs::TResampleFilter)(0x9)); void __fastcall InsertTransitionFramesEx(int Idx, int iFrameCount, Iextransitions::TIETransitionType Effect, const System::Types::TRect &StartRect, const System::Types::TRect &EndRect, bool RectMaintainAspectRatio = true, int iWidth = 0xffffffff, int iHeight = 0xffffffff, bool bStretchSmall = false, System::Uitypes::TColor BackgroundColor = (System::Uitypes::TColor)(0xffffffff), Hyiedefs::TResampleFilter ResamplingFilter = (Hyiedefs::TResampleFilter)(0x9), int Smoothing = 0x60, Iextransitions::TIETransitionTiming Timing = (Iextransitions::TIETransitionTiming)(0x0)); void __fastcall MoveImage(int idx, int destination); void __fastcall MoveSelectedImagesTo(int beforeImage, bool bUseDisplayOrder = true); void __fastcall Sort(TIEImageEnMViewSortCompare Compare)/* overload */; void __fastcall Sort(TIEImageEnMViewSortCompareEx Compare)/* overload */; void __fastcall Sort(TIEImageEnMViewSortBy OrderBy, bool Ascending = true, bool CaseSensitive = true)/* overload */; int __fastcall AppendImage()/* overload */; int __fastcall AppendImage(System::Classes::TStream* Stream)/* overload */; int __fastcall AppendImage(Iexbitmaps::TIEBitmap* Bitmap)/* overload */; int __fastcall AppendImage(Vcl::Graphics::TBitmap* Bitmap)/* overload */; int __fastcall AppendImage(int Width, int Height, Hyieutils::TIEPixelFormat PixelFormat = (Hyieutils::TIEPixelFormat)(0x5))/* overload */; int __fastcall AppendImage(const System::UnicodeString FileName)/* overload */; int __fastcall AppendImage(const System::UnicodeString FileName, bool LoadOnDemand, TIEImageEnMViewDefaultText DefaultTopText = (TIEImageEnMViewDefaultText)(0x0), TIEImageEnMViewDefaultText DefaultInfoText = (TIEImageEnMViewDefaultText)(0x0), TIEImageEnMViewDefaultText DefaultBottomText = (TIEImageEnMViewDefaultText)(0x1), bool bSelectIt = true)/* overload */; int __fastcall AppendImage2(int Width, int Height, Hyieutils::TIEPixelFormat PixelFormat = (Hyieutils::TIEPixelFormat)(0x5)); int __fastcall AppendSplit(Iexbitmaps::TIEBitmap* SourceGrid, int cellWidth, int cellHeight, int maxCount = 0x0); void __fastcall DeleteImage(int idx); void __fastcall DeleteSelectedImages(); __property int ImageCount = {read=GetImageCount, nodefault}; void __fastcall UpdateCoords(); void __fastcall SetImage(int idx, Vcl::Graphics::TBitmap* srcImage)/* overload */; void __fastcall SetImage(int idx, Iexbitmaps::TIEBaseBitmap* srcImage)/* overload */; void __fastcall SetImage(int idx, int width, int height, Hyieutils::TIEPixelFormat PixelFormat)/* overload */; void __fastcall SetImageEx(int idx, Vcl::Graphics::TBitmap* srcImage); void __fastcall SetIEBitmapEx(int idx, Iexbitmaps::TIEBaseBitmap* srcImage); void __fastcall SetIEBitmap(int idx, Iexbitmaps::TIEBaseBitmap* srcImage); bool __fastcall SetImageFromFile(int idx, const System::WideString FileName, int SourceImageIndex = 0x0, Hyieutils::TIOFileType FileFormat = 0x0); bool __fastcall SetImageFromStream(int idx, System::Classes::TStream* Stream, int SourceImageIndex = 0x0, Hyieutils::TIOFileType FileFormat = 0x0); void __fastcall GetImageToFile(int idx, const System::WideString FileName); void __fastcall GetImageToStream(int idx, System::Classes::TStream* Stream, Hyieutils::TIOFileType ImageFormat); void __fastcall SetImageRect(int idx, Vcl::Graphics::TBitmap* srcImage, int x1, int y1, int x2, int y2)/* overload */; void __fastcall SetImageRect(int idx, Iexbitmaps::TIEBitmap* srcImage, int x1, int y1, int x2, int y2)/* overload */; void __fastcall Clear(); Vcl::Graphics::TBitmap* __fastcall GetBitmap(int idx); void __fastcall ReleaseBitmap(int idx, bool saveChanges = true); Iexbitmaps::TIEBitmap* __fastcall GetTIEBitmap(int idx); int __fastcall GetImageVisibility(int idx); int __fastcall ImageAtPos(int x, int y, bool checkBounds = true); int __fastcall ImageAtGridPos(int row, int col); int __fastcall InsertingPoint(int x, int y); void __fastcall SetThumbnailSize(int width, int height, bool SetImageSize = false); __property int ThumbnailClipping = {read=fThumbnailClipping, write=SetThumbnailClipping, default=0}; __property TIEImageEnMViewIconSize IconSize = {read=fIconSize, write=SetIconSize, nodefault}; void __fastcall CopyToIEBitmap(int idx, Iexbitmaps::TIEBitmap* bmp); bool __fastcall IsVisible(int idx); void __fastcall ReloadImage(int idx); void __fastcall PrepareSpaceFor(int Width, int Height, int Bitcount, int ImageCount); __property bool ImageCacheUseDisk = {read=GetImageCacheUseDisk, write=SetImageCacheUseDisk, nodefault}; __property int SelectedImage = {read=fSelectedItem, write=SetSelectedItem, nodefault}; __property bool SelectedImageAlwaysVisible = {read=fSelectedImageAlwaysVisible, write=SetSelectedImageAlwaysVisible, nodefault}; void __fastcall Deselect(); void __fastcall SelectSeek(TIESeek pos); void __fastcall CopySelection(TImageEnMView* SourceMView); __property bool CheckThumbBoundsOnSelect = {read=fCheckThumbBoundsOnSelect, write=fCheckThumbBoundsOnSelect, nodefault}; __property bool TrackMouseSelection = {read=fTrackMouseSelection, write=fTrackMouseSelection, nodefault}; __property bool MultiSelecting = {read=fMultiSelecting, write=fMultiSelecting, nodefault}; __property int MultiSelectedImages[int index] = {read=GetMultiSelectedImages}; __property int MultiSelectedImagesCount = {read=GetMultiSelectedImagesCount, nodefault}; __property Hyiedefs::TIEArrayOfInteger MultiSelectedImagesList = {read=GetMultiSelectedImagesList}; void __fastcall MultiSelectSortList(); void __fastcall UnselectImage(int idx); void __fastcall ToggleSelectImage(int idx); void __fastcall SelectImage(int idx); void __fastcall SelectAll(); void __fastcall BeginSelectImages(); void __fastcall EndSelectImages(); bool __fastcall IsSelected(int idx); void __fastcall DisplayImageAt(int idx, int x, int y); __property bool Playing = {read=fPlaying, write=SetPlaying, nodefault}; __property bool PlayLoop = {read=fPlayLoop, write=fPlayLoop, nodefault}; __property int VisibleFrame = {read=fFrame, write=SetVisibleFrame, nodefault}; __property bool TransitionRunning = {read=GetTransitionRunning, nodefault}; __property Iemio::TImageEnMIO* MIO = {read=GetImageEnMIO}; __property Iexbitmaps::TIECustomMultiBitmap* IEMBitmap = {read=GetIEMBitmap}; __property Imageenproc::TImageEnProc* Proc = {read=GetImageEnProc}; void __fastcall SetExternalMBitmap(Iexbitmaps::TIECustomMultiBitmap* value); void __fastcall IEBeginDrag(bool Immediate, int Threshold = 0xffffffff); void __fastcall IEEndDrag(); virtual void __fastcall SaveSnapshot(System::Classes::TStream* Stream, bool SaveCache = true, bool Compressed = false, bool SaveParams = false)/* overload */; virtual void __fastcall SaveSnapshot(System::WideString FileName, bool SaveCache = true, bool Compressed = false, bool SaveParams = false)/* overload */; void __fastcall SaveSnapshotEx(System::Classes::TStream* Stream, bool SaveCache, bool Compressed, bool SaveParams, TIEProcessStreamEvent GetExtraParams); virtual bool __fastcall LoadSnapshot(System::Classes::TStream* Stream)/* overload */; virtual bool __fastcall LoadSnapshot(System::WideString FileName)/* overload */; bool __fastcall LoadSnapshotEx(System::Classes::TStream* Stream, TIEProcessStreamEvent SetExtraParams); __property Ieanimation::TIEAnimation* Animation = {read=fAnimation, write=SetAnimation}; int __fastcall Seek(Imageenio::TIEIOSeekDestination Destination); __property TIEMCheckboxPos CheckboxPos = {read=fCheckboxPos, write=SetCheckboxPos, nodefault}; int __fastcall CheckedCount(); __property bool Checked[int index] = {read=GetChecked, write=SetChecked}; void __fastcall SetCheckboxParams(int iHorzMargin, int iVertMargin, Vcl::Graphics::TBitmap* CustomCheckedImage = (Vcl::Graphics::TBitmap*)(0x0), Vcl::Graphics::TBitmap* CustomUncheckedImage = (Vcl::Graphics::TBitmap*)(0x0)); void __fastcall CheckAll(); void __fastcall UncheckAll(); __property TIEMViewerGestures* Gestures = {read=fGestures}; void __fastcall SetAllText(TIEImageEnMViewDefaultText TopText, TIEImageEnMViewDefaultText InfoText, TIEImageEnMViewDefaultText BottomText); __property int TextBlockWidth = {read=fTextBlockWidth, write=SetTextBlockWidth, nodefault}; int __fastcall FilenameToIndex(const System::UnicodeString sFilename); __property int SelectionWidthNoFocus = {read=fSelectionBorderWidthNoFocus, write=SetSelectionBorderWidthNoFocus, nodefault}; __property bool ThumbnailsBorderCurved = {read=fThumbnailsBorderCurved, write=SetThumbnailsBorderCurved, nodefault}; __property bool SelectionAntialiased = {read=fThumbnailsBorderCurved, write=SetThumbnailsBorderCurved, nodefault}; void __fastcall ProbeLastSort(/* out */ TIEImageEnMViewSortBy &OrderBy, /* out */ bool &Ascending, /* out */ bool &CaseSensitive); __property Iexbitmaps::TIEBitmap* MissingFileIcon = {read=fMissingFileIcon}; __property Iexbitmaps::TIEBitmap* DefaultFileIcon = {read=fDefaultFileIcon}; __published: __property Hyiedefs::TIEScrollStyle ScrollBars = {read=fScrollBars, write=SetScrollBars, default=3}; __property TIEStoreType StoreType = {read=fStoreType, write=SetStoreType, nodefault}; __property int ThumbWidth = {read=fThumbWidth, write=SetThumbWidth, nodefault}; __property int ThumbHeight = {read=fThumbHeight, write=SetThumbHeight, nodefault}; __property int HorizBorder = {read=fHorizBorder, write=SetHorizBorder, nodefault}; __property int VertBorder = {read=fVertBorder, write=SetVertBorder, nodefault}; __property int BottomGap = {read=fBottomGap, write=SetBottomGap, default=0}; __property int UpperGap = {read=fUpperGap, write=SetUpperGap, default=0}; __property int SideGap = {read=fSideGap, write=SetSideGap, default=0}; __property int TextMargin = {read=fTextMargin, write=SetTextMargin, default=0}; __property TIEMThumbnailOptionsEx ThumbnailOptionsEx = {read=fThumbnailOptionsEx, write=SetThumbnailOptionsEx, default=102}; __property TIEMIOOptionsEx IOOptionsEx = {read=fIOOptionsEx, write=SetIOOptionsEx, default=0}; __property Imageenview::TViewChangeEvent OnViewChange = {read=fOnViewChange, write=fOnViewChange}; __property TIEImageAtPosEvent OnImageAtPos = {read=fOnImageAtPos, write=fOnImageAtPos}; __property TIECreateImageEvent OnCreateImage = {read=fOnCreateImage, write=fOnCreateImage}; __property TIEDestroyImageEvent OnDestroyImage = {read=fOnDestroyImage, write=fOnDestroyImage}; __property TIEImageIDRequestEvent OnImageIDRequest = {read=fOnImageIDRequest, write=fOnImageIDRequest}; __property TIEImageIDRequestExEvent OnImageIDRequestEx = {read=fOnImageIDRequestEx, write=fOnImageIDRequestEx}; __property TIEImageDrawEvent OnBeforeImageDraw = {read=fOnBeforeImageDraw, write=fOnBeforeImageDraw}; __property TIEImageDrawEventEx OnBeforeImageDrawEx = {read=fOnBeforeImageDrawEx, write=fOnBeforeImageDrawEx}; __property TIEImageDrawEvent OnImageDraw = {read=fOnImageDraw, write=fOnImageDraw}; __property TIEImageDraw2Event OnImageDraw2 = {read=fOnImageDraw2, write=fOnImageDraw2}; __property TIEImageOutEvent OnImageOut = {read=fOnImageOut, write=fOnImageOut}; __property TIEImageSelectEvent OnImageSelect = {read=fOnImageSelect, write=fOnImageSelect}; __property TIEImageAddEvent OnImageAdd = {read=fOnImageAdd, write=fOnImageAdd}; __property TIEMViewImageNotifyEvent OnImageAdded = {read=fOnImageAdded, write=fOnImageAdded}; __property TIEMViewImageNotifyEvent OnImageLoaded = {read=fOnImageLoaded, write=fOnImageLoaded}; __property TIEGetTextEvent OnGetText = {read=fOnGetText, write=fOnGetText}; __property TIEGetTextExEvent OnGetTextEx = {read=fOnGetTextEx, write=fOnGetTextEx}; __property TIEImageSelectEvent OnImageDeselect = {read=fOnImageDeselect, write=fOnImageDeselect}; __property TIESelectionChangingEvent OnSelectionChanging = {read=fOnSelectionChanging, write=fOnSelectionChanging}; __property Hyiedefs::TIEProgressEvent OnIOProgress = {read=fOnIOProgress, write=fOnIOProgress}; __property TIEMProgressEvent OnDrawProgress = {read=fOnDrawProgress, write=fOnDrawProgress}; __property TIEWrongImageEvent OnWrongImage = {read=fOnWrongImage, write=fOnWrongImage}; __property TIECheckboxClickEvent OnCheckboxClick = {read=fOnCheckboxClick, write=fOnCheckboxClick}; __property TIEMCheckboxType Checkboxes = {read=fCheckboxes, write=SetCheckboxes, default=0}; __property bool VisibleSelection = {read=fVisibleSelection, write=SetVisibleSelection, default=1}; __property TIEMMouseInteract MouseInteract = {read=GetMouseInteract, write=SetMouseInteract, default=2}; __property TIEMKeyInteract KeyInteract = {read=GetKeyInteract, write=SetKeyInteract, default=1}; __property TIEMDisplayMode DisplayMode = {read=fDisplayMode, write=SetDisplayMode, default=0}; __property int GridWidth = {read=fGridWidth, write=SetGridWidth, nodefault}; __property int SelectionWidth = {read=fSelectionBorderWidth, write=SetSelectionBorderWidth, default=2}; __property System::Uitypes::TColor SelectionColor = {read=fThumbnailsSelectedBorderColor, write=SetThumbnailsSelectedBorderColor, nodefault}; __property bool DrawImageBackground = {read=fDrawImageBackground, write=SetDrawImageBackground, default=0}; __property int ImageCacheSize = {read=GetImageCacheSize, write=SetImageCacheSize, default=10}; __property Iextransitions::TIETransitionType TransitionEffect = {read=fTransitionEffect, write=fTransitionEffect, default=0}; __property int TransitionDuration = {read=fTransitionDuration, write=fTransitionDuration, default=1000}; __property TIEMStyle Style = {read=fStyle, write=SetStyle, nodefault}; void __fastcall SetStyleEx(TIEMStyle aStyle, TIEImageEnMViewDefaultText TopText, TIEImageEnMViewDefaultText InfoText, TIEImageEnMViewDefaultText BottomText, double iThumbZoom = 0.000000E+00, bool bAdjustSpacing = true, bool bAdjustStyle = true, bool bAdjustFont = true); __property System::Uitypes::TColor ThumbnailsBackground = {read=fThumbnailsBackground, write=fThumbnailsBackground, nodefault}; __property System::Uitypes::TColor ThumbnailsBackgroundSelected = {read=fThumbnailsBackgroundSelected, write=fThumbnailsBackgroundSelected, nodefault}; __property bool EnableMultiSelect = {read=fEnableMultiSelect, write=SetEnableMultiSelect, default=0}; __property TIEMultiSelectionOptions MultiSelectionOptions = {read=fMultiSelectionOptions, write=fMultiSelectionOptions, nodefault}; __property int ThumbnailsBorderWidth = {read=fThumbnailsBorderWidth, write=SetThumbnailsBorderWidth, nodefault}; __property System::Uitypes::TColor ThumbnailsBorderColor = {read=fThumbnailsBorderColor, write=SetThumbnailsBorderColor, default=-16777201}; __property bool ThumbnailsInternalBorder = {read=fThumbnailsInternalBorder, write=SetThumbnailsInternalBorder, default=0}; __property System::Uitypes::TColor ThumbnailsInternalBorderColor = {read=fThumbnailsInternalBorderColor, write=SetThumbnailsInternalBorderColor, default=0}; __property Vcl::Graphics::TPicture* Wallpaper = {read=fWallpaper, write=SetWallpaper}; __property Imageenview::TIEWallpaperStyle WallpaperStyle = {read=fWallpaperStyle, write=SetWallpaperStyle, default=0}; __property int ThreadPoolSize = {read=fThreadPoolSize, write=fThreadPoolSize, default=5}; __property bool EnableAlphaChannel = {read=fEnableAlphaChannel, write=SetEnableAlphaChannel, default=1}; __property Hyiedefs::TIEBackgroundStyle BackgroundStyle = {read=fBackgroundStyle, write=SetBackgroundStyle, default=0}; __property Hyiedefs::TIEBackgroundStyle ThumbnailsBackgroundStyle = {read=fThumbnailsBackgroundStyle, write=SetThumbnailsBackgroundStyle, default=0}; __property Hyiedefs::TIEProgressEvent OnProgress = {read=GetOnProgress, write=SetOnProgress}; __property Imageenio::TIEAcquireBitmapEvent OnAcquireBitmap = {read=GetOnAcquireBitmap, write=SetOnAcquireBitmap}; __property System::Classes::TNotifyEvent OnAllDisplayed = {read=fOnAllDisplayed, write=fOnAllDisplayed}; __property System::Classes::TNotifyEvent OnFinishWork = {read=GetOnFinishWork, write=SetOnFinishWork}; __property TIEPlayFrameEvent OnPlayFrame = {read=fOnPlayFrame, write=fOnPlayFrame}; __property TIEAnimationTextEvent OnAnimationText = {read=fOnAnimationText, write=fOnAnimationText}; __property TIEAfterEventEvent OnAfterEvent = {read=fOnAfterEvent, write=fOnAfterEvent}; __property Imageenview::TIEImageEnGestureEvent OnImageEnGesture = {read=fOnImageEnGesture, write=fOnImageEnGesture}; __property TIEImageEnMViewDefaultText DefaultTopText = {read=fDefaultTopText, write=SetDefaultTopText, default=0}; __property TIEImageEnMViewDefaultText DefaultInfoText = {read=fDefaultInfoText, write=SetDefaultInfoText, default=0}; __property TIEImageEnMViewDefaultText DefaultBottomText = {read=fDefaultBottomText, write=SetDefaultBottomText, nodefault}; __property System::UnicodeString ImageEnVersion = {read=GetImageEnVersion, write=SetImageEnVersion, stored=false}; __property bool FlatScrollBars = {read=fFlatScrollBars, write=SetFlatScrollBars, default=0}; __property OnMouseWheel; __property OnMouseWheelDown; __property OnMouseWheelUp; __property Align = {default=0}; __property Anchors = {default=3}; __property bool ShowThumbnailHint = {read=fShowThumbnailHint, write=SetShowThumbnailHint, default=0}; __property Hyiedefs::TResampleFilter ThumbnailResampleFilter = {read=fThumbnailResampleFilter, write=fThumbnailResampleFilter, nodefault}; __property Hyiedefs::TResampleFilter ThumbnailDisplayFilter = {read=fThumbnailDisplayFilter, write=fThumbnailDisplayFilter, nodefault}; __property System::Uitypes::TColor SelectedFontColor = {read=fSelectedFontColor, write=fSelectedFontColor, nodefault}; __property Hyieutils::TIEMouseWheelParams* MouseWheelParams = {read=fMouseWheelParams, write=SetMouseWheelParams}; __property Hyieutils::TIEMouseWheelParams* MouseWheelParamsAlt = {read=fMouseWheelParamsAlt, write=SetMouseWheelParamsAlt}; __property BiDiMode; __property DragCursor = {default=-12}; __property DragMode = {default=0}; __property Enabled = {default=1}; __property ParentShowHint = {default=1}; __property PopupMenu; __property ShowHint; __property Visible = {default=1}; __property TabOrder = {default=-1}; __property TabStop = {default=0}; __property OnClick; __property OnDblClick; __property OnDragDrop; __property OnDragOver; __property OnEndDrag; __property OnMouseDown; __property OnMouseMove; __property OnMouseUp; __property OnStartDrag; __property OnKeyDown; __property OnKeyPress; __property OnKeyUp; __property OnContextPopup; __property OnGesture; public: /* TWinControl.CreateParented */ inline __fastcall TImageEnMView(HWND ParentWindow) : Ieview::TIEView(ParentWindow) { } }; //-- var, const, procedure --------------------------------------------------- #define IEM_Path_Index_Delimiter L"::" #define IEM_Filename L"$IEM_FILENAME$" #define IEM_FilenameNoExt L"$IEM_FILENAMENOEXT$" #define IEM_FilePath L"$IEM_FILEPATH$" #define IEM_ImageDimensions L"$IEM_IMAGE_DIMENSIONS$" #define IEM_ImageDimAndSize L"$IEM_IMAGE_DIM_AND_SIZE$" #define IEM_FileSize L"$IEM_FILESIZE$" #define IEM_FileCreateDate L"$IEM_FILECREATEDATE$" #define IEM_FileCreateDateTime L"$IEM_FILECREATEDATETIME$" #define IEM_FileCreateDateAndSize L"$IEM_FILECREATEDATE_AND_SIZE$" #define IEM_FileEditDate L"$IEM_FILEEDITDATE$" #define IEM_FileEditDateTime L"$IEM_FILEEDITDATETIME$" #define IEM_FileEditDateAndSize L"$IEM_FILEEDITDATE_AND_SIZE$" #define IEM_FileType L"$IEM_FILETYPE$" #define IEM_FileExt L"$IEM_FILEEXT$" #define IEM_ImageDict L"$IEM_IMAGEDICT$" #define IEF_Drives_Folder L"IEF_DRIVES_FOLDER" static _DELPHI_CONST System::Int8 Max_Icon_Images_To_Cache = System::Int8(0x32); static _DELPHI_CONST int Thumbnail_Background_When_Disabled = int(-16777194); static _DELPHI_CONST int Thumbnail_Border_When_Disabled = int(-16777200); static _DELPHI_CONST int Text_Color_When_Disabled = int(-16777199); extern DELPHI_PACKAGE System::UnicodeString __fastcall IEMDefaultTextToStr(TIEImageEnMViewDefaultText DefaultText); } /* namespace Iemview */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEMVIEW) using namespace Iemview; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // iemviewHPP