LIBPOLYMNIA
公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
polymnia::ImageBuffer< C_ > クラステンプレート

畫像バッファ基底クラステンプレート [詳解]

#include <ibuf.h>

polymnia::ImageBuffer< C_ > の継承関係図
Inheritance graph
[凡例]
polymnia::ImageBuffer< C_ > 連携図
Collaboration graph
[凡例]

公開型

typedef C_ ColorType
 

公開メンバ関数

virtual ~ImageBuffer ()
 解體子 [詳解]
 
int width () const noexcept
 幅を取得 [詳解]
 
int height () const noexcept
 高さを取得 [詳解]
 
int offset () const noexcept
 オフセットを取得 [詳解]
 
C_ * buffer () noexcept
 バッファの先頭アドレスを取得 [詳解]
 
const C_ * buffer () const noexcept
 バッファの先頭アドレスを取得 [詳解]
 
C_ & pixel (int x, int y) noexcept
 ピクセル(x, y)を參照 [詳解]
 
const C_ & pixel (int x, int y) const noexcept
 ピクセル(x, y)を參照 [詳解]
 
C_ & at (int x, int y)
 ピクセル(x, y)を參照 [詳解]
 
const C_ & at (int x, int y) const
 ピクセル(x, y)を參照 [詳解]
 
void line (int x1, int y1, int x2, int y2, const C_ &col)
 直線を描畫 [詳解]
 
void box (int x1, int y1, int x2, int y2, const C_ &col, bool fl=false)
 長方形を描畫 [詳解]
 
void ellipse (int x, int y, int a, int b, const C_ &col, bool fl=false)
 楕圓を描畫 [詳解]
 
void circle (int x, int y, int r, const C_ &col, bool fl=false)
 圓を描畫 [詳解]
 
void paintFill (int x, int y, const C_ &col)
 塗り潰し [詳解]
 
void clear (const C_ &col)
 バッファ全體の塗り潰し [詳解]
 
void blt (int dx, int dy, const polymnia::ImageBuffer< C_ > *src, int sx, int sy, int w, int h)
 轉送 [詳解]
 
void blt (int dx, int dy, const polymnia::ImageBuffer< C_ > *src, int sx, int sy, int w, int h, const polymnia::Rect &mk)
 轉送 [詳解]
 
void blt (int dx, int dy, const polymnia::ImageBuffer< C_ > *src, int sx, int sy, int w, int h, const C_ &tcol)
 轉送 [詳解]
 
void blt (int dx, int dy, const polymnia::ImageBuffer< C_ > *src, int sx, int sy, int w, int h, const C_ &tcol, const polymnia::Rect &mk)
 轉送 [詳解]
 
template<class C2_ >
void blt (int dx, int dy, const polymnia::ImageBuffer< C2_ > *src, int sx, int sy, int w, int h)
 色表現の異なるバッファ間の轉送 [詳解]
 
template<class C2_ >
void blt (int dx, int dy, const polymnia::ImageBuffer< C2_ > *src, int sx, int sy, int w, int h, const polymnia::Rect &mk)
 色表現の異なるバッファ間の轉送 [詳解]
 
template<class C2_ >
void blt (int dx, int dy, const polymnia::ImageBuffer< C2_ > *src, int sx, int sy, int w, int h, const C2_ &tcol)
 色表現の異なるバッファ間の轉送 [詳解]
 
template<class C2_ >
void blt (int dx, int dy, const polymnia::ImageBuffer< C2_ > *src, int sx, int sy, int w, int h, const C2_ &tcol, const polymnia::Rect &mk)
 色表現の異なるバッファ間の轉送 [詳解]
 

限定公開メンバ関数

 ImageBuffer (int w, int h, int o)
 構築子 [詳解]
 

限定公開変数類

C_ * buf_
 畫像バッファ [詳解]
 
int w_
 [詳解]
 
int h_
 高さ [詳解]
 
int offset_
 オフセット 水平方向の1ラインのバッファサイズ [詳解]
 

詳解

template<class C_>
class polymnia::ImageBuffer< C_ >

畫像バッファ基底クラステンプレート

型定義メンバ詳解

◆ ColorType

template<class C_>
typedef C_ polymnia::ImageBuffer< C_ >::ColorType

構築子と解体子

◆ ImageBuffer()

template<class C_>
polymnia::ImageBuffer< C_ >::ImageBuffer ( int  w,
int  h,
int  o 
)
inlineprotected

構築子

引数
w
h高さ
oオフセット

◆ ~ImageBuffer()

template<class C_>
virtual polymnia::ImageBuffer< C_ >::~ImageBuffer ( )
inlinevirtual

解體子

関数詳解

◆ at() [1/2]

template<class C_>
C_& polymnia::ImageBuffer< C_ >::at ( int  x,
int  y 
)
inline

ピクセル(x, y)を參照

pixel()は(x, y)がバッファの範圍に含まれるか確認しないが、 at()は範圍を確認し、範圍外の場合はRangeOverExceptionを投げる。

◆ at() [2/2]

template<class C_>
const C_& polymnia::ImageBuffer< C_ >::at ( int  x,
int  y 
) const
inline

ピクセル(x, y)を參照

pixel()は(x, y)がバッファの範圍に含まれるか確認しないが、 at()は範圍を確認し、範圍外の場合はRangeOverExceptionを投げる。

◆ blt() [1/8]

template<class C_>
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C_ > *  src,
int  sx,
int  sy,
int  w,
int  h 
)
inline

轉送

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ

◆ blt() [2/8]

template<class C_>
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C_ > *  src,
int  sx,
int  sy,
int  w,
int  h,
const polymnia::Rect mk 
)
inline

