// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'iegdiplus.pas' rev: 37.00 (Windows) #ifndef iegdiplusHPP #define iegdiplusHPP #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 //-- user supplied ----------------------------------------------------------- namespace Iegdiplus { //-- forward type declarations ----------------------------------------------- struct TIEMetafileHeader; class DELPHICLASS TIEMetafile; class DELPHICLASS TIEPen; class DELPHICLASS TIEBrush; class DELPHICLASS TIECanvas; class DELPHICLASS TIEEmptyCanvas; //-- type declarations ------------------------------------------------------- typedef unsigned ARGB; enum DECLSPEC_DENUM TIECanvasSmoothingMode : unsigned char { iesmInvalid, iesmDefault, iesmBestPerformance, iesmBestRenderingQuality, iesmNone, iesmAntialias }; enum DECLSPEC_DENUM TIETextRenderingHintMode : unsigned char { ietrTextRenderingHintSystemDefault, ietrTextRenderingHintSingleBitPerPixelGridFit, ietrTextRenderingHintSingleBitPerPixel, ietrTextRenderingHintAntiAliasGridFit, ietrTextRenderingHintAntiAlias, ietrTextRenderingHintClearTypeGridFit }; enum DECLSPEC_DENUM TIECanvasPenLineJoin : unsigned char { ieljMiter, ieljBevel, ieljRound, ieljMiterClipped }; enum DECLSPEC_DENUM TIECanvasCompositingQuality : unsigned char { ieCompositingQualityDefault, ieCompositingQualityHighSpeed, ieCompositingQualityHighQuality, ieCompositingQualityGammaCorrected, ieCompositingQualityAssumeLinear }; enum DECLSPEC_DENUM TIECanvasCompositingMode : unsigned char { ieCompositingModeSourceOver, ieCompositingModeSourceCopy }; #pragma pack(push,1) struct DECLSPEC_DRECORD TIEMetafileHeader { public: unsigned Type_; unsigned Size; unsigned Version; unsigned EmfPlusFlags; float DpiX; float DpiY; int X; int Y; int Width; int Height; Winapi::Windows::TEnhMetaHeader Header; }; #pragma pack(pop) class PASCALIMPLEMENTATION TIEMetafile : public System::TObject { typedef System::TObject inherited; private: void *fHandle; TIEMetafileHeader fHeader; void __fastcall FillHeader(); int __fastcall GetWidth(); int __fastcall GetHeight(); public: __fastcall TIEMetafile(const System::WideString Filename)/* overload */; __fastcall TIEMetafile(System::Classes::TStream* Stream)/* overload */; __fastcall virtual ~TIEMetafile(); __property void * Handle = {read=fHandle}; __property int Width = {read=GetWidth, nodefault}; __property int Height = {read=GetHeight, nodefault}; bool __fastcall IsWmf(); bool __fastcall IsEmf(); bool __fastcall IsEmfPlus(); bool __fastcall IsEmfPlusDual(); }; class PASCALIMPLEMENTATION TIEPen : public System::TObject { typedef System::TObject inherited; private: void *fGHandle; Vcl::Graphics::TPen* fPen; System::Uitypes::TColor fColor; int fTransparency; float fWidth; Vcl::Graphics::TPenStyle fStyle; Vcl::Graphics::TPenMode fMode; TIECanvasPenLineJoin fLineJoin; void __fastcall ReCreatePen(); void __fastcall SetWidth(float value); void __fastcall SetTColor(System::Uitypes::TColor value); void __fastcall SetTransparency(int value); void __fastcall SetStyle(Vcl::Graphics::TPenStyle value); ARGB __fastcall GetARGBColor(); void __fastcall SetMode(Vcl::Graphics::TPenMode value); void __fastcall SetVHandle(HPEN value); HPEN __fastcall GetVHandle(); void __fastcall SetLineJoin(TIECanvasPenLineJoin value); public: __fastcall TIEPen(Vcl::Graphics::TPen* Pen); __fastcall virtual ~TIEPen(); __property float Width = {read=fWidth, write=SetWidth}; __property System::Uitypes::TColor Color = {read=fColor, write=SetTColor, nodefault}; __property int Transparency = {read=fTransparency, write=SetTransparency, nodefault}; __property Vcl::Graphics::TPenStyle Style = {read=fStyle, write=SetStyle, nodefault}; __property Vcl::Graphics::TPenMode Mode = {read=fMode, write=SetMode, nodefault}; __property HPEN Handle = {read=GetVHandle, write=SetVHandle}; __property TIECanvasPenLineJoin LineJoin = {read=fLineJoin, write=SetLineJoin, nodefault}; }; class PASCALIMPLEMENTATION TIEBrush : public System::TObject { typedef System::TObject inherited; private: void *fGHandle; Vcl::Graphics::TBrush* fBrush; System::Uitypes::TColor fColor; int fTransparency; System::Uitypes::TColor fBackColor; int fBackTransparency; Vcl::Graphics::TBrushStyle fStyle; void __fastcall ReCreateBrush(); Vcl::Graphics::TBitmap* __fastcall GetBitmap(); void __fastcall SetBitmap(Vcl::Graphics::TBitmap* value); void __fastcall SetTColor(System::Uitypes::TColor value); void __fastcall SetBackTColor(System::Uitypes::TColor value); void __fastcall SetTransparency(int value); void __fastcall SetBackTransparency(int value); void __fastcall SetStyle(Vcl::Graphics::TBrushStyle value); ARGB __fastcall GetARGBColor(); public: __fastcall TIEBrush(Vcl::Graphics::TBrush* Brush); __fastcall virtual ~TIEBrush(); __property Vcl::Graphics::TBitmap* Bitmap = {read=GetBitmap, write=SetBitmap}; __property System::Uitypes::TColor Color = {read=fColor, write=SetTColor, nodefault}; __property System::Uitypes::TColor BackColor = {read=fBackColor, write=SetBackTColor, nodefault}; __property int Transparency = {read=fTransparency, write=SetTransparency, nodefault}; __property int BackTransparency = {read=fBackTransparency, write=SetBackTransparency, nodefault}; __property Vcl::Graphics::TBrushStyle Style = {read=fStyle, write=SetStyle, nodefault}; }; class PASCALIMPLEMENTATION TIECanvas : public System::TObject { typedef System::TObject inherited; private: TIECanvasSmoothingMode fSmoothingMode; TIETextRenderingHintMode fTextRendering; int fCanvasHandle; int fSavedDC; void __fastcall SetSmoothingMode(TIECanvasSmoothingMode value); void __fastcall SetTextRendering(TIETextRenderingHintMode value); void __fastcall SetPenPos(const System::Types::TPoint &value); HDC __fastcall GetHandle(); Vcl::Graphics::TFont* __fastcall GetFont(); void __fastcall DrawTextEx(System::WideString Text, int X, int Y, int Width, int Height, bool Typographic, bool MeasureOnly, /* out */ System::Types::TSize &TextSize); void __fastcall DrawTextEx2(System::WideString Text, int X, int Y, int Width, int Height, bool Typographic, int Angle); protected: void *fGraphics; Vcl::Graphics::TCanvas* fCanvas; TIEPen* fPen; System::Types::TPoint fPenPos; TIEBrush* fBrush; bool fUseGDIPlus; void *fImage; System::Classes::TNotifyEvent fOnDestroy; System::TObject* fROIBitmap; public: __fastcall TIECanvas(Vcl::Graphics::TCanvas* Canvas, bool AntiAlias, bool UseGDIPlus, Vcl::Graphics::TBitmap* Bitmap)/* overload */; __fastcall virtual ~TIECanvas(); __property TIECanvasSmoothingMode SmoothingMode = {read=fSmoothingMode, write=SetSmoothingMode, nodefault}; __property TIETextRenderingHintMode TextRendering = {read=fTextRendering, write=SetTextRendering, nodefault}; __property System::Types::TPoint PenPos = {read=fPenPos, write=SetPenPos}; __property TIEPen* Pen = {read=fPen}; __property TIEBrush* Brush = {read=fBrush}; void __fastcall MoveTo(int X, int Y); void __fastcall LineTo(int X, int Y); void __fastcall FillRect(const System::Types::TRect &Rect); void __fastcall Rectangle(int X1, int Y1, int X2, int Y2)/* overload */; void __fastcall Rectangle(const System::Types::TRect &Rect)/* overload */; void __fastcall Ellipse(int X1, int Y1, int X2, int Y2)/* overload */; void __fastcall Ellipse(const System::Types::TRect &Rect)/* overload */; void __fastcall DrawLine(double X1, double Y1, double X2, double Y2); void __fastcall DrawLinesPath(Hyiedefs::TIE2DPointArray points); void __fastcall Polygon(System::Types::TPoint *Points, const System::NativeInt Points_High); void __fastcall Arc(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4); void __fastcall Polyline(System::Types::TPoint *Points, const System::NativeInt Points_High); __property HDC Handle = {read=GetHandle}; int __fastcall TextWidth(const System::WideString Text); int __fastcall TextHeight(const System::WideString Text); void __fastcall TextOut(int X, int Y, const System::UnicodeString Text); void __fastcall TextOut2(int X, int Y, const System::UnicodeString Text); __property Vcl::Graphics::TFont* Font = {read=GetFont}; void __fastcall TextRect(const System::Types::TRect &Rect, int X, int Y, const System::WideString Text); void __fastcall TextRectEx(const System::Types::TRect &Rect, int X, int Y, const System::WideString Text); System::Types::TSize __fastcall TextExtent(const System::WideString Text); void __fastcall RoundRect(int X1, int Y1, int X2, int Y2, int X3, int Y3); __property Vcl::Graphics::TCanvas* GDICanvas = {read=fCanvas}; void __fastcall Rotate(double Angle); void __fastcall Translate(double dx, double dy); void __fastcall ResetTransform(); void __fastcall Pie(float X, float Y, float Width, float Height, float StartAngle, float SweepAngle)/* overload */; void __fastcall Pie(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4)/* overload */; void __fastcall DrawText(System::WideString Text, const System::Types::TRect &BoundingRect, bool Typographic = false)/* overload */; void __fastcall DrawText(System::WideString Text, const System::Types::TRect &BoundingRect, int Angle, bool Typographic = false)/* overload */; void __fastcall DrawText(System::WideString Text, int X, int Y, int Angle)/* overload */; System::Types::TSize __fastcall MeasureText(System::WideString Text, const System::Types::TRect &BoundingRect, int Angle = 0x0, bool Typographic = false)/* overload */; System::Types::TSize __fastcall MeasureText(System::WideString Text, bool Typographic = false)/* overload */; __property System::Classes::TNotifyEvent OnDestroy = {read=fOnDestroy, write=fOnDestroy}; __property System::TObject* ROIBitmap = {read=fROIBitmap, write=fROIBitmap}; void __fastcall SetCompositingMode(TIECanvasCompositingMode Mode, TIECanvasCompositingQuality Quality); void __fastcall Draw(TIEMetafile* Metafile, double x, double y, float width, float height); void __fastcall GradientFillRect(const System::Types::TRect &aRect, System::Uitypes::TColor FromColor, System::Uitypes::TColor ToColor, bool VerticalGradient); void __fastcall Flush(); }; class PASCALIMPLEMENTATION TIEEmptyCanvas : public TIECanvas { typedef TIECanvas inherited; private: Vcl::Graphics::TBitmap* fTempBitmap; public: __fastcall TIEEmptyCanvas()/* overload */; __fastcall virtual ~TIEEmptyCanvas(); public: /* TIECanvas.Create */ inline __fastcall TIEEmptyCanvas(Vcl::Graphics::TCanvas* Canvas, bool AntiAlias, bool UseGDIPlus, Vcl::Graphics::TBitmap* Bitmap)/* overload */ : TIECanvas(Canvas, AntiAlias, UseGDIPlus, Bitmap) { } }; //-- var, const, procedure --------------------------------------------------- static _DELPHI_CONST System::Int8 IEMetafileTypeInvalid = System::Int8(0x0); static _DELPHI_CONST System::Int8 IEMetafileTypeWmf = System::Int8(0x1); static _DELPHI_CONST System::Int8 IEMetafileTypeWmfPlaceable = System::Int8(0x2); static _DELPHI_CONST System::Int8 IEMetafileTypeEmf = System::Int8(0x3); static _DELPHI_CONST System::Int8 IEMetafileTypeEmfPlusOnly = System::Int8(0x4); static _DELPHI_CONST System::Int8 IEMetafileTypeEmfPlusDual = System::Int8(0x5); extern DELPHI_PACKAGE bool __fastcall IEGDIPAvailable(void); extern DELPHI_PACKAGE bool __fastcall IEGDIPEnabled(void); extern DELPHI_PACKAGE void __fastcall IEGDIPLoadLibrary(void); extern DELPHI_PACKAGE void __fastcall IEGDIPUnLoadLibrary(void); extern DELPHI_PACKAGE void __fastcall IEInitialize_iegdiplus(void); extern DELPHI_PACKAGE void __fastcall IEFinalize_iegdiplus(void); } /* namespace Iegdiplus */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEGDIPLUS) using namespace Iegdiplus; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // iegdiplusHPP