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

255 lines
9.9 KiB
C++

// CodeGear C++Builder
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
// All rights reserved
// (DO NOT EDIT: machine generated header) 'ieanimation.pas' rev: 37.00 (Windows)
#ifndef ieanimationHPP
#define ieanimationHPP
#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 <System.SyncObjs.hpp>
#include <iexBitmaps.hpp>
#include <System.Types.hpp>
#include <System.UITypes.hpp>
#include <Vcl.Graphics.hpp>
#include <hyiedefs.hpp>
//-- user supplied -----------------------------------------------------------
namespace Ieanimation
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TIEAnimationImageInfo;
class DELPHICLASS TIEAnimation;
class DELPHICLASS TIEHorizontalFlow;
class DELPHICLASS TIECircularFlow;
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TIEAnimationGetImageInfoEvent)(System::TObject* Sender, int imageIndex, bool isVisible, int &imageWidth, int &imageHeight, System::WideString &text);
typedef void __fastcall (__closure *TIEAnimationGetImageEvent)(System::TObject* Sender, int imageIndex, Iexbitmaps::TIEBitmap* &image, System::WideString &text);
typedef void __fastcall (__closure *TIEAnimationReleaseImageEvent)(System::TObject* Sender, int imageIndex, Iexbitmaps::TIEBitmap* &image);
class PASCALIMPLEMENTATION TIEAnimationImageInfo : public System::TObject
{
typedef System::TObject inherited;
public:
unsigned startTime;
unsigned endTime;
int startAlpha;
int endAlpha;
int lastAlpha;
double startAngleX;
double endAngleX;
double lastAngleX;
double startAngleY;
double endAngleY;
double lastAngleY;
int startCenterX;
int endCenterX;
int lastCenterX;
int startCenterY;
int endCenterY;
int lastCenterY;
int startWidth;
int endWidth;
int lastWidth;
int startHeight;
int endHeight;
int lastHeight;
Hyiedefs::TIEQuadCoords lastCoords;
public:
/* TObject.Create */ inline __fastcall TIEAnimationImageInfo() : System::TObject() { }
/* TObject.Destroy */ inline __fastcall virtual ~TIEAnimationImageInfo() { }
};
class PASCALIMPLEMENTATION TIEAnimation : public System::TObject
{
typedef System::TObject inherited;
private:
typedef System::DynamicArray<TIEAnimationImageInfo*> _TIEAnimation__1;
private:
TIEAnimationGetImageInfoEvent m_getImageInfo;
TIEAnimationGetImageEvent m_getImage;
TIEAnimationReleaseImageEvent m_releaseImage;
_TIEAnimation__1 m_images;
int m_currentImage;
int m_viewWidth;
int m_viewHeight;
unsigned m_animDuration;
int m_depth;
bool m_needRefresh;
bool m_showBorder;
Vcl::Graphics::TPen* m_borderPen;
int m_shadowAlphaMin;
int m_shadowAlphaMax;
Hyiedefs::TIERectangle m_lastScrollbarSlideRect;
Hyiedefs::TIERectangle m_lastScrollbarBoundRect;
bool m_showScrollbar;
bool m_showText;
Hyiedefs::TResampleFilter m_lastFrameZoomFilter;
Hyiedefs::TResampleFilter m_FramesZoomFilter;
System::Syncobjs::TCriticalSection* m_canvasCriticalSection;
Vcl::Graphics::TFont* fFont;
void __fastcall SetCurrentImage(int value);
void __fastcall SetViewWidth(int value);
void __fastcall SetViewHeight(int value);
void __fastcall SetDepth(int value);
int __fastcall GetImageCount();
void __fastcall SetImageCount(int value);
void __fastcall SetShowBorder(bool value);
void __fastcall SetShadowAlphaMin(int value);
void __fastcall SetShadowAlphaMax(int value);
void __fastcall SetShowScrollbar(bool value);
void __fastcall FreeImageInfo(int first, int last);
TIEAnimationImageInfo* __fastcall GetImages(int idx);
void __fastcall PaintBorder(int i, Iexbitmaps::TIEBitmap* dest);
void __fastcall SetShowText(bool value);
virtual bool __fastcall isVisible(const Hyiedefs::TIEQuadCoords &coords);
void __fastcall SetFont(Vcl::Graphics::TFont* const Value);
protected:
void __fastcall SetStartEndValues();
virtual void __fastcall SetInitialValues(int first, int last);
virtual void __fastcall SetStartValues();
virtual void __fastcall SetEndValues();
virtual bool __fastcall drawImage(Iexbitmaps::TIEBitmap* dest, int imageIndex);
void __fastcall DoGetImageInfo(int imageIndex, bool isVisible, int &imageWidth, int &imageHeight, System::WideString &text);
void __fastcall DoGetImage(int imageIndex, Iexbitmaps::TIEBitmap* &image, System::WideString &text);
void __fastcall DoReleaseImage(int imageIndex, Iexbitmaps::TIEBitmap* &image);
void __fastcall PaintScrollBar(Iexbitmaps::TIEBitmap* dest);
void __fastcall PaintText(int posY, Iexbitmaps::TIEBitmap* dest);
public:
__fastcall TIEAnimation();
__fastcall virtual ~TIEAnimation();
void __fastcall SetupEvents(TIEAnimationGetImageEvent getImage, TIEAnimationReleaseImageEvent releaseImage = 0x0, TIEAnimationGetImageInfoEvent getImageInfo = 0x0);
void __fastcall RestartAnimation();
virtual void __fastcall Display(Iexbitmaps::TIEBitmap* dest) = 0 ;
int __fastcall FindImageAt(int X, int Y);
void __fastcall MoveScrollbarSliderTo(int X);
bool __fastcall IsInsideScrollbarSlider(int X, int Y);
bool __fastcall IsInsideScrollbar(int X, int Y);
void __fastcall DeleteImage(int imageIndex);
void __fastcall InsertImage(int imageIndex);
__property int ViewWidth = {read=m_viewWidth, write=SetViewWidth, nodefault};
__property int ViewHeight = {read=m_viewHeight, write=SetViewHeight, nodefault};
__property int Depth = {read=m_depth, write=SetDepth, nodefault};
__property bool ShowBorder = {read=m_showBorder, write=SetShowBorder, nodefault};
__property int ShadowAlphaMin = {read=m_shadowAlphaMin, write=SetShadowAlphaMin, nodefault};
__property int ShadowAlphaMax = {read=m_shadowAlphaMax, write=SetShadowAlphaMax, nodefault};
__property int ImageCount = {read=GetImageCount, write=SetImageCount, nodefault};
__property TIEAnimationImageInfo* Images[int idx] = {read=GetImages};
__property int CurrentImage = {read=m_currentImage, write=SetCurrentImage, nodefault};
__property bool ShowScrollbar = {read=m_showScrollbar, write=SetShowScrollbar, nodefault};
__property bool ShowText = {read=m_showText, write=SetShowText, nodefault};
__property Vcl::Graphics::TFont* Font = {read=fFont, write=SetFont};
__property Vcl::Graphics::TPen* BorderPen = {read=m_borderPen};
__property Hyiedefs::TResampleFilter LastFrameZoomFilter = {read=m_lastFrameZoomFilter, write=m_lastFrameZoomFilter, nodefault};
__property Hyiedefs::TResampleFilter FramesZoomFilter = {read=m_FramesZoomFilter, write=m_FramesZoomFilter, nodefault};
__property unsigned AnimDuration = {read=m_animDuration, write=m_animDuration, nodefault};
__property bool NeedRefresh = {read=m_needRefresh, write=m_needRefresh, nodefault};
};
class PASCALIMPLEMENTATION TIEHorizontalFlow : public TIEAnimation
{
typedef TIEAnimation inherited;
private:
int m_horizontalDistance;
double m_imagesHorizontalPercentage;
double m_imagesVerticalPercentage;
double m_rotateAngle;
double m_imagesZoom;
double m_currentImageZoom;
void __fastcall SetHorizontalDistance(int value);
void __fastcall SetImagesHorizontalPercentage(double value);
void __fastcall SetImagesVerticalPercentage(double value);
void __fastcall SetRotateAngle(double value);
void __fastcall SetImagesZoom(double value);
void __fastcall SetCurrentImageZoom(double value);
protected:
virtual void __fastcall SetInitialValues(int first, int last);
virtual void __fastcall SetStartValues();
virtual void __fastcall SetEndValues();
public:
__fastcall TIEHorizontalFlow();
__fastcall virtual ~TIEHorizontalFlow();
virtual void __fastcall Display(Iexbitmaps::TIEBitmap* dest);
__property int HorizontalDistance = {read=m_horizontalDistance, write=SetHorizontalDistance, nodefault};
__property double ImagesHorizontalPercentage = {read=m_imagesHorizontalPercentage, write=SetImagesHorizontalPercentage};
__property double ImagesVerticalPercentage = {read=m_imagesVerticalPercentage, write=SetImagesVerticalPercentage};
__property double RotateAngle = {read=m_rotateAngle, write=SetRotateAngle};
__property double ImagesZoom = {read=m_imagesZoom, write=SetImagesZoom};
__property double CurrentImageZoom = {read=m_currentImageZoom, write=SetCurrentImageZoom};
};
class PASCALIMPLEMENTATION TIECircularFlow : public TIEAnimation
{
typedef TIEAnimation inherited;
private:
double m_imagesSizePercentage;
double m_imagesZoom;
double m_currentImageZoom;
int m_visibleImages;
double m_ellipseAngle;
protected:
virtual void __fastcall SetInitialValues(int first, int last);
virtual void __fastcall SetStartValues();
virtual void __fastcall SetEndValues();
void __fastcall SetImagesSizePercentage(double value);
void __fastcall SetImagesZoom(double value);
void __fastcall SetCurrentImageZoom(double value);
void __fastcall SetVisibleImages(int value);
void __fastcall SetEllipseAngle(double value);
public:
__fastcall TIECircularFlow();
__fastcall virtual ~TIECircularFlow();
virtual void __fastcall Display(Iexbitmaps::TIEBitmap* dest);
__property double ImagesSizePercentage = {read=m_imagesSizePercentage, write=SetImagesSizePercentage};
__property double ImagesZoom = {read=m_imagesZoom, write=SetImagesZoom};
__property double CurrentImageZoom = {read=m_currentImageZoom, write=SetCurrentImageZoom};
__property int VisibleImages = {read=m_visibleImages, write=SetVisibleImages, nodefault};
__property double EllipseAngle = {read=m_ellipseAngle, write=SetEllipseAngle};
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Ieanimation */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEANIMATION)
using namespace Ieanimation;
#endif
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // ieanimationHPP