WPFObjects - ликвидация параметров по умолчанию, мешающих ускорению

WPFObjects - улучшение примеров
This commit is contained in:
Mikhalkovich Stanislav 2021-04-19 20:53:31 +03:00
parent e9e7a1308c
commit 991a62b3f7
12 changed files with 317 additions and 119 deletions

View file

@ -8,7 +8,7 @@ namespace PascalABCCompiler
{ {
public class ConsoleCompilerConstants public class ConsoleCompilerConstants
{ {
public const int MaxProcessMemoryMB = 150; public const int MaxProcessMemoryMB = 500;
public const string DataSeparator = "]\r\n["; public const string DataSeparator = "]\r\n[";
//public const string MessageSeparator = "***"; //public const string MessageSeparator = "***";

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3"; public const string Major = "3";
public const string Minor = "8"; public const string Minor = "8";
public const string Build = "0"; public const string Build = "0";
public const string Revision = "2879"; public const string Revision = "2884";
public const string MainVersion = Major + "." + Minor; public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=8
%REVISION%=2879
%COREVERSION%=0 %COREVERSION%=0
%REVISION%=2884
%MINOR%=8
%MAJOR%=3 %MAJOR%=3

View file

@ -3,20 +3,20 @@
begin begin
var c := new CircleWPF(Window.Center, 20, Colors.Green); var c := new CircleWPF(Window.Center, 20, Colors.Green);
OnDrawFrame := dt → begin OnDrawFrame := dt -> begin
c.MoveTime(dt); c.MoveTime(dt);
end; end;
OnKeyDown := k → begin OnKeyDown := k -> begin
case k of case k of
Key.Left: c.Direction := (-5, 0); Key.Left: c.Direction := Direction.Left;
Key.Right: c.Direction := (5, 0); Key.Right: c.Direction := Direction.Right;
Key.Up: c.Direction := (0, -5); Key.Up: c.Direction := Direction.Up;
Key.Down: c.Direction := (0, 5); Key.Down: c.Direction := Direction.Down;
end; end;
end; end;
OnKeyUp := k → begin OnKeyUp := k -> begin
c.Direction := (0, 0); c.Direction := Direction.Zero;
end; end;
end. end.

View file

@ -60,10 +60,8 @@ begin
for var i:=Objects.Count-1 downto 0 do for var i:=Objects.Count-1 downto 0 do
begin begin
var o := Objects[i]; var o := Objects[i];
if (o.Center.X < 0) or (o.Center.X > Window.Width) or if o.OutOfGraphWindow and not (o is PlayerWPF) then
(o.Center.Y < 0) or (o.Center.Y > Window.Height) then o.Destroy;
if not (o is PlayerWPF) then
o.Destroy;
if o is BulletWPF then if o is BulletWPF then
foreach var x in o.IntersectionList do foreach var x in o.IntersectionList do
if x is MonsterWPF then if x is MonsterWPF then
@ -78,12 +76,11 @@ begin
CreateTimerAndStart(1000,procedure -> // Таймер рождения монстров CreateTimerAndStart(1000,procedure -> // Таймер рождения монстров
begin begin
var x := Random(2)=0 ? 750 : 50; var x := if Random(2)=0 then 750 else 50;
var m := new MonsterWPF(x,Random(10,550),30,RandomColor); var m := new MonsterWPF(x,Random(10,550),30,RandomColor);
m.Velocity := 50; m.Velocity := 50;
end); end);
OnKeyDown := k -> OnKeyDown := k ->
begin begin
case k of case k of
@ -93,6 +90,7 @@ begin
Key.d,Key.Right: begin kr := true; kl := false end; Key.d,Key.Right: begin kr := true; kl := false end;
end; end;
end; end;
OnKeyUp := k -> OnKeyUp := k ->
begin begin
case k of case k of

View file

@ -5,11 +5,12 @@ uses WPFObjects;
procedure MoveAll(a,b: integer); procedure MoveAll(a,b: integer);
begin begin
for var j:=0 to Objects.Count-1 do for var j:=0 to Objects.Count-1 do
Objects[j].moveBy(a,b); Objects[j].moveOn(a,b);
end; end;
begin begin
Window.Title := 'Броуновское движение объектов'; Window.Title := 'Броуновское движение объектов';
HideObjects;
var sq := new SquareWPF(30,5,90,Colors.SkyBlue,1); var sq := new SquareWPF(30,5,90,Colors.SkyBlue,1);
var r := new RectangleWPF(10,10,100,180,RGB(255,100,100),1); var r := new RectangleWPF(10,10,100,180,RGB(255,100,100),1);
var rr := new RoundRectWPF(200,180,180,50,20,RandomColor,1); var rr := new RoundRectWPF(200,180,180,50,20,RandomColor,1);
@ -29,11 +30,12 @@ begin
c.Height := 50; c.Height := 50;
c.Scale(2); c.Scale(2);
MoveAll(160,110); MoveAll(160,110);
ShowObjects;
while True do while True do
begin begin
for var j:=0 to Objects.Count-1 do for var j:=0 to Objects.Count-1 do
Objects[j].MoveBy(Random(-1,1),Random(-1,1)); Objects[j].MoveOn(Random(-1,1),Random(-1,1));
Sleep(10); Sleep(10);
end; end;
end. end.

View file

@ -8,16 +8,18 @@ begin
end; end;
begin begin
HideObjects;
Window.SetSize(640,480); Window.SetSize(640,480);
Window.Title := 'Разрушитель: метод Intersect пересечения объектов'; Window.Title := 'Разрушитель: метод Intersect пересечения объектов';
loop 500 do loop 500 do
new RectangleWPF(Random(Window.Width.Round-200)+100,Random(Window.Height.Round-100),Random(200),Random(200),clRandom); new RectangleWPF(Random(Window.Width.Round-200)+100,Random(Window.Height.Round-100),Random(200),Random(200),clRandom);
Destroyer := new CircleWPF(10,Window.Height / 2,100,Colors.Black); Destroyer := new CircleWPF(10,Window.Height / 2,100,Colors.Black);
Destroyer.SetText('Destroyer',30,'Arial',Colors.Yellow); Destroyer.SetText('Destroyer',30,'Arial',Colors.Yellow);
ShowObjects;
loop 900 do loop 900 do
begin begin
Destroyer.MoveBy(1,0); Destroyer.MoveOn(1,0);
CheckPulyaIntersects; CheckPulyaIntersects;
Sleep(1); Sleep(1);
end; end;

View file

@ -1,4 +1,4 @@
uses WPFObjects, GraphWPF; uses WPFObjects;
const const
/// отступ по оси x /// отступ по оси x
@ -7,7 +7,7 @@ const
zy = 50; zy = 50;
begin begin
//Window.IsFixedSize := True; Window.IsFixedSize := True;
Window.Title := 'Секундомер'; Window.Title := 'Секундомер';
var r := new RoundRectWPF(zx, zy, Window.Width - 2 * zx, Window.Height - 2 * zy, 100, Colors.LightGreen, 5, Colors.Green); var r := new RoundRectWPF(zx, zy, Window.Width - 2 * zx, Window.Height - 2 * zy, 100, Colors.LightGreen, 5, Colors.Green);
r.FontSize := 200; r.FontSize := 200;

View file

@ -1 +1 @@
3.8.0.2879 3.8.0.2884

View file

@ -1 +1 @@
!define VERSION '3.8.0.2879' !define VERSION '3.8.0.2884'

View file

@ -373,7 +373,7 @@ type
/// Анимирует перемещение графического объекта на вектор (a,b) в течение sec секунд /// Анимирует перемещение графического объекта на вектор (a,b) в течение sec секунд
procedure AnimMoveBy(a,b: real; sec: real := 1) := Invoke(AnimMoveByP,a,b,sec); procedure AnimMoveBy(a,b: real; sec: real := 1) := Invoke(AnimMoveByP,a,b,sec);
///-- ///--
procedure AnimMoveOn(a,b: real; sec: real := 1) := AnimMoveOn(a,b,sec); procedure AnimMoveOn(a,b: real; sec: real := 1) := AnimMoveBy(a,b,sec);
/// Анимирует перемещение графического объекта в направлении RotateAngle (вверх при RotateAngle=0) /// Анимирует перемещение графического объекта в направлении RotateAngle (вверх при RotateAngle=0)
procedure AnimMoveForward(r: real); procedure AnimMoveForward(r: real);
begin begin
@ -406,7 +406,7 @@ type
/// Определяет, пересекается ли объект с объектом ob /// Определяет, пересекается ли объект с объектом ob
function Intersects(ob: ObjectWPF): boolean; function Intersects(ob: ObjectWPF): boolean;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): ObjectWPF; function SetText(txt: string; size: real; fontname: string; c: GColor): ObjectWPF;
begin begin
Text := txt; Text := txt;
FontSize := size; FontSize := size;
@ -414,6 +414,8 @@ type
Self.FontColor := c; Self.FontColor := c;
Result := Self; Result := Self;
end; end;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): ObjectWPF := SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): ObjectWPF; function SetRotate(da: real): ObjectWPF;
begin begin
@ -472,7 +474,7 @@ type
read InvokeReal(()->Element.StrokeThickness) read InvokeReal(()->Element.StrokeThickness)
write Invoke(EST,value); write Invoke(EST,value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; function SetBorder(w: real; c: GColor): BoundedObjectWPF;
begin begin
//if c<>BorderColor then //if c<>BorderColor then
BorderColor := c; BorderColor := c;
@ -480,6 +482,8 @@ type
BorderWidth := w; BorderWidth := w;
Result := Self; Result := Self;
end; end;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): BoundedObjectWPF := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: BoundedObjectWPF function RemoveBorder: BoundedObjectWPF
:= Invoke&<BoundedObjectWPF>(RemoveBorderP); := Invoke&<BoundedObjectWPF>(RemoveBorderP);
@ -509,18 +513,25 @@ type
/// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с /// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с
constructor (x,y,rx,ry: real; c: GColor) := Invoke(InitOb2,x,y,rx,ry,c); constructor (x,y,rx,ry: real; c: GColor) := Invoke(InitOb2,x,y,rx,ry,c);
/// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor /// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
constructor (x,y,rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end; constructor (x,y,rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end;
/// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
constructor (x,y,rx,ry: real; c: GColor; borderWidth: real) := Create(x,y,rx,ry,c,borderWidth,Colors.Black);
/// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с /// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с
constructor (p: Point; rx,ry: real; c: GColor) := Invoke(InitOb2,p.x,p.y,rx,ry,c); constructor (p: Point; rx,ry: real; c: GColor) := Invoke(InitOb2,p.x,p.y,rx,ry,c);
/// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor /// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end; constructor (p: Point; rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end;
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as EllipseWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as EllipseWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as EllipseWPF; function RemoveBorder := inherited RemoveBorder as EllipseWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): EllipseWPF function SetText(txt: string; size: real; fontname: string; c: GColor): EllipseWPF
:= inherited SetText(txt,size,fontname,c) as EllipseWPF; := inherited SetText(txt,size,fontname,c) as EllipseWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): EllipseWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): EllipseWPF := inherited SetRotate(da) as EllipseWPF; function SetRotate(da: real): EllipseWPF := inherited SetRotate(da) as EllipseWPF;
/// Радиус эллипса по оси OX /// Радиус эллипса по оси OX
@ -555,12 +566,16 @@ type
public public
/// Создает круг радиуса r заданного цвета с координатами центра (x,y) /// Создает круг радиуса r заданного цвета с координатами центра (x,y)
constructor (x,y,r: real; c: GColor) := Invoke(InitOb2,x,y,r,c); constructor (x,y,r: real; c: GColor) := Invoke(InitOb2,x,y,r,c);
/// Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth
constructor (x,y,r: real; c: GColor; borderWidth: real) := Create(x,y,r,c,borderWidth,Colors.Black);
/// Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает круг радиуса r заданного цвета с центром p /// Создает круг радиуса r заданного цвета с центром p
constructor (p: Point; r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,r,c); constructor (p: Point; r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,r,c);
/// Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth и цвета borderColor /// Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth
constructor (x,y,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r: real; c: GColor; borderWidth: real) := Create(p,r,c,borderWidth,Colors.Black);
/// Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth и цвета borderColor /// Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,r,c); SetBorder(borderWidth,borderColor); end;
/// Ширина круга /// Ширина круга
property Width: real property Width: real
read InvokeReal(()->ob.Width) read InvokeReal(()->ob.Width)
@ -574,12 +589,17 @@ type
read InvokeReal(()->ob.Height/2) read InvokeReal(()->ob.Height/2)
write Invoke(Rad,Value); write Invoke(Rad,Value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as CircleWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as CircleWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as CircleWPF; function RemoveBorder := inherited RemoveBorder as CircleWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): CircleWPF function SetText(txt: string; size: real; fontname: string; c: GColor): CircleWPF
:= inherited SetText(txt,size,fontname,c) as CircleWPF; := inherited SetText(txt,size,fontname,c) as CircleWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): CircleWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): CircleWPF := inherited SetRotate(da) as CircleWPF; function SetRotate(da: real): CircleWPF := inherited SetRotate(da) as CircleWPF;
end; end;
@ -599,19 +619,26 @@ type
public public
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y) /// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w,h: real; c: GColor) := Invoke(InitOb2,x,y,w,h,c); constructor (x,y,w,h: real; c: GColor) := Invoke(InitOb2,x,y,w,h,c);
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,h,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w,h: real; c: GColor; borderWidth: real) := Create(x,y,w,h,c,borderWidth,Colors.Black);
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w,h: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,c); constructor (p: Point; w,h: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,c);
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,h,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w,h: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,h,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w,h: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,h,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w,h: real; c: GColor; borderWidth: real) := Create(p,w,h,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as RectangleWPF; function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as RectangleWPF;
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as RectangleWPF; function RemoveBorder := inherited RemoveBorder as RectangleWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RectangleWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RectangleWPF
:= inherited SetText(txt,size,fontname,c) as RectangleWPF; := inherited SetText(txt,size,fontname,c) as RectangleWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RectangleWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RectangleWPF := inherited SetRotate(da) as RectangleWPF; function SetRotate(da: real): RectangleWPF := inherited SetRotate(da) as RectangleWPF;
end; end;
@ -627,19 +654,29 @@ type
public public
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y) /// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w: real; c: GColor) := Invoke(InitOb2,x,y,w,c); constructor (x,y,w: real; c: GColor) := Invoke(InitOb2,x,y,w,c);
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w: real; c: GColor; borderWidth: real) := Create(x,y,w,c,borderWidth,Colors.Black);
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,c); constructor (p: Point; w: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,c);
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w: real; c: GColor; borderWidth: real)
:= Create(p,w,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as SquareWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as SquareWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as SquareWPF; function RemoveBorder := inherited RemoveBorder as SquareWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): SquareWPF function SetText(txt: string; size: real; fontname: string; c: GColor): SquareWPF
:= inherited SetText(txt,size,fontname,c) as SquareWPF; := inherited SetText(txt,size,fontname,c) as SquareWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): SquareWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): SquareWPF function SetRotate(da: real): SquareWPF
:= inherited SetRotate(da) as SquareWPF; := inherited SetRotate(da) as SquareWPF;
@ -662,19 +699,29 @@ type
public public
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y) /// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w,h,r: real; c: GColor) := Invoke(InitOb2,x,y,w,h,r,c); constructor (x,y,w,h,r: real; c: GColor) := Invoke(InitOb2,x,y,w,h,r,c);
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,h,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w,h,r: real; c: GColor; borderWidth: real) := Create(x,y,w,h,r,c,borderWidth,Colors.Black);
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w,h,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,r,c); constructor (p: Point; w,h,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,r,c);
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,h,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,h,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,h,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real)
:= Create(p,w,h,r,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as RoundRectWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as RoundRectWPF;
/// Декоратор выключения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as RoundRectWPF; function RemoveBorder := inherited RemoveBorder as RoundRectWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RoundRectWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RoundRectWPF
:= inherited SetText(txt,size,fontname,c) as RoundRectWPF; := inherited SetText(txt,size,fontname,c) as RoundRectWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RoundRectWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RoundRectWPF := inherited SetRotate(da) as RoundRectWPF; function SetRotate(da: real): RoundRectWPF := inherited SetRotate(da) as RoundRectWPF;
/// Радиус скругления /// Радиус скругления
@ -701,24 +748,34 @@ type
public public
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y) /// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w,r: real; c: GColor) := Invoke(InitOb2,x,y,w,r,c); constructor (x,y,w,r: real; c: GColor) := Invoke(InitOb2,x,y,w,r,c);
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w,r: real; c: GColor; borderWidth: real)
:= Create(x,y,w,r,c,borderWidth,Colors.Black);
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,r,c); constructor (p: Point; w,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,r,c);
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w,r: real; c: GColor; borderWidth: real)
:= Create(p,w,r,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): RoundSquareWPF function SetBorder(w: real; c: GColor): RoundSquareWPF
:= inherited SetBorder(w,c) as RoundSquareWPF; := inherited SetBorder(w,c) as RoundSquareWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): RoundSquareWPF := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: RoundSquareWPF function RemoveBorder: RoundSquareWPF
:= inherited RemoveBorder as RoundSquareWPF; := inherited RemoveBorder as RoundSquareWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RoundSquareWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RoundSquareWPF
:= inherited SetText(txt,size,fontname,c) as RoundSquareWPF; := inherited SetText(txt,size,fontname,c) as RoundSquareWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RoundSquareWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RoundSquareWPF function SetRotate(da: real): RoundSquareWPF := inherited SetRotate(da) as RoundSquareWPF;
:= inherited SetRotate(da) as RoundSquareWPF;
end; end;
MyText = class(FrameworkElement) MyText = class(FrameworkElement)
@ -772,7 +829,9 @@ type
/// Создает текст заданного цвета с координатами левого верхнего угла (x,y) /// Создает текст заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y: real; txt: string; c: GColor := Colors.Black) := Invoke(InitOb2,x,y,16,txt,c); constructor (x,y: real; txt: string; c: GColor := Colors.Black) := Invoke(InitOb2,x,y,16,txt,c);
/// Создает текст заданного цвета с координатами левого верхнего угла (x,y) и размером шрифта sz /// Создает текст заданного цвета с координатами левого верхнего угла (x,y) и размером шрифта sz
constructor (x,y,sz: real; txt: string; c: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,sz,txt,c); FontSize := sz; end; constructor (x,y,sz: real; txt: string; c: GColor) := begin Invoke(InitOb2,x,y,sz,txt,c); FontSize := sz; end;
/// Создает текст заданного цвета с координатами левого верхнего угла (x,y) и размером шрифта sz
constructor (x,y,sz: real; txt: string) := Create(x,y,sz,txt,Colors.Black);
/// Размер шрифта /// Размер шрифта
property FontSize: real read InvokeReal(()->Self.Element.sz) write property FontSize: real read InvokeReal(()->Self.Element.sz) write
Invoke(procedure->begin Self.Element.sz := value; Self.Element.RecreateFormText; Width := Self.Element.Width; Height := Self.Element.Height; ob.InvalidateVisual; end); override; Invoke(procedure->begin Self.Element.sz := value; Self.Element.RecreateFormText; Width := Self.Element.Width; Height := Self.Element.Height; ob.InvalidateVisual; end); override;
@ -890,8 +949,11 @@ type
Invoke(procedure->begin gr1.Height := value; end); Invoke(procedure->begin gr1.Height := value; end);
end; override; end; override;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): LineWPF function SetText(txt: string; size: real; fontname: string; c: GColor): LineWPF
:= inherited SetText(txt,size,fontname,c) as LineWPF; := inherited SetText(txt,size,fontname,c) as LineWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): LineWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): LineWPF function SetRotate(da: real): LineWPF
:= inherited SetRotate(da) as LineWPF; := inherited SetRotate(da) as LineWPF;
@ -943,12 +1005,18 @@ type
public public
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r /// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r
constructor (x,y,r: real; n: integer; c: GColor) := Invoke(InitOb2,x,y,r,n,c); constructor (x,y,r: real; n: integer; c: GColor) := Invoke(InitOb2,x,y,r,n,c);
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,r,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth
constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real)
:= Create(x,y,r,n,c,borderWidth,Colors.Black);
/// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r /// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r
constructor (p: Point; r: real; n: integer; c: GColor) := Create(p.X,p.Y,r,n,c); constructor (p: Point; r: real; n: integer; c: GColor) := Create(p.X,p.Y,r,n,c);
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,r,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor /// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,r,n,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,r,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth
constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real)
:= Create(p,r,n,c,borderWidth,Colors.Black);
/// Ширина объекта /// Ширина объекта
property Width: real property Width: real
read InvokeReal(()->gr.Width) read InvokeReal(()->gr.Width)
@ -966,14 +1034,20 @@ type
read InvokeInteger(()->n) read InvokeInteger(()->n)
write Invoke(Cnt,Value); write Invoke(Cnt,Value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): RegularPolygonWPF function SetBorder(w: real; c: GColor): RegularPolygonWPF
:= inherited SetBorder(w,c) as RegularPolygonWPF; := inherited SetBorder(w,c) as RegularPolygonWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): RegularPolygonWPF
:= SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: RegularPolygonWPF function RemoveBorder: RegularPolygonWPF
:= inherited RemoveBorder as RegularPolygonWPF; := inherited RemoveBorder as RegularPolygonWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RegularPolygonWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RegularPolygonWPF
:= inherited SetText(txt,size,fontname,c) as RegularPolygonWPF; := inherited SetText(txt,size,fontname,c) as RegularPolygonWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RegularPolygonWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RegularPolygonWPF function SetRotate(da: real): RegularPolygonWPF
:= inherited SetRotate(da) as RegularPolygonWPF; := inherited SetRotate(da) as RegularPolygonWPF;
@ -1034,15 +1108,21 @@ type
/// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal /// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal
constructor (p: Point; r,rinternal: real; n: integer; c: GColor) := Create(p.X,p.Y,r,rinternal,n,c); constructor (p: Point; r,rinternal: real; n: integer; c: GColor) := Create(p.X,p.Y,r,rinternal,n,c);
/// Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor /// Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor
constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor);
begin begin
if rinternal<r then if rinternal<r then
Invoke(InitOb2,x,y,r,rinternal,n,c) Invoke(InitOb2,x,y,r,rinternal,n,c)
else Invoke(InitOb2,x,y,rinternal,r,n,c); else Invoke(InitOb2,x,y,rinternal,r,n,c);
SetBorder(borderWidth,borderColor); SetBorder(borderWidth,borderColor);
end; end;
/// Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth
constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real)
:= Create(x,y,r,rinternal, n, c, borderWidth, Colors.Black);
/// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor /// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.X,p.Y,r,rinternal,n,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.X,p.Y,r,rinternal,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth
constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real)
:= Create(p,r,rinternal, n, c, borderWidth, Colors.Black);
/// Радиус описанной окружности /// Радиус описанной окружности
property Radius: real property Radius: real
read InvokeReal(()->gr.Height/2) read InvokeReal(()->gr.Height/2)
@ -1056,14 +1136,20 @@ type
read InvokeInteger(()->n) read InvokeInteger(()->n)
write Invoke(Cnt,Value); write Invoke(Cnt,Value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): StarWPF function SetBorder(w: real; c: GColor): StarWPF
:= inherited SetBorder(w,c) as StarWPF; := inherited SetBorder(w,c) as StarWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): StarWPF
:= SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: StarWPF function RemoveBorder: StarWPF
:= inherited RemoveBorder as StarWPF; := inherited RemoveBorder as StarWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): StarWPF function SetText(txt: string; size: real; fontname: string; c: GColor): StarWPF
:= inherited SetText(txt,size,fontname,c) as StarWPF; := inherited SetText(txt,size,fontname,c) as StarWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): StarWPF
:= SetText(txt, size , fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): StarWPF function SetRotate(da: real): StarWPF
:= inherited SetRotate(da) as StarWPF; := inherited SetRotate(da) as StarWPF;
@ -1101,7 +1187,10 @@ type
/// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp /// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp
constructor (pp: array of Point; c: GColor) := Invoke(InitOb2,pp,c); constructor (pp: array of Point; c: GColor) := Invoke(InitOb2,pp,c);
/// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth и цвета borderColor /// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth и цвета borderColor
constructor (pp: array of Point; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,pp,c); SetBorder(borderWidth,borderColor); end; constructor (pp: array of Point; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,pp,c); SetBorder(borderWidth,borderColor); end;
/// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth
constructor (pp: array of Point; c: GColor; borderWidth: real)
:= Create(pp,c,borderWidth,Colors.Black);
/// Массив вершин /// Массив вершин
property Points: array of Point property Points: array of Point
read Invoke&<PointsArray>(GetPointsArrayP) read Invoke&<PointsArray>(GetPointsArrayP)
@ -1119,14 +1208,20 @@ type
Invoke(procedure -> ob1.Points := new PointCollection(a)); Invoke(procedure -> ob1.Points := new PointCollection(a));
end; end;
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): PolygonWPF function SetBorder(w: real; c: GColor): PolygonWPF
:= inherited SetBorder(w,c) as PolygonWPF; := inherited SetBorder(w,c) as PolygonWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): PolygonWPF
:= SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: PolygonWPF function RemoveBorder: PolygonWPF
:= inherited RemoveBorder as PolygonWPF; := inherited RemoveBorder as PolygonWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): PolygonWPF function SetText(txt: string; size: real; fontname: string; c: GColor): PolygonWPF
:= inherited SetText(txt,size,fontname,c) as PolygonWPF; := inherited SetText(txt,size,fontname,c) as PolygonWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): PolygonWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): PolygonWPF function SetRotate(da: real): PolygonWPF
:= inherited SetRotate(da) as PolygonWPF; := inherited SetRotate(da) as PolygonWPF;
@ -1188,8 +1283,11 @@ type
/// Создает рисунок из файла fname с координатой левого верхнего угла, заданной точкой p, и размерами (w,h) /// Создает рисунок из файла fname с координатой левого верхнего угла, заданной точкой p, и размерами (w,h)
constructor (p: Point; w,h: real; fname: string) := Invoke(InitOb3,p.x,p.y,w,h,fname); constructor (p: Point; w,h: real; fname: string) := Invoke(InitOb3,p.x,p.y,w,h,fname);
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): PictureWPF function SetText(txt: string; size: real; fontname: string; c: GColor): PictureWPF
:= inherited SetText(txt,size,fontname,c) as PictureWPF; := inherited SetText(txt,size,fontname,c) as PictureWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): PictureWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): PictureWPF := inherited SetRotate(da) as PictureWPF; function SetRotate(da: real): PictureWPF := inherited SetRotate(da) as PictureWPF;
end; end;

View file

@ -373,7 +373,7 @@ type
/// Анимирует перемещение графического объекта на вектор (a,b) в течение sec секунд /// Анимирует перемещение графического объекта на вектор (a,b) в течение sec секунд
procedure AnimMoveBy(a,b: real; sec: real := 1) := Invoke(AnimMoveByP,a,b,sec); procedure AnimMoveBy(a,b: real; sec: real := 1) := Invoke(AnimMoveByP,a,b,sec);
///-- ///--
procedure AnimMoveOn(a,b: real; sec: real := 1) := AnimMoveOn(a,b,sec); procedure AnimMoveOn(a,b: real; sec: real := 1) := AnimMoveBy(a,b,sec);
/// Анимирует перемещение графического объекта в направлении RotateAngle (вверх при RotateAngle=0) /// Анимирует перемещение графического объекта в направлении RotateAngle (вверх при RotateAngle=0)
procedure AnimMoveForward(r: real); procedure AnimMoveForward(r: real);
begin begin
@ -406,7 +406,7 @@ type
/// Определяет, пересекается ли объект с объектом ob /// Определяет, пересекается ли объект с объектом ob
function Intersects(ob: ObjectWPF): boolean; function Intersects(ob: ObjectWPF): boolean;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): ObjectWPF; function SetText(txt: string; size: real; fontname: string; c: GColor): ObjectWPF;
begin begin
Text := txt; Text := txt;
FontSize := size; FontSize := size;
@ -414,6 +414,8 @@ type
Self.FontColor := c; Self.FontColor := c;
Result := Self; Result := Self;
end; end;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): ObjectWPF := SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): ObjectWPF; function SetRotate(da: real): ObjectWPF;
begin begin
@ -472,7 +474,7 @@ type
read InvokeReal(()->Element.StrokeThickness) read InvokeReal(()->Element.StrokeThickness)
write Invoke(EST,value); write Invoke(EST,value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; function SetBorder(w: real; c: GColor): BoundedObjectWPF;
begin begin
//if c<>BorderColor then //if c<>BorderColor then
BorderColor := c; BorderColor := c;
@ -480,6 +482,8 @@ type
BorderWidth := w; BorderWidth := w;
Result := Self; Result := Self;
end; end;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): BoundedObjectWPF := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: BoundedObjectWPF function RemoveBorder: BoundedObjectWPF
:= Invoke&<BoundedObjectWPF>(RemoveBorderP); := Invoke&<BoundedObjectWPF>(RemoveBorderP);
@ -509,18 +513,25 @@ type
/// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с /// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с
constructor (x,y,rx,ry: real; c: GColor) := Invoke(InitOb2,x,y,rx,ry,c); constructor (x,y,rx,ry: real; c: GColor) := Invoke(InitOb2,x,y,rx,ry,c);
/// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor /// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
constructor (x,y,rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end; constructor (x,y,rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end;
/// Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
constructor (x,y,rx,ry: real; c: GColor; borderWidth: real) := Create(x,y,rx,ry,c,borderWidth,Colors.Black);
/// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с /// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с
constructor (p: Point; rx,ry: real; c: GColor) := Invoke(InitOb2,p.x,p.y,rx,ry,c); constructor (p: Point; rx,ry: real; c: GColor) := Invoke(InitOb2,p.x,p.y,rx,ry,c);
/// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor /// Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end; constructor (p: Point; rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,rx,ry,c); if borderWidth > 0 then SetBorder(borderWidth,borderColor); end;
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as EllipseWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as EllipseWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as EllipseWPF; function RemoveBorder := inherited RemoveBorder as EllipseWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): EllipseWPF function SetText(txt: string; size: real; fontname: string; c: GColor): EllipseWPF
:= inherited SetText(txt,size,fontname,c) as EllipseWPF; := inherited SetText(txt,size,fontname,c) as EllipseWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): EllipseWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): EllipseWPF := inherited SetRotate(da) as EllipseWPF; function SetRotate(da: real): EllipseWPF := inherited SetRotate(da) as EllipseWPF;
/// Радиус эллипса по оси OX /// Радиус эллипса по оси OX
@ -555,12 +566,16 @@ type
public public
/// Создает круг радиуса r заданного цвета с координатами центра (x,y) /// Создает круг радиуса r заданного цвета с координатами центра (x,y)
constructor (x,y,r: real; c: GColor) := Invoke(InitOb2,x,y,r,c); constructor (x,y,r: real; c: GColor) := Invoke(InitOb2,x,y,r,c);
/// Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth
constructor (x,y,r: real; c: GColor; borderWidth: real) := Create(x,y,r,c,borderWidth,Colors.Black);
/// Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает круг радиуса r заданного цвета с центром p /// Создает круг радиуса r заданного цвета с центром p
constructor (p: Point; r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,r,c); constructor (p: Point; r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,r,c);
/// Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth и цвета borderColor /// Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth
constructor (x,y,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r: real; c: GColor; borderWidth: real) := Create(p,r,c,borderWidth,Colors.Black);
/// Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth и цвета borderColor /// Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,r,c); SetBorder(borderWidth,borderColor); end;
/// Ширина круга /// Ширина круга
property Width: real property Width: real
read InvokeReal(()->ob.Width) read InvokeReal(()->ob.Width)
@ -574,12 +589,17 @@ type
read InvokeReal(()->ob.Height/2) read InvokeReal(()->ob.Height/2)
write Invoke(Rad,Value); write Invoke(Rad,Value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as CircleWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as CircleWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as CircleWPF; function RemoveBorder := inherited RemoveBorder as CircleWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): CircleWPF function SetText(txt: string; size: real; fontname: string; c: GColor): CircleWPF
:= inherited SetText(txt,size,fontname,c) as CircleWPF; := inherited SetText(txt,size,fontname,c) as CircleWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): CircleWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): CircleWPF := inherited SetRotate(da) as CircleWPF; function SetRotate(da: real): CircleWPF := inherited SetRotate(da) as CircleWPF;
end; end;
@ -599,19 +619,26 @@ type
public public
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y) /// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w,h: real; c: GColor) := Invoke(InitOb2,x,y,w,h,c); constructor (x,y,w,h: real; c: GColor) := Invoke(InitOb2,x,y,w,h,c);
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,h,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w,h: real; c: GColor; borderWidth: real) := Create(x,y,w,h,c,borderWidth,Colors.Black);
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w,h: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,c); constructor (p: Point; w,h: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,c);
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,h,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w,h: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,h,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w,h: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,h,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w,h: real; c: GColor; borderWidth: real) := Create(p,w,h,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as RectangleWPF; function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as RectangleWPF;
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as RectangleWPF; function RemoveBorder := inherited RemoveBorder as RectangleWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RectangleWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RectangleWPF
:= inherited SetText(txt,size,fontname,c) as RectangleWPF; := inherited SetText(txt,size,fontname,c) as RectangleWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RectangleWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RectangleWPF := inherited SetRotate(da) as RectangleWPF; function SetRotate(da: real): RectangleWPF := inherited SetRotate(da) as RectangleWPF;
end; end;
@ -627,19 +654,29 @@ type
public public
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y) /// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w: real; c: GColor) := Invoke(InitOb2,x,y,w,c); constructor (x,y,w: real; c: GColor) := Invoke(InitOb2,x,y,w,c);
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w: real; c: GColor; borderWidth: real) := Create(x,y,w,c,borderWidth,Colors.Black);
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,c); constructor (p: Point; w: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,c);
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w: real; c: GColor; borderWidth: real)
:= Create(p,w,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as SquareWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as SquareWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as SquareWPF; function RemoveBorder := inherited RemoveBorder as SquareWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): SquareWPF function SetText(txt: string; size: real; fontname: string; c: GColor): SquareWPF
:= inherited SetText(txt,size,fontname,c) as SquareWPF; := inherited SetText(txt,size,fontname,c) as SquareWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): SquareWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): SquareWPF function SetRotate(da: real): SquareWPF
:= inherited SetRotate(da) as SquareWPF; := inherited SetRotate(da) as SquareWPF;
@ -662,19 +699,29 @@ type
public public
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y) /// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w,h,r: real; c: GColor) := Invoke(InitOb2,x,y,w,h,r,c); constructor (x,y,w,h,r: real; c: GColor) := Invoke(InitOb2,x,y,w,h,r,c);
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,h,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w,h,r: real; c: GColor; borderWidth: real) := Create(x,y,w,h,r,c,borderWidth,Colors.Black);
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w,h,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,r,c); constructor (p: Point; w,h,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,h,r,c);
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,h,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,h,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,h,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real)
:= Create(p,w,h,r,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black) := inherited SetBorder(w,c) as RoundRectWPF; function SetBorder(w: real; c: GColor) := inherited SetBorder(w,c) as RoundRectWPF;
/// Декоратор выключения границы объекта
function SetBorder(w: real := 1) := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder := inherited RemoveBorder as RoundRectWPF; function RemoveBorder := inherited RemoveBorder as RoundRectWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RoundRectWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RoundRectWPF
:= inherited SetText(txt,size,fontname,c) as RoundRectWPF; := inherited SetText(txt,size,fontname,c) as RoundRectWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RoundRectWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RoundRectWPF := inherited SetRotate(da) as RoundRectWPF; function SetRotate(da: real): RoundRectWPF := inherited SetRotate(da) as RoundRectWPF;
/// Радиус скругления /// Радиус скругления
@ -701,24 +748,34 @@ type
public public
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y) /// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y,w,r: real; c: GColor) := Invoke(InitOb2,x,y,w,r,c); constructor (x,y,w,r: real; c: GColor) := Invoke(InitOb2,x,y,w,r,c);
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,w,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
constructor (x,y,w,r: real; c: GColor; borderWidth: real)
:= Create(x,y,w,r,c,borderWidth,Colors.Black);
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p /// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
constructor (p: Point; w,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,r,c); constructor (p: Point; w,r: real; c: GColor) := Invoke(InitOb2,p.x,p.y,w,r,c);
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
constructor (x,y,w,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,w,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor /// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; w,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,w,r,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; w,r: real; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,w,r,c); SetBorder(borderWidth,borderColor); end;
/// Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
constructor (p: Point; w,r: real; c: GColor; borderWidth: real)
:= Create(p,w,r,c,borderWidth,Colors.Black);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): RoundSquareWPF function SetBorder(w: real; c: GColor): RoundSquareWPF
:= inherited SetBorder(w,c) as RoundSquareWPF; := inherited SetBorder(w,c) as RoundSquareWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): RoundSquareWPF := SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: RoundSquareWPF function RemoveBorder: RoundSquareWPF
:= inherited RemoveBorder as RoundSquareWPF; := inherited RemoveBorder as RoundSquareWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RoundSquareWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RoundSquareWPF
:= inherited SetText(txt,size,fontname,c) as RoundSquareWPF; := inherited SetText(txt,size,fontname,c) as RoundSquareWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RoundSquareWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RoundSquareWPF function SetRotate(da: real): RoundSquareWPF := inherited SetRotate(da) as RoundSquareWPF;
:= inherited SetRotate(da) as RoundSquareWPF;
end; end;
MyText = class(FrameworkElement) MyText = class(FrameworkElement)
@ -772,7 +829,9 @@ type
/// Создает текст заданного цвета с координатами левого верхнего угла (x,y) /// Создает текст заданного цвета с координатами левого верхнего угла (x,y)
constructor (x,y: real; txt: string; c: GColor := Colors.Black) := Invoke(InitOb2,x,y,16,txt,c); constructor (x,y: real; txt: string; c: GColor := Colors.Black) := Invoke(InitOb2,x,y,16,txt,c);
/// Создает текст заданного цвета с координатами левого верхнего угла (x,y) и размером шрифта sz /// Создает текст заданного цвета с координатами левого верхнего угла (x,y) и размером шрифта sz
constructor (x,y,sz: real; txt: string; c: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,sz,txt,c); FontSize := sz; end; constructor (x,y,sz: real; txt: string; c: GColor) := begin Invoke(InitOb2,x,y,sz,txt,c); FontSize := sz; end;
/// Создает текст заданного цвета с координатами левого верхнего угла (x,y) и размером шрифта sz
constructor (x,y,sz: real; txt: string) := Create(x,y,sz,txt,Colors.Black);
/// Размер шрифта /// Размер шрифта
property FontSize: real read InvokeReal(()->Self.Element.sz) write property FontSize: real read InvokeReal(()->Self.Element.sz) write
Invoke(procedure->begin Self.Element.sz := value; Self.Element.RecreateFormText; Width := Self.Element.Width; Height := Self.Element.Height; ob.InvalidateVisual; end); override; Invoke(procedure->begin Self.Element.sz := value; Self.Element.RecreateFormText; Width := Self.Element.Width; Height := Self.Element.Height; ob.InvalidateVisual; end); override;
@ -890,8 +949,11 @@ type
Invoke(procedure->begin gr1.Height := value; end); Invoke(procedure->begin gr1.Height := value; end);
end; override; end; override;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): LineWPF function SetText(txt: string; size: real; fontname: string; c: GColor): LineWPF
:= inherited SetText(txt,size,fontname,c) as LineWPF; := inherited SetText(txt,size,fontname,c) as LineWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): LineWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): LineWPF function SetRotate(da: real): LineWPF
:= inherited SetRotate(da) as LineWPF; := inherited SetRotate(da) as LineWPF;
@ -943,12 +1005,18 @@ type
public public
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r /// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r
constructor (x,y,r: real; n: integer; c: GColor) := Invoke(InitOb2,x,y,r,n,c); constructor (x,y,r: real; n: integer; c: GColor) := Invoke(InitOb2,x,y,r,n,c);
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,x,y,r,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth
constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real)
:= Create(x,y,r,n,c,borderWidth,Colors.Black);
/// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r /// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r
constructor (p: Point; r: real; n: integer; c: GColor) := Create(p.X,p.Y,r,n,c); constructor (p: Point; r: real; n: integer; c: GColor) := Create(p.X,p.Y,r,n,c);
/// Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,x,y,r,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor /// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.x,p.y,r,n,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.x,p.y,r,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth
constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real)
:= Create(p,r,n,c,borderWidth,Colors.Black);
/// Ширина объекта /// Ширина объекта
property Width: real property Width: real
read InvokeReal(()->gr.Width) read InvokeReal(()->gr.Width)
@ -966,14 +1034,20 @@ type
read InvokeInteger(()->n) read InvokeInteger(()->n)
write Invoke(Cnt,Value); write Invoke(Cnt,Value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): RegularPolygonWPF function SetBorder(w: real; c: GColor): RegularPolygonWPF
:= inherited SetBorder(w,c) as RegularPolygonWPF; := inherited SetBorder(w,c) as RegularPolygonWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): RegularPolygonWPF
:= SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: RegularPolygonWPF function RemoveBorder: RegularPolygonWPF
:= inherited RemoveBorder as RegularPolygonWPF; := inherited RemoveBorder as RegularPolygonWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RegularPolygonWPF function SetText(txt: string; size: real; fontname: string; c: GColor): RegularPolygonWPF
:= inherited SetText(txt,size,fontname,c) as RegularPolygonWPF; := inherited SetText(txt,size,fontname,c) as RegularPolygonWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RegularPolygonWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): RegularPolygonWPF function SetRotate(da: real): RegularPolygonWPF
:= inherited SetRotate(da) as RegularPolygonWPF; := inherited SetRotate(da) as RegularPolygonWPF;
@ -1034,15 +1108,21 @@ type
/// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal /// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal
constructor (p: Point; r,rinternal: real; n: integer; c: GColor) := Create(p.X,p.Y,r,rinternal,n,c); constructor (p: Point; r,rinternal: real; n: integer; c: GColor) := Create(p.X,p.Y,r,rinternal,n,c);
/// Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor /// Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor
constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor);
begin begin
if rinternal<r then if rinternal<r then
Invoke(InitOb2,x,y,r,rinternal,n,c) Invoke(InitOb2,x,y,r,rinternal,n,c)
else Invoke(InitOb2,x,y,rinternal,r,n,c); else Invoke(InitOb2,x,y,rinternal,r,n,c);
SetBorder(borderWidth,borderColor); SetBorder(borderWidth,borderColor);
end; end;
/// Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth
constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real)
:= Create(x,y,r,rinternal, n, c, borderWidth, Colors.Black);
/// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor /// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor
constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,p.X,p.Y,r,rinternal,n,c); SetBorder(borderWidth,borderColor); end; constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,p.X,p.Y,r,rinternal,n,c); SetBorder(borderWidth,borderColor); end;
/// Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth
constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real)
:= Create(p,r,rinternal, n, c, borderWidth, Colors.Black);
/// Радиус описанной окружности /// Радиус описанной окружности
property Radius: real property Radius: real
read InvokeReal(()->gr.Height/2) read InvokeReal(()->gr.Height/2)
@ -1056,14 +1136,20 @@ type
read InvokeInteger(()->n) read InvokeInteger(()->n)
write Invoke(Cnt,Value); write Invoke(Cnt,Value);
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): StarWPF function SetBorder(w: real; c: GColor): StarWPF
:= inherited SetBorder(w,c) as StarWPF; := inherited SetBorder(w,c) as StarWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): StarWPF
:= SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: StarWPF function RemoveBorder: StarWPF
:= inherited RemoveBorder as StarWPF; := inherited RemoveBorder as StarWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): StarWPF function SetText(txt: string; size: real; fontname: string; c: GColor): StarWPF
:= inherited SetText(txt,size,fontname,c) as StarWPF; := inherited SetText(txt,size,fontname,c) as StarWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): StarWPF
:= SetText(txt, size , fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): StarWPF function SetRotate(da: real): StarWPF
:= inherited SetRotate(da) as StarWPF; := inherited SetRotate(da) as StarWPF;
@ -1101,7 +1187,10 @@ type
/// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp /// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp
constructor (pp: array of Point; c: GColor) := Invoke(InitOb2,pp,c); constructor (pp: array of Point; c: GColor) := Invoke(InitOb2,pp,c);
/// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth и цвета borderColor /// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth и цвета borderColor
constructor (pp: array of Point; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black) := begin Invoke(InitOb2,pp,c); SetBorder(borderWidth,borderColor); end; constructor (pp: array of Point; c: GColor; borderWidth: real; borderColor: GColor) := begin Invoke(InitOb2,pp,c); SetBorder(borderWidth,borderColor); end;
/// Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth
constructor (pp: array of Point; c: GColor; borderWidth: real)
:= Create(pp,c,borderWidth,Colors.Black);
/// Массив вершин /// Массив вершин
property Points: array of Point property Points: array of Point
read Invoke&<PointsArray>(GetPointsArrayP) read Invoke&<PointsArray>(GetPointsArrayP)
@ -1119,14 +1208,20 @@ type
Invoke(procedure -> ob1.Points := new PointCollection(a)); Invoke(procedure -> ob1.Points := new PointCollection(a));
end; end;
/// Декоратор включения границы объекта /// Декоратор включения границы объекта
function SetBorder(w: real := 1; c: GColor := Colors.Black): PolygonWPF function SetBorder(w: real; c: GColor): PolygonWPF
:= inherited SetBorder(w,c) as PolygonWPF; := inherited SetBorder(w,c) as PolygonWPF;
/// Декоратор включения границы объекта
function SetBorder(w: real := 1): PolygonWPF
:= SetBorder(w,Colors.Black);
/// Декоратор выключения границы объекта /// Декоратор выключения границы объекта
function RemoveBorder: PolygonWPF function RemoveBorder: PolygonWPF
:= inherited RemoveBorder as PolygonWPF; := inherited RemoveBorder as PolygonWPF;
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): PolygonWPF function SetText(txt: string; size: real; fontname: string; c: GColor): PolygonWPF
:= inherited SetText(txt,size,fontname,c) as PolygonWPF; := inherited SetText(txt,size,fontname,c) as PolygonWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): PolygonWPF
:= SetText(txt,size,fontname,Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): PolygonWPF function SetRotate(da: real): PolygonWPF
:= inherited SetRotate(da) as PolygonWPF; := inherited SetRotate(da) as PolygonWPF;
@ -1188,8 +1283,11 @@ type
/// Создает рисунок из файла fname с координатой левого верхнего угла, заданной точкой p, и размерами (w,h) /// Создает рисунок из файла fname с координатой левого верхнего угла, заданной точкой p, и размерами (w,h)
constructor (p: Point; w,h: real; fname: string) := Invoke(InitOb3,p.x,p.y,w,h,fname); constructor (p: Point; w,h: real; fname: string) := Invoke(InitOb3,p.x,p.y,w,h,fname);
/// Декоратор текста объекта /// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): PictureWPF function SetText(txt: string; size: real; fontname: string; c: GColor): PictureWPF
:= inherited SetText(txt,size,fontname,c) as PictureWPF; := inherited SetText(txt,size,fontname,c) as PictureWPF;
/// Декоратор текста объекта
function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): PictureWPF
:= SetText(txt, size, fontname, Colors.Black);
/// Декоратор поворота объекта /// Декоратор поворота объекта
function SetRotate(da: real): PictureWPF := inherited SetRotate(da) as PictureWPF; function SetRotate(da: real): PictureWPF := inherited SetRotate(da) as PictureWPF;
end; end;