Класс ObjectABC
Класс ObjectABC
является базовым классом для всех
графических объектов ABCObjects
.
Его основными потомками, определенными в модуле
ABCObjects
, являются следующие классы:
BoundedObjectABC
, RectangleABC
, SquareABC
,
EllipseABC
, CircleABC
, TextABC
,
RegularPolygonABC
, StarABC
, PictureABC
,
MultiPictureABC
, BoardABC
и ContainerABC
.
Класс ObjectABC
- абстрактный: объекты этого класса не
создаются.
Конструкторы класса ObjectABC |
constructor Create(x,y,w,h: integer; cl: GColor);
Создает графический объект размера (w ,
h ) цвета cl с координатами левого верхнего угла (x ,
y )
|
constructor Create(g: ObjectABC);
Создает графический объект - копию объекта g
|
Свойства класса ObjectABC |
property Left: integer;
Отступ графического объекта от левого края |
property Top: integer;
Отступ графического объекта от верхнего края |
property Width: integer;
Ширина графического объекта |
property Height: integer;
Высота графического объекта |
property dx: integer;
x-координата вектора перемещения объекта при вызове метода Move. По умолчанию установлено в 0. Для неподвижных объектов может быть использовано для хранения любой дополнительной информации, связанной с объектом |
property dy: integer;
y-координата вектора перемещения объекта при вызове метода Move. По умолчанию установлено в 0. Для неподвижных объектов может быть использовано для хранения любой дополнительной информации, связанной с объектом |
property Center: Point;
Центр графического объекта |
property Position: Point;
Левый верхний угол графического объекта |
property Visible: boolean;
Видим ли графический объект |
property Color: GColor;
Цвет графического объекта |
property FontColor: GColor;
Цвет шрифта графического объекта |
property Text: string;
Текст внутри графического объекта |
property TextVisible: boolean;
Видимость текста внутри графического объекта |
property TextScale: real; Масштаб текста относительно размеров графического объекта, 0<=TextScale<=1. При TextScale=1 текст занимает всю ширину или высоту объекта. По умолчанию TextScale=0.8 |
property FontName: string;
Имя шрифта для вывода свойства Text |
property FontStyle: FontStyleType;
Стиль шрифта для вывода свойства Text |
property Number: integer;
Целое число, выводимое в центре графического объекта. Для вывода используется свойство Text |
property RealNumber: real; Вещественное число, выводимое в центре графического объекта. Для вывода используется свойство Text. Вещественное число выводится с одним знаком после десятичной точки |
property Owner: ContainerABC;
Владелец графического объекта, ответственный также за перерисовку графического объекта внутри себя (по умолчанию nil) |
Методы класса ObjectABC |
procedure MoveTo(x,y: integer);
Перемещает левый верхний угол графического объекта к точке (x,y) |
procedure MoveOn(a,b: integer);
Перемещает графический объект на вектор (a,b) |
procedure Move; virtual;
Перемещает графический объект на вектор, задаваемый свойствами dx,dy |
procedure Scale(f: real); virtual;
Масштабирует графический объект в f раз (f>1 - увеличение, 0<f<1 - уменьшение) |
procedure ToFront;
Переносит графический объект на передний план |
procedure ToBack;
Переносит графический объект на задний план |
function Bounds: System.Drawing.Rectangle;
Возвращает прямоугольник, определяющий границы графического объекта |
function PtInside(x,y: integer): boolean; virtual;
Возвращает True, если точка (x,y) находится внутри графического объекта, и False в противном случае |
function Intersect(g: ObjectABC): boolean; Возвращает True, если изображение данного графического объекта пересекается с изображением
графического объекта g, и False в противном случае. Белый цвет считается прозрачным и не принадлежащим объекту |
function IntersectRect(r: System.Drawing.Rectangle): boolean;
Возвращает True, если прямоугольник графического объекта пересекается прямоугольником r, и False в противном случае |
function Clone0: ObjectABC; virtual;
Возвращает клон графического объекта |
function Clone: ObjectABC;
Возвращает клон графического объекта |
procedure Draw(x,y: integer; g: Graphics); virtual; Защищенная. Не вызывается явно. Переопределяется для каждого графического класса. Рисует объект на объекте g: Graphics |
destructor Destroy;
Уничтожает графический объект |