ザビタン開発日記
2009
| 01
12月 14 (金曜日) 2007 | ||
17:37
|
扉を開いて
|
|
そーいえば、ウィンドゥの扱いがちょっと変化したのでapi_openwin関数をちょっと改良しないといけないなぁ・・・
えっと。現在は
・・・ふむ・・・こんな感じだよね? う〜む・・・レジスタが足りない・・・ おっし。じゃ、EBPを属性として、ビットごとにっていうことにしよっか。(つーかそれしかないでしょこれじゃ)
・・・こんなところかな・・・ おぉ! リザーブだって! なんかカコイイ!! ←バカ ・・・あ"〜・・・そっかぁ。バッファの扱いかぁ・・・・ 現在の状況だと、新しいmake_window関数はシステムとしてバッファのメモリを確保しちゃうんだ。 こりゃまずいよなぁ。アプリはあくまでもアプリ用のメモリ内でバッファを確保せんといかんわけで・・・ うーん・・・どーしよう・・・・ |
||
11:32
|
なんぴとたりとも俺の前を走らせねぇ
|
|
田んぼチャージャー・・・・ (ボソっ)
えっとぉ〜。ちょーっと問題が出てしまったでゴンス。 今のBBLはシートの重ね順がはりぼてと違う(つーか、追加されてる) そのための除外処理が甘かったようだなぁ。
しかし、今の状態だと新しいアプリを起動したりした時(新しいシートというかウィンドゥが加わった時)この順列が狂ってしまう。 bballがsht_menuの上に来たりしてはいけないのでする! えーっと・・・そうなると・・・ まず、はりぼてだと、構造体SHTCTL内に256個のsheets・sheets0があるよね。 shtctl_initで初期値を設定している。256個のsheets0に「未使用だよ」とマークし、さらにtopを-1としている。これがシートが一枚もないという状態。 sheet_allocで未使用のsheets0を探して使用中だよとマークして確保する。 しかしまだこの状態だと、この確保したsheets0の高さは-1。つまり非表示の状態。それだけしかやっていない。裏を返すと使用中にシートが何枚あろうと、表示していない限りはtopは-1のまんま。 出来上がったsiheets0を、sheet_updown関数に通すことで始めて表示が行われる。sheet_updown関数は高さの変更だけではなく、表示・非表示の制御も行っているのだ。 top変数もまた、この関数内で制御される。 ・・・っということは・・・・・ マウスやメニュー等、一度設定したらもう二度と高さが変更されないシート。これらが設定される前と後でtop変数の扱いを変えたらどうだろう?? ・・・いや。これはこれで。 それより、アプリ関係(つまりシステム以外)のウィンドゥの高さを専門にあつかう関数を新設してみた。どんなもんじゃろ・・・? リビジョン114
|
||
(1)  |
PopnupBlog V3 Denali created by Bluemoon inc. |