GraphicLibrary  0.5.0
tadah_fussy::gl::pen::GRGBOp クラス

点描画クラス ( RGB 成分用メンバ関数を利用した処理を行う ) [詳解]

tadah_fussy::gl::pen::GRGBOp の継承関係図
tadah_fussy::gl::pen::GPixelDraw tadah_fussy::gl::pen::GPixelOp

公開メンバ関数

 GRGBOp (RGB &(RGB::*mf)(RGB), RGB rgb)
 RGB 成分用メンバ関数とその引数を指定して構築 [詳解]
 
void setMemFun (RGB &(RGB::*mf)(RGB))
 RGB 成分用メンバ関数のセット [詳解]
 
virtual void setRGB (RGB rgb)
 RGB 成分のセット [詳解]
 
virtual RGB getRGB () const
 セットされた RGB 成分の取得 [詳解]
 
virtual bool operator() (canvas::DrawingArea_IF &draw, Coord< int > c)
 指定した座標のピクセルを RGB 成分用関数で処理する [詳解]
 
- 基底クラス tadah_fussy::gl::pen::GPixelDraw に属する継承公開メンバ関数
void setColor (RGB::color_type col)
 色コードのセット [詳解]
 
- 基底クラス tadah_fussy::gl::pen::GPixelOp に属する継承公開メンバ関数
virtual ~GPixelOp ()
 仮想デストラクタ (何もしない)
 

詳解

点描画クラス ( RGB 成分用メンバ関数を利用した処理を行う )

下地の色も考慮して描画される点が GPSet とは異なる。 処理内容はコンストラクタ時の引数 op に依存する。

構築子と解体子

◆ GRGBOp()

tadah_fussy::gl::pen::GRGBOp::GRGBOp ( RGB &(RGB::*)(RGB mf,
RGB  rgb 
)
inline

RGB 成分用メンバ関数とその引数を指定して構築

例えば、以下のコードは描画領域 draw の矩形 c0 - c1 の領域の RGB コードに対して透明度 50% の白を重ねあわせる

GBox::Fill( draw, op, c0, c1 );
RGB & overlay(RGB fg)
色を重ね合わせる ( 乗算合成 )
Definition: gl_color.h:233
static const primary_type MAX
RGB各成分の最大値
Definition: gl_color.h:54
GRGBOp(RGB &(RGB::*mf)(RGB), RGB rgb)
RGB 成分用メンバ関数とその引数を指定して構築
Definition: gl_g_pixel_op.h:201
void Fill(canvas::DrawingArea_IF &draw, pen::GPixelOp &pixelOp, Coord< int > c0, Coord< int > c1)
矩形の塗りつぶし関数
引数
mfRGB 成分用メンバ関数 ( RGB 型の引数を一つ持つメンバ関数が対象 )
rgb引数

関数詳解

◆ getRGB()

virtual RGB tadah_fussy::gl::pen::GRGBOp::getRGB ( ) const
inlinevirtual

セットされた RGB 成分の取得

戻り値
セットされた RGB 成分

tadah_fussy::gl::pen::GPixelDrawを実装しています。

◆ operator()()

virtual bool tadah_fussy::gl::pen::GRGBOp::operator() ( canvas::DrawingArea_IF draw,
Coord< int >  c 
)
inlinevirtual

指定した座標のピクセルを RGB 成分用関数で処理する

RGB 成分用メンバ関数 mf または描画領域 draw が未定義の場合は assert を実行する。

引数
draw描画対象の canvas::DrawingArea_IF
c操作するピクセルの座標
戻り値
描画対象 draw のメンバ関数 canvas::DrawingArea_IF::point での RGB コード取得または canvas::DrawingArea_IF::pset での描画に失敗した場合 false を返す

tadah_fussy::gl::pen::GPixelOpを実装しています。

◆ setMemFun()

void tadah_fussy::gl::pen::GRGBOp::setMemFun ( RGB &(RGB::*)(RGB mf)
inline

RGB 成分用メンバ関数のセット

引数
mfセットする RGB 成分用メンバ関数

◆ setRGB()

virtual void tadah_fussy::gl::pen::GRGBOp::setRGB ( RGB  rgb)
inlinevirtual

RGB 成分のセット

引数
rgbセットする RGB 成分

tadah_fussy::gl::pen::GPixelDrawを実装しています。


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