LIBURANIA
GUI library (a wrapper of Win32 API) in C++
|
#include <paintdev.h>
公開型 | |
typedef void(* | DestProc) (HDC, void *) |
公開メンバ関数 | |
~PaintDevice () | |
void | clear (const urania::Color &col) |
void | dotset (int x, int y, const urania::Color &col) |
void | line (int x1, int y1, int x2, int y2, const urania::Color &col) |
void | box (int x1, int y1, int x2, int y2, const urania::Color &col, bool f=false) |
void | ellipse (int x, int y, int a, int b, const urania::Color &col, bool f=false) |
void | circle (int x, int y, int r, const urania::Color &col, bool f=false) |
eunomia::Point | text (int x, int y, const std::wstring &str, const urania::Color &col) |
eunomia::Point | text (int x, int y, int w, const std::wstring &str, const urania::Color &col) |
void | changeFont (int size, const std::wstring &fn, bool ro, bool fx, bool bo, bool itl, bool ul, bool sk) |
int | width () const |
描畫領域の幅を取得する。 | |
int | height () const |
描畫領域の高さを取得する。 | |
void | blt (const urania::PaintMemDevice &src, int sx, int sy, int w, int h, int dx, int dy, const std::optional< eunomia::Rect > &cliprect=std::nullopt) |
轉送 | |
void | blt (urania::PaintMemDeviceIndexed &src, int sx, int sy, int w, int h, int dx, int dy, const std::optional< eunomia::Rect > &cliprect=std::nullopt) |
轉送 | |
void | stretchBlt (const urania::PaintMemDevice &src) |
轉送 | |
void | stretchBlt (urania::PaintMemDeviceIndexed &src) |
轉送 | |
void | blt (const urania::PaintMemDevice &src) |
轉送 | |
void | blt (urania::PaintMemDeviceIndexed &src) |
轉送 | |
静的公開メンバ関数 | |
static std::unique_ptr< PaintDevice > | create (HDC dc, DestProc dp, void *a, int w, int h) |
static urania::Color | getSysColor (int id) |
システムカラーの取得 | |
static void | setSysColor (int id, const urania::Color &col) |
システムカラーの設定 | |
限定公開メンバ関数 | |
PaintDevice (HDC dc, DestProc dp, void *a, int w, int h) | |
限定公開変数類 | |
HDC | hdc_ |
int | width_ |
int | height_ |
HBRUSH | obr_ |
HPEN | opn_ |
HFONT | oft_ |
int | obm_ |
void * | app_ |
DestProc | dst_ |
Windowsデバイスコンテキストのラッパー
typedef void(* urania::PaintDevice::DestProc) (HDC, void *) |
|
protected |
urania::PaintDevice::~PaintDevice | ( | ) |
void urania::PaintDevice::blt | ( | const urania::PaintMemDevice & | src | ) |
轉送
轉送元の全領域から自己の全領域に轉送する。 領域の大きさが異なる場合はアスペクト比を保存しつつ擴大縮小される。 轉送元と自己のアスペクト比が異なる場合、餘白が生じる。
src | 轉送元 |
void urania::PaintDevice::blt | ( | const urania::PaintMemDevice & | src, |
int | sx, | ||
int | sy, | ||
int | w, | ||
int | h, | ||
int | dx, | ||
int | dy, | ||
const std::optional< eunomia::Rect > & | cliprect = std::nullopt ) |
轉送
src | 轉送元 |
sx | 轉送元左上X座標 |
sy | 轉送元左上Y座標 |
w | 轉送幅 |
h | 轉送高さ |
dx | 左上X座標 |
dy | 左上Y座標 |
cliprect | 被轉送可能領域。std::nulloptの場合は畫像全體。 |
void urania::PaintDevice::blt | ( | urania::PaintMemDeviceIndexed & | src | ) |
轉送
轉送元の全領域から自己の全領域に轉送する。 領域の大きさが異なる場合はアスペクト比を保存しつつ擴大縮小される。 轉送元と自己のアスペクト比が異なる場合、餘白が生じる。
src | 轉送元 |
void urania::PaintDevice::blt | ( | urania::PaintMemDeviceIndexed & | src, |
int | sx, | ||
int | sy, | ||
int | w, | ||
int | h, | ||
int | dx, | ||
int | dy, | ||
const std::optional< eunomia::Rect > & | cliprect = std::nullopt ) |
轉送
src | 轉送元 |
sx | 轉送元左上のX座標 |
sy | 轉送元左上のY座標 |
w | 轉送幅 |
h | 轉送高さ |
dx | 左上X座標 |
dy | 左上Y座標 |
cliprect | 被轉送可能領域。std::nulloptの場合は畫像全體。 |
void urania::PaintDevice::box | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const urania::Color & | col, | ||
bool | f = false ) |
長方形を描畫する。
x1 | 長方形の一の頂點のX座標 |
y1 | 長方形の一の頂點のY座標 |
x2 | 長方形の(x1, y1)の對角のX座標 |
y2 | 長方形の(x1, y1)の對角のY座標 |
col | 描畫色 |
f | trueなら中を塗り潰し、falseなら枠線のみ描畫する。 |
void urania::PaintDevice::changeFont | ( | int | size, |
const std::wstring & | fn, | ||
bool | ro, | ||
bool | fx, | ||
bool | bo, | ||
bool | itl, | ||
bool | ul, | ||
bool | sk ) |
フォントを變更する。
size | フォントサイズ |
fn | フォント名。L""を指定すると、デフォルトを用ゐる。 |
ro | trueのときはローマンタイプ。主にデフォルトの時に影響する。 |
fx | trueのときは等幅フォント、falseならプロポーショナルフォント。 |
bo | trueのときはボールド體 |
itl | trueのときは斜體 |
ul | trueのときは下線附 |
sk | trueのときは打ち消し線附 |
|
inline |
圓を描畫する。
x | 中心のX座標 |
y | 中心のY座標 |
r | 半徑 |
col | 描畫色 |
f | trueなら中を塗り潰し、falseなら圓弧のみ描畫する。 |
void urania::PaintDevice::clear | ( | const urania::Color & | col | ) |
描画領域全體を塗り潰す。
col | 塗り潰し色 |
|
static |
オブジェクトを生成する。
dc | デバイスコンテキストハンドル |
dp | DC解放用コールバック。不要ならnullptr。 |
a | dpに渡すパラメタ |
w | デバイスの幅 |
h | デバイスの高さ |
void urania::PaintDevice::dotset | ( | int | x, |
int | y, | ||
const urania::Color & | col ) |
點を描畫する。
x | 描畫位置(X座標) |
y | 描畫位置(Y座標) |
col | 描畫色 |
void urania::PaintDevice::ellipse | ( | int | x, |
int | y, | ||
int | a, | ||
int | b, | ||
const urania::Color & | col, | ||
bool | f = false ) |
楕圓を描畫する。
x | 中心のX座標 |
y | 中心のY座標 |
a | X半徑 |
b | Y半徑 |
col | 描畫色 |
f | trueなら中を塗り潰し、falseなら圓弧のみ描畫する。 |
|
inlinestatic |
|
inline |
描畫領域の高さを取得する。
void urania::PaintDevice::line | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const urania::Color & | col ) |
線分を描畫する。
x1 | 線分の一方の端のX座標 |
y1 | 線分の一方の端のY座標 |
x2 | 線分のもう一方の端のX座標 |
y2 | 線分のもう一方の端のY座標 |
col | 描畫色 |
|
static |
void urania::PaintDevice::stretchBlt | ( | const urania::PaintMemDevice & | src | ) |
轉送
轉送元の全領域から自己の全領域に轉送する。 領域の大きさが異なる場合は擴大縮小される。
src | 轉送元 |
void urania::PaintDevice::stretchBlt | ( | urania::PaintMemDeviceIndexed & | src | ) |
轉送
轉送元の全領域から自己の全領域に轉送する。 領域の大きさが異なる場合は擴大縮小される。
src | 轉送元 |
eunomia::Point urania::PaintDevice::text | ( | int | x, |
int | y, | ||
const std::wstring & | str, | ||
const urania::Color & | col ) |
テキストを描畫する。
x | 描畫長方形の左上角のX座標 |
y | 描畫長方形の左上角のY座標 |
str | 描畫する文字列 |
col | 描畫色 |
eunomia::Point urania::PaintDevice::text | ( | int | x, |
int | y, | ||
int | w, | ||
const std::wstring & | str, | ||
const urania::Color & | col ) |
幅を指定してテキストを描畫する。
x | 描畫長方形の左上角のX座標 |
y | 描畫長方形の左上角のY座標 |
w | 幅 |
str | 描畫する文字列 |
col | 描畫色 |
|
inline |
描畫領域の幅を取得する。
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |