📄 flexpath.hpp
字号:
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved
// (DO NOT EDIT: machine generated header) 'FlexPath.pas' rev: 5.00
#ifndef FlexPathHPP
#define FlexPathHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <FlexUtils.hpp> // Pascal unit
#include <Classes.hpp> // Pascal unit
#include <Windows.hpp> // Pascal unit
#include <SysInit.hpp> // Pascal unit
#include <System.hpp> // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Flexpath
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TPointType { ptNode, ptEndNode, ptEndNodeClose, ptControl };
#pragma option pop
typedef DynamicArray<Windows::TPoint > TPointArray;
typedef DynamicArray<TPointType > TPointTypeArray;
typedef DynamicArray<bool > TSelectedArray;
typedef DynamicArray<Windows::TRect > TRectArray;
#pragma option push -b-
enum TPathEditFunc { pfOffset, pfJoin, pfBreak, pfClose, pfToLine, pfToCurve };
#pragma option pop
typedef Set<TPathEditFunc, pfOffset, pfToCurve> TPathEditFuncs;
struct TPathEditParams;
typedef TPathEditParams *PPathEditParams;
struct TPathEditParams
{
Windows::TPoint Offset;
bool MoveControls;
} ;
struct TNearestPoint;
typedef TNearestPoint *PNearestPoint;
struct TNearestPoint
{
Windows::TPoint Point;
int Index0;
int Index1;
int MinIndex;
float MinSqrDist;
float CurvePos;
bool IsNewMin;
} ;
struct TPathFigureInfo;
typedef TPathFigureInfo *PPathFigureInfo;
struct TPathFigureInfo
{
int FirstNode;
int LastNode;
int LastPoint;
bool IsClosed;
bool IsCurve;
} ;
typedef DynamicArray<TPathFigureInfo > TPathFigureInfos;
struct TPathInfo;
typedef TPathInfo *PPathInfo;
struct TPathInfo
{
int PointCount;
bool IsCurve;
DynamicArray<TPathFigureInfo > Figures;
} ;
#pragma option push -b-
enum TRerouteMode { rmAlways, rmAsNeeded, rmNever };
#pragma option pop
struct TRerouteParams;
typedef TRerouteParams *PRerouteParams;
struct TRerouteParams
{
Windows::TRect RangeA;
Windows::TRect RangeB;
TRerouteMode Mode;
bool Ortogonal;
int LinkMinGap;
bool SelfLink;
Windows::TPoint LinkPointA;
Windows::TPoint LinkPointB;
} ;
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE bool __fastcall PointOnLine(const Windows::TPoint &p, const Windows::TPoint &p0, const
Windows::TPoint &p1, int StrokeWidth, Classes::TList* ScanLinePoints, PNearestPoint Nearest);
extern PACKAGE bool __fastcall CalcPath(const TPointArray Points, const TPointTypeArray Types, Windows::TRect
&Range, PPathInfo Info);
extern PACKAGE bool __fastcall CreatePath(HDC DC, const TPointArray Points, const TPointTypeArray Types
, bool UseClosed, bool UseNotClosed, bool &Complete, bool OriginalBezier, PPathInfo Info);
extern PACKAGE bool __fastcall PointOnPath(const TPointArray Points, const TPointTypeArray Types, const
Windows::TPoint &Point, bool Stroked, bool Filled, int StrokeWidth, PNearestPoint Nearest, PPathInfo
Info, Windows::PSingle LengthPos);
extern PACKAGE float __fastcall PathLength(const TPointArray Points, const TPointTypeArray Types, PPathInfo
Info);
extern PACKAGE bool __fastcall PathLengthPos(const TPointArray Points, const TPointTypeArray Types,
float PathPos, PNearestPoint Nearest, PPathInfo Info);
extern PACKAGE bool __fastcall FlattenPath(TPointArray &Points, TPointTypeArray &Types, float Curvature
, PPathInfo Info);
extern PACKAGE int __fastcall InsertPathPoint(TPointArray &Points, TPointTypeArray &Types, int FirstIndex
, int NextIndex, const Windows::TPoint &Point, int StickThreshold, PPathInfo Info);
extern PACKAGE bool __fastcall FindNearestPathSegment(const TPointArray Points, const TPointTypeArray
Types, const Windows::TPoint &Point, int &FirstIndex, int &NextIndex, PNearestPoint Nearest, PPathInfo
Info, bool ForInsert);
extern PACKAGE int __fastcall InsertNearestPoint(TPointArray &Points, TPointTypeArray &Types, const
Windows::TPoint &Point, int StickThreshold, PPathInfo Info);
extern PACKAGE TPathEditFuncs __fastcall GetEditPathCaps(const TPointArray Points, const TPointTypeArray
Types, const TSelectedArray Selected);
extern PACKAGE bool __fastcall EditPath(TPointArray &Points, TPointTypeArray &Types, const TSelectedArray
Selected, TPathEditFunc Func, PPathEditParams Params)/* overload */;
extern PACKAGE bool __fastcall EditPath(TPointArray &Points, TPointTypeArray &Types, const int * Indexes
, const int Indexes_Size, TPathEditFunc Func, PPathEditParams Params)/* overload */;
extern PACKAGE bool __fastcall ConnectorReroute(TPointArray &Points, TPointTypeArray &PointTypes, const
TRerouteParams &Params);
extern PACKAGE void __fastcall GetPathInfo(const TPointArray Points, const TPointTypeArray Types, TPathInfo
&Info);
extern PACKAGE int __fastcall GetFigureIndex(const TPathInfo &Info, int PointIndex);
extern PACKAGE bool __fastcall ChangePathCount(TPointArray &Points, TPointTypeArray &Types, int Index
, int Delta);
} /* namespace Flexpath */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Flexpath;
#endif
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // FlexPath
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -