📄 rotatergn1.pas
字号:
unit RotateRGN1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,Math;
type
Tpoints = array of Tpoint;
Tintegers = array of integer;
TRgnpoints = record
points : Tpoints;
types : Tintegers;
end;
function RotateRegion(var Rgn : Hrgn;X,Y,Angle : integer): integer;
function ReCreateRgn(var PolyPoly : Tpoints;var PolyVertex,Polyinpower : Tintegers): HRGN;
procedure PolyRotate(var points : Tpoints;x,y,Angle : integer);
procedure PolyZrotate(var points : Tpoints;Angle : integer);
procedure RgnToPoly(var Rgn : HRGN;var PolyPoly : Tpoints;var PolyVertex,Polyinpower : Tintegers);
procedure Getinner(var PolyPoly : Tpoints;var PolyVertex,Polyinpower : Tintegers;Dd : integer;Outer,Inner :Boolean);
function GetPPCopy(var PPoly : Tpoints): Tpoints;
procedure GetLDppoly(var MainPpoly,InnerPPoly : Tpoints;var mainvertex,Maininpower: Tintegers; var Lppoly,DPpoly
: Tpoints;var Lvertex,Dvertex : Tintegers; var Ln,Dn : integer);
function DivideToRegions(var Rgns : TrgnPoints): TrgnPoints;
function FindFpoint(var points : Tintegers): integer;
function FindNextPoint(var Rgns : TRgnpoints;var Points : Tintegers; LastType,AtLType,x,y,Fx,Fy,Nf,Nn : integer;
var Moving : integer): integer;
function getRvertex(var Rgns : Trgnpoints): Tintegers;
procedure SimplifyPolys(var Rgns: Trgnpoints;var Rvertex : Tintegers);
function GetInPower(var Rgns: Trgnpoints;var Rvertex: Tintegers): Tintegers;
function PinPoly(var points : Tpoints;point: Tpoint): boolean;
function PrealinPoly(var points : Tpoints;x1,y1 : extended): boolean;
//卿羼
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -