FrontPage  ページ一覧  検索  更新履歴  RSS  ログイン

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でまとめたりする際にとくに有用です。

fill
塗り色を指定します。Colorが代入できます。デフォルトでは無色となっています。
stroke
枠線を指定します。Stroke型です。デフォルトは太さ0の線です。
#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();
	}
}
更新日時:2010/04/11 13:53:33
キーワード:[Class] [Figure] [Shape] [Graphic]
参照:[リファレンスマニュアル]