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

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