ザビタン開発日記
2009 | 01
2008 | 01 | 02 | 06 | 12
2007 | 10 | 11 | 12
12月 14 (金曜日) 2007
11:32
なんぴとたりとも俺の前を走らせねぇ
 
田んぼチャージャー・・・・ (ボソっ)

えっとぉ〜。ちょーっと問題が出てしまったでゴンス。

今のBBLはシートの重ね順がはりぼてと違う(つーか、追加されてる)
そのための除外処理が甘かったようだなぁ。


sht_mouse ←なにがどうなっても最上位にいないといけない
sht_menu ←なにがどうなってもこの位置に
sht_tbar ← 〃

さまざまなシート

sht_back ←なにがどうなっても最下位にいないといけない

しかし、今の状態だと新しいアプリを起動したりした時(新しいシートというかウィンドゥが加わった時)この順列が狂ってしまう。
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
 
30日を過ぎたBlogにはコメントできません。
(1) 2 3 4 5 6 7 8 9 10 » 

PopnupBlog V3 Denali created by Bluemoon inc.