Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_1 / ООП / Введение_SWG.pdf
Скачиваний:
82
Добавлен:
23.02.2015
Размер:
3.32 Mб
Скачать

9.5 Класс PathShape

Класс PathShape — абстрактный класс для потомков для классов, определяемых командами описания пути. Является потомком класса Graphic.

Путь определяется описанными ниже командами. Каждая команда имеет одну или более точек, задающих каждый сегмент фигуры. Когда создается путь начальная текущая точка имеет координаты (0,0). Первый метод moveTo может изменить точку начала пути.

moveTo(float x, float y) — перемещает текущую точку в указанные координаты и начинает новый сегмент пути;

moveTo(float[ ] pt) — то же самое для массива из двух чисел; moveTo(Point pt) — то же самое для вектора из двух чисел;

lineTo(float x, float y) — добавляет отрезок из текущей в указанную точку, которая становится текущей;

quadTo(float cx, float cy, float x, float y) — сегмент кривой второго порядка из текущей точки в заданную (x,y) через точку (cx,cy);

cubic(float cx1, float cy1, float cx2, float cy2, float x, float y) — сегмент кубического отрезка из текущей в заданную (x,y) через точки (cx1,cy)1, (cx2,cy2);

close() — замкнуть путь ;

reset() — удалить все точки пути. Текущей становится точка (0,0).

Сегменты пути имеют типы, определяемые константами целого типа: PATH_MOVE_TO

PATH_LINE_TO

PATH_QUAD_TO

PATH_CUBIC_TO PATH_CLOSE PATH_ADD_ARC PATH_ADD_RECTANGLE PATH_ADD_TEXT

Для манипулирования путями используются методы:

164

getPointCount() — запрос числа точек; getTypes() — запрос типов сегментов в массиве; getPoints() — запрос массива координат точек;

setPoints(float[ ] pts) — задание массива заменяемых координат точек пути. Их число должно соответствовать числу существующих точек пути;

setPoints(Point[ ] pts) — то-же самое для массива точек;

setPoints(float[ ] pts, int index) — задание подмножества точек, начиная с указанного номера;

setPoint(Point pt, int index) — задание координат указанной точки; setPointX(float x, int index) — задание координаты X точки; setPointY(float y, int index) — задание координаты Y точки; getPointX(int index) — запрос координаты X точки;

getPointY(int index) — запрос координаты Y точки.

Класс BasicPath потомок класса PathShape, создающий залитые или контурные фигуры. Пример.

BasicPath path = new BasicPath(parent, SWT.NONE); path.quadTo(100, 200, 200, 0);

path.close();

path.setBackgroundColor(blue);

Класс AdvancedPath потомок класса PathShape, создающий залитые или контурные фигуры. Фигуры могут содержать набор замкнутых фрагментов пути. Пример.

AdvancedPath path = new AdvancedPath(parent, SWT.NONE); path.addRectangle(100, 100, 300, 300); path.addArc(150, 150, 150, 150, 0 , 360); path.close();

path.setBackgroundColor(darkGreen);

Класс Caption. Заголовок Caption создает текст. Текст может быть масштабирован, повернут и т.п.

setText(String string) – задание текста getText() — запрос текста

setFont(Font font) – задание шрифта getFont(Font font) – запрос шрифта

165

Соседние файлы в папке ООП