SDL2

Thumbnail of post image 199

 GUI 部品のボタンを作りました。マウス操作でボタンも浅れるようにしました。これを独立したソースにまとめます。

 まず、GUI 部品を作るためのデータを決めます。必要なデータは、GUI 部品の種類、部品の左上の x, y ...

SDL2

Thumbnail of post image 166

 SDL は GUI を持たないので、自前で GUI 部品を作ってみたいと思いました。まずは、ボタンの描画を行ってみたいと思います。

灰色で矩形を塗りつぶしてみる

 まず、灰色で矩形を描いてみます。

SDL_SetRe ...

SDL2

Thumbnail of post image 020

 ペイント(ラスタ)形式の画像を縮小する時、元画像からそのままピクセルを取り出すと、線が途切れたりします。間引かれたピクセルの情報が捨てられてしまうのが原因です。このような場合、補間処理を行うことで、画像が荒くなることを防げます。

SDL2

Thumbnail of post image 146

 SDL2 で画像を表示するには、ビットマップを読み込んで、サーフェスを作成し、テクスチャに変えます。そして、renderer を使ってコピーします。

 SDL2 だけであれば、bmp ファイルを扱えます。それ以外のファイ ...

SDL2

Thumbnail of post image 044

 GPiCASE で動くプログラムを作ろうと思い、SDL2 を使って、練習用にスクリーンセーバーもどきをいくつか作ったので、以下のページで公開します。

スクリーンセーバーもどき

 GPiCASE を考えているの ...

SDL2

Thumbnail of post image 160

 塗りつぶした楕円は、回転させなければ、円の塗りつぶしと同様に描くことができます。

void fill_oval(SDL_Renderer *renderer, int sx, int sy, int a, int b, int ...

SDL2

Thumbnail of post image 006

 SDL2 でウィンドウイメージを画像に保存するには、データコピー用のサーフェスを準備して、SDL_RenderReadPixels() 関数でウィンドウイメージのコピーを取得できます。

 SDL_RenderReadPi ...

SDL2

Thumbnail of post image 065

 楕円を回転して描画させたいと思います。

楕円

 もともと、上のような楕円を回転させます。例えば、45° 回転させた下のような楕円を描画できるようにします。

45°回転させた楕円

 原点を中心としてある点 (x, ...

SDL2

Thumbnail of post image 175

 今度は楕円形を書いてみたいと思います。

 下の図のような楕円形を考えます。

楕円

 この楕円の方程式は以下のようになります。

楕円の方程式

 円と同様に、x から y を求めると以下の計算になります。 ...

SDL2

Thumbnail of post image 196

 SDL2 の描画は、点、線、矩形の描画はできますが、円は描画ができません。円を描画する関数を作成してみます。

 円は、円の座標を計算して、そこに点を描画して表現します。円の方程式は以下です。

円の方程式

 r ...