GraphicLibrary  0.5.0
GPattern クラス

配列による描画領域の表現 [詳解]

GPattern の継承関係図
DrawingArea_IF

公開メンバ関数

 GPattern ()
 デフォルトコンストラクタ [詳解]
 
 GPattern (Coord< int > sz)
 描画領域の大きさを指定して構築 [詳解]
 
 GPattern (const DrawingArea_IF &draw, Coord< int > s, Coord< int > e)
 他の描画領域 draw からコピーして構築 [詳解]
 
void copy (const DrawingArea_IF &draw, Coord< int > s, Coord< int > e)
 他の描画領域 d からコピーする [詳解]
 
virtual bool point (Coord< int > c, RGB *rgb) const
 指定した座標の RGB コードを取得する [詳解]
 
virtual bool pset (Coord< int > c, RGB rgb)
 指定した座標のピクセルに RGB コードをセットする [詳解]
 
virtual Coord< int > size () const
 画像サイズを返す [詳解]
 
virtual void resize (Coord< int > sz)
 画像サイズを変更する [詳解]
 
- 基底クラス DrawingArea_IF に属する継承公開メンバ関数
virtual ~DrawingArea_IF ()
 仮想デストラクタ (何もしない)
 

詳解

配列による描画領域の表現

配列内に画像データを保持する。ディスプレイ上に画像を表示することはこのクラスだけではできない。

構築子と解体子

◆ GPattern() [1/3]

GPattern::GPattern ( )
inline

デフォルトコンストラクタ

描画領域の大きさはゼロで初期化される

◆ GPattern() [2/3]

GPattern::GPattern ( Coord< int >  sz)
explicit

描画領域の大きさを指定して構築

パターンの大きさ sz に負数が含まれていた場合は例外 ExceptionNegativeNumber を投げる。

引数
szパターンの大きさ

◆ GPattern() [3/3]

GPattern::GPattern ( const DrawingArea_IF draw,
Coord< int >  s,
Coord< int >  e 
)
inline

他の描画領域 draw からコピーして構築

描画領域 draw が未定義だった場合は assert を実行する。 コピーする範囲 s, e が draw の領域外だった場合は、領域内になるようにクリッピングしてコピーする ( サイズも変化する )。

引数
drawパターンを取得する描画オブジェクト
s,eパターンの範囲

関数詳解

◆ copy()

void GPattern::copy ( const DrawingArea_IF draw,
Coord< int >  s,
Coord< int >  e 
)

他の描画領域 d からコピーする

もし、描画領域 d が存在しなければ何もせずに終了する。 コピーする範囲 s, e が d の領域外だった場合は、領域内になるようにクリッピングしてコピーする ( サイズも変化する )

描画領域から取得した RGB コードは透明度を含めてそのままコピーされる。重ねあわせ等は行わないことに注意。

引数
drawパターンを取得する描画オブジェクト
s,eパターンの範囲

◆ point()

virtual bool GPattern::point ( Coord< int >  c,
RGB rgb 
) const
virtual

指定した座標の RGB コードを取得する

描画領域の x, y 方向のサイズのいずれかがゼロだった場合は RGB コードは取得せずに false を返す。

指定した座標がパターン外部の場合は鏡像を取得する。例えば x = -10 のときは x = 10 が取得対象となる。 但し、鏡像もはみ出る場合は端のピクセルを対象とする。先の例の場合、サイズが 5 であれば x = 4 となる。 なお、指定した座標がパターン外部の場合は戻り値が false になる。

変数 rgb が未定義だった場合は assert を実行する。

引数
cRGB コードを取得する位置
rgb取得した RGB コードを返す変数へのポインタ
戻り値
指定した座標がパターンの範囲内なら true を返す

DrawingArea_IFを実装しています。

◆ pset()

virtual bool GPattern::pset ( Coord< int >  c,
RGB  rgb 
)
virtual

指定した座標のピクセルに RGB コードをセットする

RGB コードは透明度を含めてそのままセットされる。重ねあわせ等は行わないことに注意。

引数
cRGB コードをセットする座標値
rgbセットする RGB コード
戻り値
ピクセルに RGB コードをセットできたら true を返す

DrawingArea_IFを実装しています。

◆ resize()

virtual void GPattern::resize ( Coord< int >  sz)
virtual

画像サイズを変更する

サイズを大きくする場合は、拡大されたエリアは RGB のデフォルト値で初期化される。

パターンの大きさ sz に負数が含まれていた場合は例外 ExceptionNegativeNumber を投げる。

引数
sz変更後のサイズ
戻り値
なし

DrawingArea_IFを実装しています。

◆ size()

virtual Coord< int > GPattern::size ( ) const
inlinevirtual

画像サイズを返す

戻り値
画像サイス

DrawingArea_IFを実装しています。


このクラス詳解は次のファイルから抽出されました: