SDL2

Thumbnail of post image 025

 ドロップダウンリストは、マウスをプレスしている間、リストを表示するようにしました。無理やり作ったので、「クリックでリスト表示 -> リストクリックで選択」という動作にはできませんでした。ソースがわかりづらくなりました。 ...

SDL2

Thumbnail of post image 173

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

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

SDL2

Thumbnail of post image 195

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

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

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

SDL_SetRe ...

SDL2

Thumbnail of post image 132

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

SDL2

Thumbnail of post image 104

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

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

SDL2

Thumbnail of post image 143

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

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

 GPiCASE を考えているの ...

SDL2

Thumbnail of post image 088

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

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

SDL2

Thumbnail of post image 046

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

 SDL_RenderReadPi ...

SDL2

Thumbnail of post image 178

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

楕円

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

45°回転させた楕円

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

SDL2

Thumbnail of post image 029

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

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

楕円

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

楕円の方程式

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