Skip to content

dtl::shape::Border (形状クラス)

Kasugaccho edited this page Apr 21, 2019 · 43 revisions

バージョン:0.4.X以降

<Shape/Border.hpp>

namespace dtl::shape {
  template <typename T>
  class Border;
}

T は1bit以上の型

概要

Borderとは "Matrixの描画範囲の周囲1マスに描画値を設置する" 機能を持つクラスである。

描画範囲の全てを必ず塗りつぶすとは限らない (Matrixの初期化が必要)

メンバ関数

描画

名前 説明 対応バージョン
draw Matrixに描画する v0.4.X
drawArray Matrixに描画する v0.4.X
create Matrixに描画してMatrixを返す v0.4.X
createArray Matrixに描画してMatrixを返す v0.4.X

描画範囲取得/描画値取得

名前 説明 対応バージョン
getPointX 描画始点座標Xを取得 v0.4.X
getPointY 描画始点座標Yを取得 v0.4.X
getWidth 描画横幅Wを取得 v0.4.X
getHeight 描画縦幅Hを取得 v0.4.X
getValue 描画値を取得 v0.4.X

描画範囲指定/描画値指定

名前 説明 対応バージョン
setPointX 描画始点座標Xを指定 v0.4.X
setPointY 描画始点座標Yを指定 v0.4.X
setWidth 描画横幅Wを指定 v0.4.X
setHeight 描画縦幅Hを指定 v0.4.X
setPoint 描画始点座標(X,Y)を指定 v0.4.X
setRange 描画範囲(X,Y,W,H)を指定 v0.4.X
setValue 描画値を指定 v0.4.X

描画範囲消去/描画値消去

名前 説明 対応バージョン
clearPointX 描画始点座標Xを消去 v0.4.X
clearPointY 描画始点座標Yを消去 v0.4.X
clearWidth 描画横幅Wを消去 v0.4.X
clearHeight 描画縦幅Hを消去 v0.4.X
clearPoint 描画始点座標(X,Y)を消去 v0.4.X
clearRange 描画範囲(X,Y,W,H)を消去 v0.4.X
clearValue 描画値を消去 v0.4.X

例 (C++17)

#include <DTL.hpp>
#include <cstdint>
#include <array>

int main() {

	using shape_t = std::uint_fast8_t;
	std::array<std::array<shape_t, 16>, 12> matrix{ {} };

	dtl::shape::Border<shape_t>(1).draw(matrix);

	dtl::console::OutputNumber<shape_t>(",").draw(matrix);
	dtl::console::OutputString<shape_t>("//", "##").draw(matrix);

	return 0;
}

出力

1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
################################
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
##////////////////////////////##
################################

画像

db border

Clone this wiki locally