В Script-Fu, для создания фигур, используется объектный подход, где каждая фигура — это объект с методами для инициализации, рисования и получения габаритов. Это позволяет избежать централизованной функции отрисовки и упрощает расширение функциональности.
Для реализации «наследования» используется макрос, который вставляет тело шаблонной функции в метод. Это позволяет избежать дублирования кода. Определены классы фигур:
Класс
В качестве примера показано создание стрелки, которая может быть частью сложной фигуры, и отрисовка составных фигур в разных рамках. Это демонстрирует гибкость объектно-ориентированного подхода и возможность повторного использования кода.
Изображение носит иллюстративный характер
Для реализации «наследования» используется макрос, который вставляет тело шаблонной функции в метод. Это позволяет избежать дублирования кода. Определены классы фигур:
brush-fig
, shape-fig
, pencil-fig
, каждый из которых реализует свой метод отрисовки. Класс
complex-fig
позволяет объединять несколько фигур в одну. При этом сохраняется абстракция фигуры, что упрощает работу с составными фигурами. Каждая фигура может быть отрисована в заданной рамке с помощью метода draw-to-rect, который автоматически применяет нужное преобразование. В качестве примера показано создание стрелки, которая может быть частью сложной фигуры, и отрисовка составных фигур в разных рамках. Это демонстрирует гибкость объектно-ориентированного подхода и возможность повторного использования кода.