636 lines
33 KiB
C++
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
|