283 lines
12 KiB
C++
283 lines
12 KiB
C++
// 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 <System.hpp>
|
|
#include <SysInit.hpp>
|
|
#include <Winapi.Windows.hpp>
|
|
#include <System.Classes.hpp>
|
|
#include <System.SysUtils.hpp>
|
|
#include <Vcl.Graphics.hpp>
|
|
#include <System.Types.hpp>
|
|
#include <System.UITypes.hpp>
|
|
#include <hyiedefs.hpp>
|
|
|
|
//-- 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
|