ザビタン開発日記
2009
| 01
10月 17 (水曜日) 2007 | ||
09:39
|
コンソールの位置と大きさ
|
|
ニセタスクバーを上にもっていっちゃったせいで、最初に表示される
コンソールとかぶってしまうようになりました。 また、当分は800x600でやっていきますが、それだとちょっとこの コンソールでは狭すぎですよね?80x24くらいにしたいなぁ・・・ そんなわけでさっそく改造! まずはコンソールの表示位置ね。 えーっと。これはどこでやってたっけかな・・・。 あったあった。bootpac.c内で key_win = open_console(shtctl, memtotal); として呼んでいる。これが最初のコンソール。 そのすぐ下のあたり。ここで、マウスや初期コンソールなどのシートの位置を sheet_slideなどで調整しているね。 sheet_slide(key_win, 32, 4); これを書き換えれば最初の位置が変更できる。 sheet_slide(key_win, 32, 32); とりあえずこんなもんでいいかな。 次にコンソールの大きさ。これはどこでやってるのかな。 ???あれれれ? open_console関数内で決めうちしてるのかな?これ?? sheet_setbuf(sht, buf, 256, 165, -1); /* 透明色なし */ とりあえずこの辺の数字をいろいろといじってみる・・・ ふむ・・・・単にここいらへんの数字を変えただけではいろいろとズレが 生じちゃうよね?ここは一発、open_console関数の復習と逆説で考えてみよう。 まず、オイラの目的は80x24のコンソールがほしいわけ。 そうなると単にウィンドゥの大きさだけじゃない。その大きさの テキストボックスが収まる窓が必要。これを逆に計算してみると・・・ 標準状態:30x8文字で240x128(文字が8x16だからね) 欲しい状態:80x24文字だから640x384。 さらにウィンドゥの部品が覆うので高さが+37、幅が+16となるから ウィンドゥの大きさは656x421とこうなるわけね。 open_console内の各数字をこれに合わせてみる・・・
・・・・おぉぉ! ひろーーいコンソールが!できたーーー! ダメじゃん!!!!!!! これ、わかります? ウィンドゥは広くなってるけど、コンソール部分は前と同じ大きさ のままなんですよ〜?(T T) これじゃまるで、旅館の大広間で3人だけ朝食喰ってる状態じゃないですか!! えーーーっと、この辺の制御はどこだったかな・・・ むむむーーーーー!!!! これはconsole.c内。でも、幅や高さをみな決め打ちで行ってますねぇ・・・ こりゃ大幅な改造・・・いや! むしろ引数、いやさ、せめて定数かなんかに改造しておかないと大変だぞおぉぉ!!!(汗 リビジョン8
|
||
(1) 2 3 4 5 6 7 8 9 10 »  |
PopnupBlog V3 Denali created by Bluemoon inc. |