轉送

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ
mk變更を許すマスク領域

◆ blt() [3/8]

template<class C_>
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C_ > *  src,
int  sx,
int  sy,
int  w,
int  h,
const C_ &  tcol 
)
inline

轉送

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ
tcol透明色

◆ blt() [4/8]

template<class C_>
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C_ > *  src,
int  sx,
int  sy,
int  w,
int  h,
const C_ &  tcol,
const polymnia::Rect mk 
)
inline

轉送

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ
tcol透明色
mk變更を許すマスク領域

◆ blt() [5/8]

template<class C_ >
template<class C2_ >
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C2_ > *  src,
int  sx,
int  sy,
int  w,
int  h 
)
inline

色表現の異なるバッファ間の轉送

色表現型C_の異なる畫像バッファ間で轉送を行ふ。 轉送元の色表現を轉送先の色表現に暗默的に變換可能でなければならない。

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ

◆ blt() [6/8]

template<class C_ >
template<class C2_ >
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C2_ > *  src,
int  sx,
int  sy,
int  w,
int  h,
const polymnia::Rect mk 
)
inline

色表現の異なるバッファ間の轉送

色表現型C_の異なる畫像バッファ間で轉送を行ふ。 轉送元の色表現を轉送先の色表現に暗默的に變換可能でなければならない。

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ
mk變更を許すマスク領域

◆ blt() [7/8]

template<class C_ >
template<class C2_ >
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C2_ > *  src,
int  sx,
int  sy,
int  w,
int  h,
const C2_ &  tcol 
)
inline

色表現の異なるバッファ間の轉送

色表現型C_の異なる畫像バッファ間で轉送を行ふ。 轉送元の色表現を轉送先の色表現に暗默的に變換可能でなければならない。

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ
tcol透明色

◆ blt() [8/8]

template<class C_ >
template<class C2_ >
void polymnia::ImageBuffer< C_ >::blt ( int  dx,
int  dy,
const polymnia::ImageBuffer< C2_ > *  src,
int  sx,
int  sy,
int  w,
int  h,
const C2_ &  tcol,
const polymnia::Rect mk 
)
inline

色表現の異なるバッファ間の轉送

色表現型C_の異なる畫像バッファ間で轉送を行ふ。 轉送元の色表現を轉送先の色表現に暗默的に變換可能でなければならない。

引数
dx轉送先x座標
dy轉送先y座標
src轉送元バッファ
sx轉送元x座標
sy轉送元y座標
w轉送幅
h轉送高さ
tcol透明色
mk變更を許すマスク領域

◆ box()

template<class C_>
void polymnia::ImageBuffer< C_ >::box ( int  x1,
int  y1,
int  x2,
int  y2,
const C_ &  col,
bool  fl = false 
)
inline

長方形を描畫

被呼び出し関係図:

◆ buffer() [1/2]

template<class C_>
C_* polymnia::ImageBuffer< C_ >::buffer ( )
inlinenoexcept

バッファの先頭アドレスを取得

被呼び出し関係図:

◆ buffer() [2/2]

template<class C_>
const C_* polymnia::ImageBuffer< C_ >::buffer ( ) const
inlinenoexcept

バッファの先頭アドレスを取得

◆ circle()

template<class C_>
void polymnia::ImageBuffer< C_ >::circle ( int  x,
int  y,
int  r,
const C_ &  col,
bool  fl = false 
)
inline

圓を描畫

◆ clear()

template<class C_>
void polymnia::ImageBuffer< C_ >::clear ( const C_ &  col)
inline

バッファ全體の塗り潰し

◆ ellipse()

template<class C_>
void polymnia::ImageBuffer< C_ >::ellipse ( int  x,
int  y,
int  a,
int  b,
const C_ &  col,
bool  fl = false 
)
inline

楕圓を描畫

被呼び出し関係図:

◆ height()

template<class C_>
int polymnia::ImageBuffer< C_ >::height ( ) const
inlinenoexcept

高さを取得

被呼び出し関係図:

◆ line()

template<class C_>
void polymnia::ImageBuffer< C_ >::line ( int  x1,
int  y1,
int  x2,
int  y2,
const C_ &  col 
)
inline

直線を描畫

被呼び出し関係図:

◆ offset()

template<class C_>
int polymnia::ImageBuffer< C_ >::offset ( ) const
inlinenoexcept

オフセットを取得

被呼び出し関係図:

◆ paintFill()

template<class C_>
void polymnia::ImageBuffer< C_ >::paintFill ( int  x,
int  y,
const C_ &  col 
)
inline

塗り潰し

◆ pixel() [1/2]

template<class C_>
C_& polymnia::ImageBuffer< C_ >::pixel ( int  x,
int  y 
)
inlinenoexcept

ピクセル(x, y)を參照

被呼び出し関係図:

◆ pixel() [2/2]

template<class C_>
const C_& polymnia::ImageBuffer< C_ >::pixel ( int  x,
int  y 
) const
inlinenoexcept

ピクセル(x, y)を參照

◆ width()

template<class C_>
int polymnia::ImageBuffer< C_ >::width ( ) const
inlinenoexcept

幅を取得

被呼び出し関係図:

メンバ詳解

◆ buf_

template<class C_>
C_* polymnia::ImageBuffer< C_ >::buf_
protected

畫像バッファ

◆ h_

template<class C_>
int polymnia::ImageBuffer< C_ >::h_
protected

高さ

◆ offset_

template<class C_>
int polymnia::ImageBuffer< C_ >::offset_
protected

オフセット 水平方向の1ラインのバッファサイズ

◆ w_

template<class C_>
int polymnia::ImageBuffer< C_ >::w_
protected


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