flexcontrols.hpp
来自「FlexGraphics是一套创建矢量图形的VCL组件」· HPP 代码 · 共 628 行 · 第 1/2 页
HPP
628 行
// CodeGear C++Builder
// Copyright (c) 1995, 2008 by CodeGear
// All rights reserved
// (DO NOT EDIT: machine generated header) 'Flexcontrols.pas' rev: 20.00
#ifndef FlexcontrolsHPP
#define FlexcontrolsHPP
#pragma delphiheader begin
#pragma option push
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp> // Pascal unit
#include <Sysinit.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <Graphics.hpp> // Pascal unit
#include <Controls.hpp> // Pascal unit
#include <Stdctrls.hpp> // Pascal unit
#include <Sysutils.hpp> // Pascal unit
#include <Variants.hpp> // Pascal unit
#include <Flexbase.hpp> // Pascal unit
#include <Flexprops.hpp> // Pascal unit
#include <Flexutils.hpp> // Pascal unit
#include <Flexpath.hpp> // Pascal unit
#include <Flexhistory.hpp> // Pascal unit
#include <Flexactions.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Flexcontrols
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TFlexBox;
class PASCALIMPLEMENTATION TFlexBox : public Flexbase::TFlexControl
{
typedef Flexbase::TFlexControl inherited;
private:
bool FAlwaysFilled;
Flexprops::TBrushProp* FBrushProp;
Flexprops::TPenProp* FPenProp;
Flexprops::TIntProp* FRoundnessProp;
protected:
virtual void __fastcall CreateProperties(void);
virtual void __fastcall ControlCreate(void);
virtual void __fastcall ControlTranslate(const Flexutils::TTranslateInfo &TranslateInfo);
virtual Flexbase::TFlexControl* __fastcall CreateCurveControl(void);
HRGN __fastcall CreateBoxRegion(const Types::TRect &PaintRect, bool Inflate = false);
virtual void __fastcall Paint(Graphics::TCanvas* Canvas, Types::TRect &PaintRect);
virtual Types::TPoint __fastcall GetAnchorPoint();
virtual Types::TRect __fastcall GetRefreshRect(int RefreshX, int RefreshY);
virtual void __fastcall PropChanged(System::TObject* Sender, Flexprops::TCustomProp* Prop);
virtual void __fastcall PropStored(System::TObject* Sender, Flexprops::TCustomProp* Prop, bool &IsStored, const System::UnicodeString PropName = L"");
virtual Types::TPoint __fastcall GetDefaultLinkPoint(int Index);
virtual int __fastcall GetDefaultLinkPointCount(void);
public:
__classmethod virtual Controls::TCursor __fastcall CursorInCreate();
virtual bool __fastcall IsPointInside(int PaintX, int PaintY);
__property Flexprops::TBrushProp* BrushProp = {read=FBrushProp};
__property Flexprops::TPenProp* PenProp = {read=FPenProp};
__property Flexprops::TIntProp* RoundnessProp = {read=FRoundnessProp};
public:
/* TFlexControl.Create */ inline __fastcall virtual TFlexBox(Flexbase::TFlexPanel* AOwner, Flexbase::TFlexControl* AParent, Flexbase::TFlexLayer* ALayer) : Flexbase::TFlexControl(AOwner, AParent, ALayer) { }
/* TFlexControl.Destroy */ inline __fastcall virtual ~TFlexBox(void) { }
};
class DELPHICLASS TFlexEllipse;
class PASCALIMPLEMENTATION TFlexEllipse : public Flexbase::TFlexControl
{
typedef Flexbase::TFlexControl inherited;
private:
Types::TPoint __fastcall GetCeneter();
protected:
Flexprops::TBrushProp* FBrushProp;
Flexprops::TPenProp* FPenProp;
Flexprops::TIntProp* FBeginAngleProp;
Flexprops::TIntProp* FEndAngleProp;
Flexprops::TStrProp* FArcAxesProp;
Flexpath::TPointArray FPoints;
bool FEditing;
Flexpath::TPointTypeArray FPointTypes;
Flexpath::TPathInfo FPathInfo;
bool FUseAxes;
bool FArcOldFormatNeedCheck;
bool FArcOldFormatNeedReset;
bool FArcOldFormat;
Types::TPoint FArcOfs;
Types::TPoint FArcSize;
bool FArcResizing;
Types::TRect FArcResizingBounds;
HRGN __fastcall CreateEllipseRegion(const Types::TRect &PaintRect);
virtual void __fastcall CreateProperties(void);
virtual void __fastcall ControlCreate(void);
virtual void __fastcall ControlTranslate(const Flexutils::TTranslateInfo &TranslateInfo);
virtual void __fastcall MirrorInResize(bool HMirror, bool VMirror);
virtual Flexbase::TFlexControl* __fastcall CreateCurveControl(void);
virtual Types::TPoint __fastcall GetPoint(int Index);
virtual int __fastcall GetPointCount(void);
virtual Flexpath::PPathInfo __fastcall GetPointsInfo(void);
virtual void __fastcall SetPoint(int Index, const Types::TPoint &Value);
void __fastcall MakeArc(HDC DC, const Types::TRect &R, const Flexpath::TPointArray Pt);
virtual void __fastcall Paint(Graphics::TCanvas* Canvas, Types::TRect &PaintRect);
virtual Types::TRect __fastcall GetRefreshRect(int RefreshX, int RefreshY);
virtual Types::TPoint __fastcall GetAnchorPoint();
virtual Types::TPoint __fastcall GetDefaultLinkPoint(int Index);
virtual int __fastcall GetDefaultLinkPointCount(void);
virtual void __fastcall PropStored(System::TObject* Sender, Flexprops::TCustomProp* Prop, bool &IsStored, const System::UnicodeString PropName = L"");
virtual void __fastcall PropChanged(System::TObject* Sender, Flexprops::TCustomProp* Prop);
virtual void __fastcall PropHistoryAction(System::TObject* Sender, Flexprops::TCustomProp* Prop, Flexhistory::THistoryActionClass &ActionClass);
virtual void __fastcall DoNotify(Flexutils::TFlexNotify Notify);
virtual void __fastcall StartResizing(const Types::TRect &SelRect);
void __fastcall SetPointsByAngles(void);
void __fastcall SetAnglesByPoints(void);
bool __fastcall GetIsPie(void);
virtual bool __fastcall IsPropUpdatePoints(Flexprops::TCustomProp* Prop);
bool __fastcall GetIsNeedHistoryPointsAction(void);
virtual void __fastcall UpdateArcBoundsByPoints(void);
virtual void __fastcall SetUseAxes(bool Value);
virtual void __fastcall GetArcAxes(System::TObject* Sender, /* out */ System::UnicodeString &s);
virtual void __fastcall SetArcAxes(const System::UnicodeString s);
__property bool UseAxes = {read=FUseAxes, write=SetUseAxes, nodefault};
public:
__classmethod virtual Controls::TCursor __fastcall CursorInCreate();
virtual bool __fastcall IsPointInside(int PaintX, int PaintY);
virtual bool __fastcall EditPoints(Flexpath::TPathEditFunc Func, const Flexpath::TSelectedArray Selected, Flexpath::PPathEditParams Params = (void *)(0x0));
virtual Flexpath::TPathEditFuncs __fastcall EditPointsCaps(const Flexpath::TSelectedArray Selected);
__property Types::TPoint Center = {read=GetCeneter};
__property bool IsPie = {read=GetIsPie, nodefault};
__property bool IsNeedHistoryPointsAction = {read=GetIsNeedHistoryPointsAction, nodefault};
__property Flexprops::TBrushProp* BrushProp = {read=FBrushProp};
__property Flexprops::TPenProp* PenProp = {read=FPenProp};
__property Flexprops::TIntProp* BeginAngleProp = {read=FBeginAngleProp};
__property Flexprops::TIntProp* EndAngleProp = {read=FEndAngleProp};
public:
/* TFlexControl.Create */ inline __fastcall virtual TFlexEllipse(Flexbase::TFlexPanel* AOwner, Flexbase::TFlexControl* AParent, Flexbase::TFlexLayer* ALayer) : Flexbase::TFlexControl(AOwner, AParent, ALayer) { }
/* TFlexControl.Destroy */ inline __fastcall virtual ~TFlexEllipse(void) { }
};
class DELPHICLASS TFlexArc;
class PASCALIMPLEMENTATION TFlexArc : public TFlexEllipse
{
typedef TFlexEllipse inherited;
public:
/* TFlexControl.Create */ inline __fastcall virtual TFlexArc(Flexbase::TFlexPanel* AOwner, Flexbase::TFlexControl* AParent, Flexbase::TFlexLayer* ALayer) : TFlexEllipse(AOwner, AParent, ALayer) { }
/* TFlexControl.Destroy */ inline __fastcall virtual ~TFlexArc(void) { }
};
class DELPHICLASS TFlexPicture;
class PASCALIMPLEMENTATION TFlexPicture : public Flexbase::TFlexControl
{
typedef Flexbase::TFlexControl inherited;
private:
Flexprops::TBoolProp* FAutoSizeProp;
Flexprops::TPictureProp* FPictureProp;
Flexprops::TIntProp* FFrameIndexProp;
protected:
virtual void __fastcall CreateProperties(void);
virtual void __fastcall ControlCreate(void);
virtual void __fastcall PropChanged(System::TObject* Sender, Flexprops::TCustomProp* Prop);
virtual void __fastcall PropStored(System::TObject* Sender, Flexprops::TCustomProp* Prop, bool &IsStored, const System::UnicodeString PropName = L"");
virtual void __fastcall Paint(Graphics::TCanvas* Canvas, Types::TRect &PaintRect);
virtual void __fastcall PaintAll(Graphics::TCanvas* Canvas, int PaintX, int PaintY);
virtual Types::TPoint __fastcall GetDefaultLinkPoint(int Index);
virtual int __fastcall GetDefaultLinkPointCount(void);
public:
__classmethod virtual Controls::TCursor __fastcall CursorInCreate();
virtual bool __fastcall IsPointInside(int PaintX, int PaintY);
__property Flexprops::TPictureProp* PictureProp = {read=FPictureProp};
__property Flexprops::TIntProp* FrameIndexProp = {read=FFrameIndexProp};
__property Flexprops::TBoolProp* AutoSizeProp = {read=FAutoSizeProp};
public:
/* TFlexControl.Create */ inline __fastcall virtual TFlexPicture(Flexbase::TFlexPanel* AOwner, Flexbase::TFlexControl* AParent, Flexbase::TFlexLayer* ALayer) : Flexbase::TFlexControl(AOwner, AParent, ALayer) { }
/* TFlexControl.Destroy */ inline __fastcall virtual ~TFlexPicture(void) { }
};
class DELPHICLASS TFlexCurve;
class PASCALIMPLEMENTATION TFlexCurve : public Flexbase::TFlexControl
{
typedef Flexbase::TFlexControl inherited;
private:
Flexprops::TBrushProp* FBrushProp;
Flexprops::TPenProp* FPenProp;
Flexprops::TLineCapProp* FBeginCapProp;
Flexprops::TLineCapProp* FEndCapProp;
Flexprops::TDataProp* FPointsProp;
Flexprops::TDataProp* FPathPointsProp;
Flexprops::TBoolProp* FIsSolidProp;
protected:
Flexpath::TPointArray FPoints;
bool FZeroPoints;
Flexpath::TPointTypeArray FPointTypes;
bool FChanging;
Flexpath::TPathInfo FCurveInfo;
bool FCurveInfoChanged;
Flexpath::TPointArray FResizePoints;
virtual void __fastcall CreateProperties(void);
virtual void __fastcall ControlCreate(void);
virtual void __fastcall ControlDestroy(void);
virtual void __fastcall ControlTranslate(const Flexutils::TTranslateInfo &TranslateInfo);
virtual void __fastcall CreateInDesign(Flexbase::TFlexCreateInDesignInfo &Info);
virtual void __fastcall MirrorInResize(bool HMirror, bool VMirror);
virtual bool __fastcall MovePathPoints(int PointIndex, Types::TPoint &Delta, Flexpath::TSelectedArray Selected, bool Smooth = false, bool Symmetric = false);
virtual bool __fastcall MovePathSegment(int FirstIndex, int NextIndex, Types::TPoint &Delta, const double SegmentCurvePos);
virtual Flexactions::TPointsHistoryAction* __fastcall RecordPointsAction(void);
virtual Types::TPoint __fastcall GetPoint(int Index);
virtual int __fastcall GetPointCount(void);
virtual void __fastcall SetPoint(int Index, const Types::TPoint &Value);
virtual Flexpath::TPointType __fastcall GetPointType(int Index);
virtual void __fastcall SetPointType(int Index, const Flexpath::TPointType Value);
virtual void __fastcall PointsChanged(void);
virtual Types::TPoint __fastcall GetAnchorPoint();
virtual void __fastcall StartResizing(const Types::TRect &SelRect);
virtual void __fastcall FinishResizing(void);
virtual void __fastcall Paint(Graphics::TCanvas* Canvas, Types::TRect &PaintRect);
virtual void __fastcall DoNotify(Flexutils::TFlexNotify Notify);
virtual void __fastcall PropChanged(System::TObject* Sender, Flexprops::TCustomProp* Prop);
virtual void __fastcall PropStored(System::TObject* Sender, Flexprops::TCustomProp* Prop, bool &IsStored, const System::UnicodeString PropName = L"");
void __fastcall GetPointsData(System::TObject* Sender, System::Variant &Value);
void __fastcall SetPointsData(System::TObject* Sender, System::Variant &Value);
void __fastcall GetPathPointsData(System::TObject* Sender, System::Variant &Value);
void __fastcall SetPathPointsData(System::TObject* Sender, System::Variant &Value);
virtual bool __fastcall GetIsPointsClosed(void);
virtual void __fastcall SetIsPointsClosed(bool Value);
virtual Types::TRect __fastcall GetRefreshRect(int RefreshX, int RefreshY);
int __fastcall InternalInsertPoints(int Index, int Count);
void __fastcall InternalDeletePoints(int Index, int Count);
virtual Flexpath::PPathInfo __fastcall GetPointsInfo(void);
virtual Types::TPoint __fastcall GetDefaultLinkPoint(int Index);
virtual int __fastcall GetDefaultLinkPointCount(void);
public:
virtual bool __fastcall EndUpdate(void);
__classmethod virtual Controls::TCursor __fastcall CursorInCreate();
virtual bool __fastcall IsPointInside(int PaintX, int PaintY);
virtual int __fastcall InsertPoint(int Index, const Types::TPoint &Point);
virtual int __fastcall InsertNearestPoint(const Types::TPoint &Point);
virtual int __fastcall InsertCurvePoints(int Index, const Types::TPoint &Point, const Types::TPoint &CtrlPointA, const Types::TPoint &CtrlPointB);
virtual void __fastcall DeletePoint(int Index);
virtual void __fastcall SetPointsEx(const Flexpath::TPointArray APoints, const Flexpath::TPointTypeArray ATypes);
virtual void __fastcall GetPointsEx(/* out */ Flexpath::TPointArray &APoints, /* out */ Flexpath::TPointTypeArray &ATypes);
virtual bool __fastcall FlattenPoints(const float Curvature);
virtual bool __fastcall FindNearestPoint(const Types::TPoint &Point, Flexpath::TNearestPoint &Nearest);
virtual bool __fastcall FindNearestPathSegment(const Types::TPoint &Point, int &FirstIndex, int &NextIndex, Flexpath::PNearestPoint Nearest = (void *)(0x0), bool ForInsert = true, bool ForSelect = false);
virtual bool __fastcall EditPoints(Flexpath::TPathEditFunc Func, const Flexpath::TSelectedArray Selected, Flexpath::PPathEditParams Params = (void *)(0x0));
virtual Flexpath::TPathEditFuncs __fastcall EditPointsCaps(const Flexpath::TSelectedArray Selected);
__property Flexprops::TBrushProp* BrushProp = {read=FBrushProp};
__property Flexprops::TPenProp* PenProp = {read=FPenProp};
__property Flexprops::TLineCapProp* BeginCapProp = {read=FBeginCapProp};
__property Flexprops::TLineCapProp* EndCapProp = {read=FEndCapProp};
__property Flexprops::TBoolProp* IsSolidProp = {read=FIsSolidProp};
public:
/* TFlexControl.Create */ inline __fastcall virtual TFlexCurve(Flexbase::TFlexPanel* AOwner, Flexbase::TFlexControl* AParent, Flexbase::TFlexLayer* ALayer) : Flexbase::TFlexControl(AOwner, AParent, ALayer) { }
/* TFlexControl.Destroy */ inline __fastcall virtual ~TFlexCurve(void) { }
};
typedef StaticArray<int, 256> TTextCharWidth;
typedef StaticArray<_ABC, 256> TTextCharABCs;
struct TTextWordInfo;
typedef TTextWordInfo *PTextWordInfo;
struct TTextWordInfo
{
public:
int WordBegin;
int WordEnd;
int Size;
};
struct TTextLine;
typedef TTextLine *PTextLine;
struct TTextLine
{
public:
System::WideChar *Text;
int Length;
int Pos;
};
typedef DynamicArray<TTextWordInfo> TTextWordInfoArray;
class DELPHICLASS TTextFormator;
class PASCALIMPLEMENTATION TTextFormator : public System::TObject
{
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?