Shape
概要
Line, Rectangle, Polygon, Ellipse, Lettersなど、それ自体は形のみを表し、色や線を別に考えることができる構造を扱う抽象クラスです。実体としては、Figureに加え、以下の関数のオーバーライドを要求します。
- virtual Shape& draw(const Color &col, Drawable &target = *Drawable::prime)
- 塗り色を指定して描画する命令。
- virtual Shape& draw(const Stroke &strk, Drawable &target = *Drawable::prime)
- 枠線の種類を指定して描画する命令::。
色指定機能
Shapeはdraw時に色か線を指定する必要がありますが、任意のShape実体はデフォルトの色と線を持ちます。Groupでまとめたりする際にとくに有用です。
#include <psychlops.h> using namespace Psychlops; void psychlops_main() { Canvas canvas(Canvas::window); Psychlops::Rectangle rect(100,100); rect.centering().shift( 100, 0); rect.stroke.set(Color::red, 5, Stroke::DOTTED); Psychlops::Ellipse ellipse; ellipse.set(rect); ellipse.centering().shift(-100, 0); ellipse.fill = Color::white; while(!Keyboard::esc.pushed()) { canvas.clear(); ellipse.draw(); rect.draw(); canvas.flip(); } }
キーワード:[Class] [Figure] [Shape] [Graphic]
参照:[リファレンスマニュアル]