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

636 lines
33 KiB
C++

// 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 <System.hpp>
#include <SysInit.hpp>
#include <System.UITypes.hpp>
#include <Winapi.Windows.hpp>
#include <Winapi.Messages.hpp>
#include <Vcl.Graphics.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.Forms.hpp>
#include <System.Classes.hpp>
#include <System.SysUtils.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <System.Contnrs.hpp>
#include <hyiedefs.hpp>
#include <iexBitmaps.hpp>
#include <ieview.hpp>
#include <imageenproc.hpp>
#include <hyieutils.hpp>
#include <iegdiplus.hpp>
#include <System.Types.hpp>
//-- 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<System::Types::TPoint, 4> 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<char, 13> 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