ページへ戻る

− Links

 印刷 

blike​/man​/p0002 のバックアップ差分(No.4) :: OSASK計画

osaskwiki:blike/man/p0002 のバックアップ差分(No.4)

« Prev[4]  Next »[5]
3: 2011-03-08 (火) 22:12:05 名無しさん[C1tKa0P8FJM] ソース[6] 4: 2011-03-09 (水) 11:44:03 k-tan[7] ソース[8]
Line 2: Line 2:
* 上級者向けのblikeマニュアル(2) [#cd17d333] * 上級者向けのblikeマニュアル(2) [#cd17d333]
-(by [[K]], 2011.03.08) -(by [[K]], 2011.03.08)
--C言語の文法が分からないという人を対象にはしていません。そういう人は[[blike/intro]]へ。+-このページはC言語の文法が分からないという人を対象にはしていません。そういう人は[[blike/intro]]へ。
-ドライバ開発者向けの情報は[[blike/drv]]にあります。 -ドライバ開発者向けの情報は[[blike/drv]]にあります。
Line 80: Line 80:
-[01f以降] srand(int s) -[01f以降] srand(int s)
--乱数のパターンを指定する。 --乱数のパターンを指定する。
- 
-* ドライバ関数群 [#r913b417] 
--[01f以降] 各OSのmain関数 
---この関数は、ドライバに必要な初期化を行って、さらに bl_init(); で blike の内部を初期化したのち、 blMain(); を呼び出す。 
---もし blMain(); から帰ってきた場合は、アプリの終了が期待されているので、速やかにドライバの終了処理や bl_exit(); で blike の内部の終了処理を完了させたのち、アプリそのものをそのOSのやり方で終了する。現状では終了コードは渡されないので、常に正常終了でかまわない。 
- 
--[01f以降] void *bld_malloc(unsigned int bytes) 
---この関数は、そのOSにおけるメモリ確保を期待している。確保に失敗した場合は NULL (0) を返してほしい。 
- 
--[01f以降] void bld_free(void *p, unsigned int bytes) 
---この関数は、そのOSにおけるメモリ開放を期待している。bytesは確保時と同じ値を渡すので、必要であれば利用してよい。 
- 
--[01f以降] void bld_openWin(int sx, int sy) 
---この関数は、そのOSにおけるウィンドウオープンを期待している。sxは160以上、syは1以上を blike 側で保障する。 
---ウィンドウに表示してほしいグラフィックのイメージバッファは、 bl_work.win[BL_SYSWIN].buf で参照できる(これは int * 型)。したがって、 int の配列で不都合がないのなら、ドライバ側でウィンドウのイメージを確保する必要はないだろう。 
---sxやsyについても、 bl_work.win[BL_SYSWIN].xsiz, bl_work.win[BL_SYSWIN].ysiz を参照すればいつでも得られるので、ドライバ側で保存する必要はないだろう。 
- 
--[01f以降] void bld_flshWin(int sx, int sy, int x0, int y0) 
---この関数は、イメージバッファ内の指定された範囲のフラッシュを期待している。sxやsyが0以下になるとか、画面外のピクセルが含まれてしまうなど、そういうやっかいなパラメータを渡すことはないので、その辺はドライバ関数が心配する必要はない。 
---setMode(BL_DBGFLSH); では、不正なカラーコード(0x000000未満とか0xffffffより大きいとか)を渡さないようになっている。リリースモードの場合は、チェックを省略しているので、もしかしたら渡してしまうかもしれないが、しかしとりあえず常に不正なカラーコードが来ることはないと仮定していいと思われる。 
----デバッグが完了しないうちにリリースモードを指定するほうがおかしいので。 
« Prev[4]  Next »[5]