// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'iexLayers.pas' rev: 37.00 (Windows) #ifndef iexLayersHPP #define iexLayersHPP #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 //-- user supplied ----------------------------------------------------------- namespace Iexlayers { //-- forward type declarations ----------------------------------------------- struct TIEDrawingInfo; class DELPHICLASS TIELayer; class DELPHICLASS TIEImageLayer; class DELPHICLASS TIEShapeLayer; struct TIEEndShapeDrawInfo; class DELPHICLASS TIELineLayer; class DELPHICLASS TIEPolylineLayer; class DELPHICLASS TIETextLayer; struct TLayerHeader; //-- type declarations ------------------------------------------------------- enum DECLSPEC_DENUM TIELayerKind : unsigned char { ielkImage, ielkShape, ielkLine, ielkPolyline, ielkText }; struct DECLSPEC_DRECORD TIEDrawingInfo { public: int XDst; int YDst; int WidthDst; int HeightDst; int XSrc; int YSrc; int WidthSrc; int HeightSrc; System::StaticArray RotatedDest; }; typedef void __fastcall (__closure *TIEDrawLayerEvent)(System::TObject* Sender, Iexbitmaps::TIEBitmap* dest, int LayerIndex); typedef void __fastcall (__closure *TIEDrawLayerBoxEvent)(System::TObject* Sender, Vcl::Graphics::TBitmap* ABitmap, int LayerIndex); typedef void __fastcall (__closure *TIEDrawLayerGrip)(System::TObject* Sender, Vcl::Graphics::TBitmap* ABitmap, int LayerIndex, int Grip, const Winapi::Windows::TRect &Rect); enum DECLSPEC_DENUM TIELineEndShape : unsigned char { ieesNone, ieesArrow, ieesCircle }; enum DECLSPEC_DENUM TIELineLabelPos : unsigned char { ielpHide, ielpAtStart, ielpAtEnd }; enum DECLSPEC_DENUM TIELayerFeatures : unsigned char { ielfBorder, ielfFill, ielfGradient, ielfRotation, ielfMoveRotationCenter, ielfTextEditing }; class PASCALIMPLEMENTATION TIELayer : public System::TObject { typedef System::TObject inherited; private: Iexbitmaps::TIEBitmap* fLayerCacheBitmap; bool fLayerCacheValid; bool fLayerCachefastDrawn; TIELayerKind fKind; bool fIsMask; double fRotate; double fRotateCenterX; double fRotateCenterY; bool fAntiAlias; double fOriginalAspectRatio; double fResizedWidth; double fResizedHeight; bool fAspectRatioLocked; System::Uitypes::TColor fBorderColor; int fBorderWidth; System::Uitypes::TColor fFillColor; System::Uitypes::TColor fFillColor2; Hyiedefs::TIEGradientDir fFillGradient; int fLayerSize; bool fModified; System::UnicodeString fName; TIEDrawingInfo fDrawingInfo; bool fDrawOuter; GUID fGuid; int fTag; bool fVisible; bool fVisibleBox; int fTransparency; double fOpacity; int fAlphaEdgeFeathering; Winapi::Windows::TRect fClientAreaBox; bool fCropped; bool fLocked; bool fSelectable; Hyieutils::TIERenderOperation fOperation; int fUserDataLen; Hyiedefs::TResampleFilter fResampleFilter; bool fUseResampleFilter; virtual Iexbitmaps::TIEBitmap* __fastcall GetBitmap() = 0 ; virtual void __fastcall CopyToBitmapEx(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth, int CreateHeight, bool FastDrawing, bool EnableAlpha, bool UseDisplayAR, bool UpdateSize = false, bool EnlargeOnly = false, double Zoom = 1.000000E+00) = 0 ; virtual System::UnicodeString __fastcall GetAsSVG() = 0 ; int __fastcall GetPosX(); int __fastcall GetPosY(); void __fastcall SetPosX(int v); void __fastcall SetPosY(int v); int __fastcall GetWidth(); int __fastcall GetHeight(); void __fastcall SetWidth(int v); void __fastcall SetHeight(int v); void __fastcall SetWidthD(double v); void __fastcall SetHeightD(double v); int __fastcall GetOriginalWidth(); int __fastcall GetOriginalHeight(); void __fastcall SetRotate(double v); void __fastcall SetRotateCenterX(double v); void __fastcall SetRotateCenterY(double v); bool __fastcall GetSelected(); void __fastcall SetSelected(const bool Value); void __fastcall SetGroupIndex(const int Value); void __fastcall CalcClientAreaBox(); void __fastcall CalcPaintPos(int ImgWidth, int ImgHeight, /* out */ int &XDst, /* out */ int &YDst, /* out */ int &WidthDst, /* out */ int &HeightDst, /* out */ int &XSrc, /* out */ int &YSrc, /* out */ int &WidthSrc, /* out */ int &HeightSrc); int __fastcall LoadMetaFromStream(System::Classes::TStream* Stream); void __fastcall SaveMetaToStream(System::Classes::TStream* Stream); bool __fastcall GetIsMask(); void __fastcall SetIsMask(const bool Value); void __fastcall SetAspectRatioLocked(const bool Value); void __fastcall RenderLayerWithAdornments(Iexbitmaps::TIEBitmap* DstBitmap, int LyrIdx, Iexbitmaps::TIEBitmap* SrcBitmap, bool CanModifySrc, System::PInteger XLUT, System::PInteger YLUT, Winapi::Windows::PRect UpdRect, int xDst, int yDst, int dxDst, int dyDst, int xSrc, int ySrc, int dxSrc, int dySrc, bool EnableAlpha, bool SolidBackground, Hyiedefs::TResampleFilter Filter); bool __fastcall Owner_EnableAlphaChannel(); bool __fastcall Owner_FastDrawingActive(); bool __fastcall Owner_FastOutputActive(); System::Uitypes::TColor __fastcall GetBorderColor(); void __fastcall SetBorderColor(System::Uitypes::TColor value); int __fastcall GetBorderWidth(); void __fastcall SetBorderWidth(int value); System::Uitypes::TColor __fastcall GetFillColor(); void __fastcall SetFillColor(System::Uitypes::TColor value); void __fastcall SetFillColor2(System::Uitypes::TColor value); void __fastcall SetFillGradient(Hyiedefs::TIEGradientDir value); bool __fastcall GetModified(); void __fastcall SetModified(bool value); void __fastcall SetVisible(bool Value); void __fastcall SetVisibleBox(bool Value); void __fastcall SetTransparency(int Value); void __fastcall SetOpacity(double Value); void __fastcall SetAlphaEdgeFeathering(int Value); void __fastcall SetCropped(bool Value); void __fastcall SetLocked(bool Value); void __fastcall SetSelectable(bool Value); void __fastcall SetOperation(Hyieutils::TIERenderOperation Value); void __fastcall SetUserDataLen(int Value); void __fastcall SetName(System::UnicodeString Value); void __fastcall SetDrawOuter(bool Value); void __fastcall SetGuid(const GUID &Value); void __fastcall SetTag(int Value); public: System::TObject* fOwner; bool fSelected; Iexbitmaps::TIEBitmap* fCachedLayerMask; double fPosX; double fPosY; int fGroupIndex; Hyiedefs::TIEVSoftShadow* SoftShadow; void *UserData; Hyiedefs::TIELayerMagnification Magnify; __property Hyiedefs::TResampleFilter ResampleFilter = {read=fResampleFilter, write=fResampleFilter, nodefault}; __property bool UseResampleFilter = {read=fUseResampleFilter, write=fUseResampleFilter, nodefault}; __property bool AspectRatioLocked = {read=fAspectRatioLocked, write=SetAspectRatioLocked, nodefault}; __property double Rotate = {read=fRotate, write=SetRotate}; __property double RotateCenterX = {read=fRotateCenterX, write=SetRotateCenterX}; __property double RotateCenterY = {read=fRotateCenterY, write=SetRotateCenterY}; __property int PosX = {read=GetPosX, write=SetPosX, nodefault}; __property int PosY = {read=GetPosY, write=SetPosY, nodefault}; __property int Width = {read=GetWidth, write=SetWidth, nodefault}; __property int Height = {read=GetHeight, write=SetHeight, nodefault}; __property double WidthD = {read=fResizedWidth, write=SetWidthD}; __property double HeightD = {read=fResizedHeight, write=SetHeightD}; __property bool Selected = {read=GetSelected, write=SetSelected, nodefault}; __property int GroupIndex = {read=fGroupIndex, write=SetGroupIndex, nodefault}; __property bool IsMask = {read=GetIsMask, write=SetIsMask, nodefault}; __property System::TObject* Owner = {read=fOwner}; __property Iexbitmaps::TIEBitmap* Bitmap = {read=GetBitmap}; virtual void __fastcall CopyToBitmap(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth = 0xffffffff, int CreateHeight = 0xffffffff, bool EnableAlpha = true, bool UseDisplayAR = true) = 0 ; __property TIELayerKind Kind = {read=fKind, nodefault}; __property bool AntiAlias = {read=fAntiAlias, write=fAntiAlias, nodefault}; __property int OriginalWidth = {read=GetOriginalWidth, nodefault}; __property int OriginalHeight = {read=GetOriginalHeight, nodefault}; __fastcall virtual TIELayer(System::TObject* Owner); __fastcall virtual ~TIELayer(); int __fastcall ConvXScr2Bmp(int x); int __fastcall ConvYScr2Bmp(int y); int __fastcall ConvXBmp2Scr(int x); int __fastcall ConvYBmp2Scr(int y); void __fastcall Assign(TIELayer* Source); void __fastcall Swap(TIELayer* OtherLayer); bool __fastcall SupportsFeature(TIELayerFeatures Feature); void __fastcall GetProperties(System::Classes::TStrings* Props); void __fastcall SetProperties(System::Classes::TStrings* Props)/* overload */; void __fastcall SetProperties(System::UnicodeString PropName, System::UnicodeString Value)/* overload */; void __fastcall SetDefaults(); TIELayer* __fastcall GetLayerMask(); int __fastcall GetIndex(); void __fastcall ConvertToImageLayer(double QualityFactor = 2.000000E+00, bool CropAlpha = true); double __fastcall PreferredAspectRatio(); void __fastcall RestoreAspectRatio(bool PreferredOnly = true); __property TIEDrawingInfo DrawingInfo = {read=fDrawingInfo}; __property Winapi::Windows::TRect ClientAreaBox = {read=fClientAreaBox}; __property bool Visible = {read=fVisible, write=SetVisible, nodefault}; __property bool VisibleBox = {read=fVisibleBox, write=SetVisibleBox, nodefault}; __property int Transparency = {read=fTransparency, write=SetTransparency, nodefault}; __property double Opacity = {read=fOpacity, write=SetOpacity}; __property int AlphaEdgeFeathering = {read=fAlphaEdgeFeathering, write=SetAlphaEdgeFeathering, nodefault}; __property bool Cropped = {read=fCropped, write=SetCropped, nodefault}; __property bool Locked = {read=fLocked, write=SetLocked, nodefault}; __property bool Selectable = {read=fSelectable, write=SetSelectable, nodefault}; __property Hyieutils::TIERenderOperation Operation = {read=fOperation, write=SetOperation, nodefault}; __property int UserDataLen = {read=fUserDataLen, write=SetUserDataLen, nodefault}; __property System::UnicodeString Name = {read=fName, write=SetName}; __property bool DrawOuter = {read=fDrawOuter, write=SetDrawOuter, nodefault}; __property GUID Guid = {read=fGuid, write=SetGuid}; __property int Tag = {read=fTag, write=SetTag, nodefault}; __property System::Uitypes::TColor BorderColor = {read=GetBorderColor, write=SetBorderColor, nodefault}; __property int BorderWidth = {read=GetBorderWidth, write=SetBorderWidth, nodefault}; __property System::Uitypes::TColor FillColor = {read=GetFillColor, write=SetFillColor, nodefault}; __property System::Uitypes::TColor FillColor2 = {read=fFillColor2, write=SetFillColor2, nodefault}; __property Hyiedefs::TIEGradientDir FillGradient = {read=fFillGradient, write=SetFillGradient, nodefault}; __property bool Modified = {read=GetModified, write=SetModified, nodefault}; virtual void __fastcall PaintTo(Iexbitmaps::TIEBitmap* DstBitmap, int LyrIdx, System::PInteger XLUT, System::PInteger YLUT, Winapi::Windows::PRect UpdRect, int xDst, int yDst, int dxDst, int dyDst, int xSrc, int ySrc, int dxSrc, int dySrc, bool EnableAlpha, bool SolidBackground, Hyiedefs::TResampleFilter Filter, Hyiedefs::TIEAntialiasMode RotationFilter, bool ResizingLayer); virtual void __fastcall LoadFromStream(System::Classes::TStream* Stream) = 0 ; void __fastcall LoadFromLegacyStream(System::Classes::TStream* Stream, int HdrVersion, Hyieutils::TIOFileType FileFormat); virtual void __fastcall SaveToStream(System::Classes::TStream* Stream, bool MetaOnly = false, Hyieutils::TIOFileType CompressionFormat = 0xfffffffe) = 0 ; void __fastcall LayerChange(bool ResetLayerCache = true); __property System::UnicodeString AsSVG = {read=GetAsSVG}; }; class PASCALIMPLEMENTATION TIEImageLayer : public TIELayer { typedef TIELayer inherited; private: virtual Iexbitmaps::TIEBitmap* __fastcall GetBitmap(); virtual void __fastcall CopyToBitmapEx(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth, int CreateHeight, bool FastDrawing, bool EnableAlpha, bool UseDisplayAR, bool UpdateSize = false, bool EnlargeOnly = false, double Zoom = 1.000000E+00); virtual System::UnicodeString __fastcall GetAsSVG(); HIDESBASE System::Uitypes::TColor __fastcall GetBorderColor(); HIDESBASE void __fastcall SetBorderColor(System::Uitypes::TColor value); HIDESBASE int __fastcall GetBorderWidth(); HIDESBASE void __fastcall SetBorderWidth(int value); public: Iexbitmaps::TIEBitmap* fBitmap; bool fFreeBitmapOnDestroy; __property System::Uitypes::TColor BorderColor = {read=GetBorderColor, write=SetBorderColor, nodefault}; __property int BorderWidth = {read=GetBorderWidth, write=SetBorderWidth, nodefault}; __fastcall TIEImageLayer(System::TObject* Owner, Iexbitmaps::TIEBitmap* TemplateBitmap, bool JustAssign)/* overload */; __fastcall TIEImageLayer(System::TObject* Owner, int Width, int Height)/* overload */; __fastcall TIEImageLayer(System::TObject* Owner, TIELayer* TemplateLayer, double QualityFactor, bool CropAlpha)/* overload */; __fastcall virtual ~TIEImageLayer(); virtual void __fastcall CopyToBitmap(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth = 0xffffffff, int CreateHeight = 0xffffffff, bool EnableAlpha = true, bool UseDisplayAR = true); virtual void __fastcall PaintTo(Iexbitmaps::TIEBitmap* DstBitmap, int LyrIdx, System::PInteger XLUT, System::PInteger YLUT, Winapi::Windows::PRect UpdRect, int xDst, int yDst, int dxDst, int dyDst, int xSrc, int ySrc, int dxSrc, int dySrc, bool EnableAlpha, bool SolidBackground, Hyiedefs::TResampleFilter Filter, Hyiedefs::TIEAntialiasMode RotationFilter, bool ResizingLayer); bool __fastcall CropAlpha(); void __fastcall Clear(System::Uitypes::TColor FillColor = (System::Uitypes::TColor)(0xffffff), int Width = 0x1, int Height = 0x1); void __fastcall RestoreSize(); bool __fastcall ExecuteOpenDialog(); virtual void __fastcall LoadFromStream(System::Classes::TStream* Stream); virtual void __fastcall SaveToStream(System::Classes::TStream* Stream, bool MetaOnly = false, Hyieutils::TIOFileType CompressionFormat = 0xfffffffe); }; class PASCALIMPLEMENTATION TIEShapeLayer : public TIELayer { typedef TIELayer inherited; private: Hyiedefs::TIEShape fShape; int fShapeModifier; virtual Iexbitmaps::TIEBitmap* __fastcall GetBitmap(); virtual void __fastcall CopyToBitmapEx(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth, int CreateHeight, bool FastDrawing, bool EnableAlpha, bool UseDisplayAR, bool UpdateSize = false, bool EnlargeOnly = false, double Zoom = 1.000000E+00); virtual System::UnicodeString __fastcall GetAsSVG(); HIDESBASE System::Uitypes::TColor __fastcall GetBorderColor(); HIDESBASE void __fastcall SetBorderColor(System::Uitypes::TColor value); HIDESBASE int __fastcall GetBorderWidth(); HIDESBASE void __fastcall SetBorderWidth(int value); HIDESBASE System::Uitypes::TColor __fastcall GetFillColor(); HIDESBASE void __fastcall SetFillColor(System::Uitypes::TColor value); System::Uitypes::TColor __fastcall GetFillColor2(); HIDESBASE void __fastcall SetFillColor2(System::Uitypes::TColor value); Hyiedefs::TIEGradientDir __fastcall GetFillGradient(); HIDESBASE void __fastcall SetFillGradient(Hyiedefs::TIEGradientDir value); void __fastcall SetShape(Hyiedefs::TIEShape value); void __fastcall SetShapeModifier(int value); public: __property Hyiedefs::TIEShape Shape = {read=fShape, write=SetShape, nodefault}; __property int ShapeModifier = {read=fShapeModifier, write=SetShapeModifier, nodefault}; __property System::Uitypes::TColor BorderColor = {read=GetBorderColor, write=SetBorderColor, nodefault}; __property int BorderWidth = {read=GetBorderWidth, write=SetBorderWidth, nodefault}; __property System::Uitypes::TColor FillColor = {read=GetFillColor, write=SetFillColor, nodefault}; __property System::Uitypes::TColor FillColor2 = {read=GetFillColor2, write=SetFillColor2, nodefault}; __property Hyiedefs::TIEGradientDir FillGradient = {read=GetFillGradient, write=SetFillGradient, nodefault}; __fastcall virtual TIEShapeLayer(System::TObject* Owner); __fastcall virtual ~TIEShapeLayer(); virtual void __fastcall CopyToBitmap(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth = 0xffffffff, int CreateHeight = 0xffffffff, bool EnableAlpha = true, bool UseDisplayAR = true); virtual void __fastcall LoadFromStream(System::Classes::TStream* Stream); virtual void __fastcall SaveToStream(System::Classes::TStream* Stream, bool MetaOnly = false, Hyieutils::TIOFileType CompressionFormat = 0xfffffffe); }; struct DECLSPEC_DRECORD TIEEndShapeDrawInfo { public: TIELineEndShape Shape; Winapi::Windows::TPoint Pt1; Winapi::Windows::TPoint Pt2; Winapi::Windows::TPoint Pt3; }; class PASCALIMPLEMENTATION TIELineLayer : public TIELayer { typedef TIELayer inherited; private: Vcl::Graphics::TFont* fLabelFont; System::UnicodeString fLabelText; double fLineLength; double fLastLineLength; TIELineEndShape fStartShape; TIELineEndShape fEndShape; int fShapeSize; TIELineLabelPos fLabelPosition; bool fAutoSize; Hyiedefs::TIEShape fLabelShape; Hyiedefs::TIEAlignment fLabelAlignment; bool fReadOnly; System::Uitypes::TColor fLineColor; int fLineWidth; System::Uitypes::TColor fLineFillColor; Winapi::Windows::TRect fLineRect; Winapi::Windows::TRect fLabelRect; TIEEndShapeDrawInfo fStartShapePoints; TIEEndShapeDrawInfo fEndShapePoints; virtual Iexbitmaps::TIEBitmap* __fastcall GetBitmap(); virtual void __fastcall CopyToBitmapEx(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth, int CreateHeight, bool FastDrawing, bool EnableAlpha, bool UseDisplayAR, bool UpdateSize = false, bool EnlargeOnly = false, double Zoom = 1.000000E+00); virtual System::UnicodeString __fastcall GetAsSVG(); void __fastcall SetLabelFont(Vcl::Graphics::TFont* const Value); void __fastcall SetLabelText(const System::UnicodeString Value); void __fastcall SetLabelPosition(const TIELineLabelPos Value); void __fastcall SetAutoSize(const bool Value); void __fastcall SetReadOnly(const bool Value); void __fastcall SetStartShape(const TIELineEndShape Value); void __fastcall SetEndShape(const TIELineEndShape Value); void __fastcall SetShapeSize(const int Value); System::Uitypes::TColor __fastcall GetLabelBorderColor(); void __fastcall SetLabelBorderColor(System::Uitypes::TColor value); int __fastcall GetLabelBorderWidth(); void __fastcall SetLabelBorderWidth(int value); System::Uitypes::TColor __fastcall GetLabelFillColor(); void __fastcall SetLabelFillColor(System::Uitypes::TColor value); System::Uitypes::TColor __fastcall GetLabelFillColor2(); void __fastcall SetLabelFillColor2(System::Uitypes::TColor value); Hyiedefs::TIEGradientDir __fastcall GetLabelFillGradient(); void __fastcall SetLabelFillGradient(Hyiedefs::TIEGradientDir value); void __fastcall SetLineColor(const System::Uitypes::TColor Value); void __fastcall SetLineWidth(const int Value); void __fastcall SetLineFillColor(const System::Uitypes::TColor Value); int __fastcall GetLineLength(); void __fastcall SetLineLength(const int Value); Winapi::Windows::TRect __fastcall GetLinePoints(); void __fastcall SetLinePoints(const Winapi::Windows::TRect &Value); void __fastcall SetLabelShape(Hyiedefs::TIEShape Value); void __fastcall SetLabelAlignment(Hyiedefs::TIEAlignment Value); public: __property bool ReadOnly = {read=fReadOnly, write=SetReadOnly, nodefault}; __property Hyiedefs::TIEShape LabelShape = {read=fLabelShape, write=SetLabelShape, nodefault}; __property Hyiedefs::TIEAlignment LabelAlignment = {read=fLabelAlignment, write=SetLabelAlignment, nodefault}; __property bool AutoSize = {read=fAutoSize, write=SetAutoSize, nodefault}; __property TIELineLabelPos LabelPosition = {read=fLabelPosition, write=SetLabelPosition, nodefault}; __property System::UnicodeString LabelText = {read=fLabelText, write=SetLabelText}; __property Vcl::Graphics::TFont* LabelFont = {read=fLabelFont, write=SetLabelFont}; __property Winapi::Windows::TRect LinePoints = {read=GetLinePoints, write=SetLinePoints}; __property Winapi::Windows::TRect LabelRect = {read=fLabelRect}; __property TIELineEndShape StartShape = {read=fStartShape, write=SetStartShape, nodefault}; __property TIELineEndShape EndShape = {read=fEndShape, write=SetEndShape, nodefault}; __property int ShapeSize = {read=fShapeSize, write=SetShapeSize, nodefault}; void __fastcall SizeToFit(); void __fastcall ActivateEditor(); __property System::Uitypes::TColor LineColor = {read=fLineColor, write=SetLineColor, nodefault}; __property int LineWidth = {read=fLineWidth, write=SetLineWidth, nodefault}; __property System::Uitypes::TColor FillColor = {read=fLineFillColor, write=SetLineFillColor, nodefault}; __property System::Uitypes::TColor LabelBorderColor = {read=GetLabelBorderColor, write=SetLabelBorderColor, nodefault}; __property int LabelBorderWidth = {read=GetLabelBorderWidth, write=SetLabelBorderWidth, nodefault}; __property System::Uitypes::TColor LabelFillColor = {read=GetLabelFillColor, write=SetLabelFillColor, nodefault}; __property System::Uitypes::TColor LabelFillColor2 = {read=GetLabelFillColor2, write=SetLabelFillColor2, nodefault}; __property Hyiedefs::TIEGradientDir LabelFillGradient = {read=GetLabelFillGradient, write=SetLabelFillGradient, nodefault}; __property int LineLength = {read=GetLineLength, write=SetLineLength, nodefault}; __fastcall virtual TIELineLayer(System::TObject* Owner); __fastcall virtual ~TIELineLayer(); virtual void __fastcall CopyToBitmap(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth = 0xffffffff, int CreateHeight = 0xffffffff, bool EnableAlpha = true, bool UseDisplayAR = true); virtual void __fastcall LoadFromStream(System::Classes::TStream* Stream); virtual void __fastcall SaveToStream(System::Classes::TStream* Stream, bool MetaOnly = false, Hyieutils::TIOFileType CompressionFormat = 0xfffffffe); }; class PASCALIMPLEMENTATION TIEPolylineLayer : public TIELayer { typedef TIELayer inherited; private: void *fPolyPoints; int fPolyPointCount; int fPolyPointsAllocated; void *fDrawnPoints; int fDrawnPointCount; int fDrawnPointsAllocated; bool fPolylineClosed; virtual Iexbitmaps::TIEBitmap* __fastcall GetBitmap(); virtual void __fastcall CopyToBitmapEx(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth, int CreateHeight, bool FastDrawing, bool EnableAlpha, bool UseDisplayAR, bool UpdateSize = false, bool EnlargeOnly = false, double Zoom = 1.000000E+00); virtual System::UnicodeString __fastcall GetAsSVG(); Winapi::Windows::TPoint __fastcall GetPoints(int index); int __fastcall GetPointCount(); System::Uitypes::TColor __fastcall GetLineColor(); void __fastcall SetLineColor(System::Uitypes::TColor value); int __fastcall GetLineWidth(); void __fastcall SetLineWidth(int value); HIDESBASE System::Uitypes::TColor __fastcall GetFillColor(); HIDESBASE void __fastcall SetFillColor(System::Uitypes::TColor value); void __fastcall SetPolylineClosed(bool value); public: __property bool PolylineClosed = {read=fPolylineClosed, write=SetPolylineClosed, nodefault}; __property Winapi::Windows::TPoint Points[int index] = {read=GetPoints}; __property int PointCount = {read=GetPointCount, nodefault}; __property System::Uitypes::TColor LineColor = {read=GetLineColor, write=SetLineColor, nodefault}; __property int LineWidth = {read=GetLineWidth, write=SetLineWidth, nodefault}; __property System::Uitypes::TColor FillColor = {read=GetFillColor, write=SetFillColor, nodefault}; __fastcall virtual TIEPolylineLayer(System::TObject* Owner); __fastcall virtual ~TIEPolylineLayer(); virtual void __fastcall CopyToBitmap(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth = 0xffffffff, int CreateHeight = 0xffffffff, bool EnableAlpha = true, bool UseDisplayAR = true); virtual void __fastcall LoadFromStream(System::Classes::TStream* Stream); virtual void __fastcall SaveToStream(System::Classes::TStream* Stream, bool MetaOnly = false, Hyieutils::TIOFileType CompressionFormat = 0xfffffffe); void __fastcall ClearAllPoints(); void __fastcall SetPoints(System::Types::TPoint *Points, const System::NativeInt Points_High, bool ClosePolyline)/* overload */; void __fastcall SetPoints(System::Types::TPoint *Points, const System::NativeInt Points_High)/* overload */; void __fastcall SetPoints(Hyiedefs::TIEShape Shape, bool ClosePolyline = true)/* overload */; void __fastcall AddPoint(int X, int Y); void __fastcall RemovePoint(int Index); void __fastcall SimplifyPolygon(int MaxPoints); }; class PASCALIMPLEMENTATION TIETextLayer : public TIELayer { typedef TIELayer inherited; private: Vcl::Graphics::TFont* fFont; System::UnicodeString fText; bool fAutoSize; Hyiedefs::TIEShape fBorderShape; Hyiedefs::TIEAlignment fAlignment; Hyiedefs::TIELayout fLayout; bool fReadOnly; virtual Iexbitmaps::TIEBitmap* __fastcall GetBitmap(); virtual void __fastcall CopyToBitmapEx(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth, int CreateHeight, bool FastDrawing, bool EnableAlpha, bool UseDisplayAR, bool UpdateSize = false, bool EnlargeOnly = false, double Zoom = 1.000000E+00); virtual System::UnicodeString __fastcall GetAsSVG(); void __fastcall SetFont(Vcl::Graphics::TFont* const Value); void __fastcall SetText(const System::UnicodeString Value); void __fastcall SetAutoSize(const bool Value); void __fastcall SetReadOnly(const bool Value); void __fastcall SetBorderShape(const Hyiedefs::TIEShape Value); HIDESBASE System::Uitypes::TColor __fastcall GetBorderColor(); HIDESBASE void __fastcall SetBorderColor(System::Uitypes::TColor value); HIDESBASE int __fastcall GetBorderWidth(); HIDESBASE void __fastcall SetBorderWidth(int value); HIDESBASE System::Uitypes::TColor __fastcall GetFillColor(); HIDESBASE void __fastcall SetFillColor(System::Uitypes::TColor value); System::Uitypes::TColor __fastcall GetFillColor2(); HIDESBASE void __fastcall SetFillColor2(System::Uitypes::TColor value); Hyiedefs::TIEGradientDir __fastcall GetFillGradient(); HIDESBASE void __fastcall SetFillGradient(Hyiedefs::TIEGradientDir value); void __fastcall SetAlignment(Hyiedefs::TIEAlignment value); void __fastcall SetLayout(Hyiedefs::TIELayout value); public: __property Hyiedefs::TIEAlignment Alignment = {read=fAlignment, write=SetAlignment, nodefault}; __property Hyiedefs::TIELayout Layout = {read=fLayout, write=SetLayout, nodefault}; __property System::Uitypes::TColor BorderColor = {read=GetBorderColor, write=SetBorderColor, nodefault}; __property int BorderWidth = {read=GetBorderWidth, write=SetBorderWidth, nodefault}; __property System::Uitypes::TColor FillColor = {read=GetFillColor, write=SetFillColor, nodefault}; __property System::Uitypes::TColor FillColor2 = {read=GetFillColor2, write=SetFillColor2, nodefault}; __property Hyiedefs::TIEGradientDir FillGradient = {read=GetFillGradient, write=SetFillGradient, nodefault}; __property bool AutoSize = {read=fAutoSize, write=SetAutoSize, nodefault}; __property System::UnicodeString Text = {read=fText, write=SetText}; __property Vcl::Graphics::TFont* Font = {read=fFont, write=SetFont}; __property Hyiedefs::TIEShape BorderShape = {read=fBorderShape, write=SetBorderShape, nodefault}; __property bool ReadOnly = {read=fReadOnly, write=SetReadOnly, nodefault}; void __fastcall ActivateEditor(); void __fastcall SizeToText(bool EnlargeOnly = false); __fastcall virtual TIETextLayer(System::TObject* Owner); __fastcall virtual ~TIETextLayer(); virtual void __fastcall CopyToBitmap(Iexbitmaps::TIEBitmap* &Dest, int CreateWidth = 0xffffffff, int CreateHeight = 0xffffffff, bool EnableAlpha = true, bool UseDisplayAR = true); virtual void __fastcall LoadFromStream(System::Classes::TStream* Stream); virtual void __fastcall SaveToStream(System::Classes::TStream* Stream, bool MetaOnly = false, Hyieutils::TIOFileType CompressionFormat = 0xfffffffe); }; #pragma pack(push,1) struct DECLSPEC_DRECORD TLayerHeader { public: System::StaticArray Magic; int Version; Hyieutils::TIOFileType FileFormat; int LayersCount; }; #pragma pack(pop) //-- var, const, procedure --------------------------------------------------- #define IELP_Width L"IELP_Width" #define IELP_Height L"IELP_Height" #define IELP_Visible L"IELP_Visible" #define IELP_VisibleBox L"IELP_VisibleBox" #define IELP_Selectable L"IELP_Selectable" #define IELP_Transparency L"IELP_Transparency" #define IELP_Opacity L"IELP_Opacity" #define IELP_PosX L"IELP_PosX" #define IELP_PosY L"IELP_PosY" #define IELP_Cropped L"IELP_Cropped" #define IELP_Locked L"IELP_Locked" #define IELP_Operation L"IELP_Operation" #define IELP_Name L"IELP_Name" #define IELP_IsMask L"IELP_IsMask" #define IELP_DrawOuter L"IELP_DrawOuter" #define IELP_AlphaEdgeFeathering L"IELP_AlphaEdgeFeathering" #define IELP_GroupIndex L"IELP_GroupIndex" #define IELP_Selected L"IELP_Selected" #define IELP_AspectRatioLocked L"IELP_AspectRatioLocked" #define IELP_BorderColor L"IELP_BorderColor" #define IELP_BorderWidth L"IELP_BorderWidth" #define IELP_FillColor L"IELP_FillColor" #define IELP_FillColor2 L"IELP_FillColor2" #define IELP_FillGradient L"IELP_FillGradient" #define IELP_Rotate L"IELP_Rotate" #define IELP_RotateCenterX L"IELP_RotateCenterX" #define IELP_RotateCenterY L"IELP_RotateCenterY" #define IELP_SoftShadowEnabled L"IELP_SoftShadowEnabled" #define IELP_SoftShadowRadius L"IELP_SoftShadowRadius" #define IELP_SoftShadowOffsetX L"IELP_SoftShadowOffsetX" #define IELP_SoftShadowOffsetY L"IELP_SoftShadowOffsetY" #define IELP_SoftShadowIntensity L"IELP_SoftShadowIntensity" #define IELP_SoftShadowColor L"IELP_SoftShadowColor" #define IELP_ImageResampleFilter L"IELP_ImageResampleFilter" #define IELP_ImageUseResampleFilter L"IELP_ImageUseResampleFilter" #define IELP_Shape L"IELP_Shape" #define IELP_ShapeModifier L"IELP_ShapeModifier" #define IELP_LineColor L"IELP_LineColor" #define IELP_LineWidth L"IELP_LineWidth" #define IELP_LineFillColor L"IELP_LineFillColor" #define IELP_LabelText L"IELP_LabelText" #define IELP_LabelAlignment L"IELP_LabelAlignment" #define IELP_LabelPosition L"IELP_LabelPosition" #define IELP_LineEndShape L"IELP_LineEndShape" #define IELP_LineShapeSize L"IELP_LineShapeSize" #define IELP_LineStartShape L"IELP_LineStartShape" #define IELP_LineLength L"IELP_LineLength" #define IELP_PolylinePoints L"IELP_PolylinePoints" #define IELP_PolylineClosed L"IELP_PolylineClosed" #define IELP_FontName L"IELP_FontName" #define IELP_FontSize L"IELP_FontSize" #define IELP_FontColor L"IELP_FontColor" #define IELP_BorderShape L"IELP_BorderShape" #define IELP_Text L"IELP_Text" #define IELP_AutoSize L"IELP_AutoSize" #define IELP_ReadOnly L"IELP_ReadOnly" #define IELP_TextAlignment L"IELP_TextAlignment" #define IELP_TextLayout L"IELP_TextLayout" #define IELP_AntiAlias L"IELP_AntiAlias" #define IELP_SizeToFit L"IELP_SizeToFit" #define IELP_RestoreSize L"IELP_RestoreSize" #define IELP_RestoreAspectRatio L"IELP_RestoreAspectRatio" #define IELP_RestorePreferredAspectRatio L"IELP_RestorePreferredAspectRatio" #define IELP_LAYER_CACHE_CLEAR L"IELP_LAYER_CACHE_CLEAR" static _DELPHI_CONST System::Word IELayers_File_Version = System::Word(0x1b5b); static _DELPHI_CONST System::Int8 Layers_Thumbnail_Format = System::Int8(0x8); extern DELPHI_PACKAGE System::AnsiString IELayers_File_Magic; static _DELPHI_CONST int IELayer_Pos_Left = int(0x7ffffff4); static _DELPHI_CONST int IELayer_Pos_HCenter = int(0x7ffffff5); static _DELPHI_CONST int IELayer_Pos_Right = int(0x7ffffff6); static _DELPHI_CONST int IELayer_Pos_Top = int(0x7ffffff4); static _DELPHI_CONST int IELayer_Pos_VCenter = int(0x7ffffff5); static _DELPHI_CONST int IELayer_Pos_Bottom = int(0x7ffffff6); extern DELPHI_PACKAGE void __fastcall IECleanupLayers(void); extern DELPHI_PACKAGE void __fastcall IELayersMerge(TIELayer* Layer1, TIELayer* Layer2, TIELayer* LayerMask, Iexbitmaps::TIEBitmap* Destination, Hyiedefs::TResampleFilter ZoomFilter, System::Uitypes::TColor Background, bool RelativePositions, bool ForceCropLayer2 = false); extern DELPHI_PACKAGE bool __fastcall IETryIEN(System::Classes::TStream* Stream); extern DELPHI_PACKAGE void __fastcall ReadLayerPropsFromStream(System::Classes::TStream* Stream, bool ResetPos, /* out */ int &RecSize, /* out */ TIELayerKind &LayerKind, /* out */ GUID &GUID); extern DELPHI_PACKAGE Hyiedefs::TIEArrayOfTPoint __fastcall IESimplifyPolygon(double tol, System::Types::TPoint *V, const System::NativeInt V_High); } /* namespace Iexlayers */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEXLAYERS) using namespace Iexlayers; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // iexLayersHPP