なんか調子悪い

なんか調子悪いです。なんとなくですが、なんとなく、モチベーションが下がっています。
というのは、どうも本業の仕事の調子がいまいちということみたいです。


ここんところ、画面の構成についていろいろ考えていました。
ちょっと画面ちっこいよなぁ。と思いながら、どうすれば限られた画面の中に有効に情報を表示できるかぼんやりと考えていました。
とりあえず、ウィンドウサイズの変更でもサポートしてみるかと。。。
ただ単にウィンドウサイズを変更するだけだと、サーフェースの大きさは変更されないので、表示されている絵も、単純に拡大されていきます。
座標変換を単純にウィンドウサイズを基準にやっていたので、これだと、座標変換がぼろぼろ。
うーん。
んじゃサーフェースの大きさを変更するにはどーすればいいんだと、調べることしばらく。
どうも、デバイスに対してResetをかければいいらしい。
と、INVALIDCALLのエラーが返ってくる。なんでやねん。
うーん。
調べてみると、Resetに渡す引数にサーフェースの大きさが指定できるらしい。
でも、やっぱりINVALIDCALLが返ってくる。
これを固定にして、座標変換のところも固定の値を使えば。。。
ウィンドウサイズを変更すると、それにあわせて画面の絵が拡大される。
が、
ウィンドウが正方形から長方形に大きさを変更されると、絵もひずめば、字もひずむ。
Resetに渡す引数にウィンドウの大きさを渡せば、座標変換は今ままでどおりで、表示する範囲を広げられる。
でも、INVALIDCALLが返ってきて、絵が出ない。
うーん。
Resetなんてまどろっこしいことしないで、デバイスを作り直したらどうでしょう。
ぜーんぶリリースして、ぜーんぶ作り直したら、、、ちゃんと動く。
うーん。
よくよく調べてみると、Resetするにはデバイスに関連付けられているリソースを解放することとある。次はこれを試してみよう。。
ウィンドウのサイズをいろいろ考えている間に、ついでに、DirectXの画面の中に如何にしてスクロールバーを描画するかを考えていた。
スクロールバー描くの面倒なんだよなぁ。なんかいい手は無いかなぁ。
そういえば、DirectXのアプリでエディットボックス使ってる奴って結構あるよな。あれってどうやってるんだろうなぁ。
と、2001年10月号の C Magazineにそのような記事があるらしい。

読者投稿セレクト
DirectX 8.0による2Dプログラミング

うー。読みてぇ。どっかに落ちてないかな。

コメントを残す