SDL2 でドロップダウンリストを作る

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

GUI 部品のボタンを作りました。マウス操作でボタンも浅れるようにしました。これを独立したソースにまとめます。
まず、GUI 部品を作るためのデータを決めます。必要なデータは、GUI 部品の種類、部品の左上の x, y ...
SDL2 で GUI 部品を作る(ボタン)

SDL は GUI を持たないので、自前で GUI 部品を作ってみたいと思いました。まずは、ボタンの描画を行ってみたいと思います。
灰色で矩形を塗りつぶしてみるまず、灰色で矩形を描いてみます。
SDL_SetRe ...画像を拡大・縮小する時の補間処理

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

SDL2 で画像を表示するには、ビットマップを読み込んで、サーフェスを作成し、テクスチャに変えます。そして、renderer を使ってコピーします。
SDL2 だけであれば、bmp ファイルを扱えます。それ以外のファイ ...
スクリーンセーバーもどき

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

塗りつぶした楕円は、回転させなければ、円の塗りつぶしと同様に描くことができます。
void fill_oval(SDL_Renderer *renderer, int sx, int sy, int a, int b, int ...SDL2 でスクリーンショットを取る

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

楕円を回転して描画させたいと思います。
楕円もともと、上のような楕円を回転させます。例えば、45° 回転させた下のような楕円を描画できるようにします。
45°回転させた楕円原点を中心としてある点 (x, ...
SDL2 で楕円を描く

今度は楕円形を書いてみたいと思います。
下の図のような楕円形を考えます。
楕円この楕円の方程式は以下のようになります。
楕円の方程式円と同様に、x から y を求めると以下の計算になります。 ...