* rev2のAPIのマニュアル
-(by [[K]], 2014.06.19)
** (0)
-[上級]のところは当面は無視してください。サイズにこだわるときだけ気にする価値があります。

-MODE_COL3について:
 0:#000000:黒
 1:#ff0000:赤
 2:#00ff00:緑
 3:#ffff00:黄
 4:#0000ff:青
 5:#ff00ff:紫というかピンク?
 6:#00ffff:水色
 7:#ffffff:白
 (bgr形式になっています。)
--[上級] 7の代わりに-1を指定可能で、これにより0.5バイト短縮できます。
--[上級] 5や6や7は記述に1.0バイトを要します。それに対し、-1~4なら0.5バイトで済みます。
--[上級] 7の代わりに-1を指定可能で、これにより4ビット短縮できます。
--[上級] 5や6や7は記述に8ビットを要します。それに対し、-1~4なら4ビットで済みます。
-MODE_COL9について:
--rrrgggbbb形式で書いてください。
-MODE_COL15について:
--rrrrrgggggbbbbb形式で書いてください。
-MODE_COL24について:
--rrrrrrrrggggggggbbbbbbbb形式で書いてください。

** (1)
-0002:api_drawPoint(mod, c, x, y)
--画面に点を打ちます。
--modは以下が指定可能:
---0:MODE_COL3 : 8色モード、3ビットカラー。
---1:MODE_COL9 : 512色モード、9ビットカラー。
---2:MODE_COL15 : 32768色モード、15ビットカラー。
---3:MODE_COL24 : フルカラーモード、24ビットカラー。
---0:MODE_PSET : 通常の描画。
---4:MODE_OR : OR演算による描画。
---8:MODE_XOR : XOR演算による描画。
---c:MODE_AND : AND演算による描画。
--[上級] api_drawPoint(mod, R00, R01, R02); の形式に限り、特別な短縮形が用意されています(1.0バイト短くなる)。
--[上級] api_drawPoint(mod, R00, R01, R02); の形式に限り、特別な短縮形が用意されています(8ビット短くなる)。
-0003:api_drawLine(mod, c, x0, y0, x1, y1)
--画面に線を引きます。
--modは0002:api_drawPoint()と同じ
--[上級] api_drawLine(mod, R00, R01, R02, R03, R04); の形式に限り、特別な短縮形が用意されています(2.0バイト短くなる)。
--[上級] api_drawLine(mod, R00, R01, R02, R03, R04); の形式に限り、特別な短縮形が用意されています(16ビット短くなる)。
--[上級] xやyに-1を指定することができ、そのときは指定可能な値における最大値を意味します。
---例 api_drawLine(mod, c, 0, 0, -1, -1); 画面の左上から右下へ線を引けます。
-0004:api_fillRect(mod, c, xsiz, ysiz, x0, y0)
--画面に長方形を描画します。
--modは0002:api_drawPoint()と同じ
---modに0x20を加算すると、not-fillモードになり、drawRect()になります。
--[上級] api_fillRect(mod, R00, R01, R02, R03, R04); の形式に限り、特別な短縮形が用意されています(2.0バイト短くなる)。
--[上級] api_fillRect(mod, R00, R01, R02, R03, R04); の形式に限り、特別な短縮形が用意されています(16ビット短くなる)。
--[上級] xsizやysizに-1を指定することができ、そのときは指定可能な値における最大値を意味します。
---これをうまく使うと画面全体を簡単に指定できます。
--[上級] ysizに0を指定することができ、そのときは正方形モードとなって、ysiz=xsizとみなされます。
-0005:api_fillOval(mod, c, xsiz, ysiz, x0, y0)
--画面に円や楕円を描画します。指定された長方形領域に内接するように描画します。
--modは0002:api_drawPoint()と同じ
---modに0x20を加算すると、not-fillモードになり、drawOval()になります。
--[上級] api_fillOval(mod, R00, R01, R02, R03, R04); の形式に限り、特別な短縮形が用意されています(2.0バイト短くなる)。
--[上級] api_fillOval(mod, R00, R01, R02, R03, R04); の形式に限り、特別な短縮形が用意されています(16ビット短くなる)。
--[上級] xsizやysizに-1を指定することができ、そのときは指定可能な値における最大値を意味します。
--[上級] ysizに0を指定することができ、そのときは正円モードとなって、ysiz=xsizとみなされます。
-0010:api_openWin(xsiz, ysiz)
--画面の解像度を指定します。
--すべての描画命令に先立って実行する必要があります。画面背景色は黒(#000000)で初期化されます。
--このAPIを使わずに描画を始めることも可能で、その場合は api_openWin(640, 480); が自動で実行されます。
--[上級] ysizに0を指定することができ、そのときは正方形モードとなって、ysiz=xsizとみなされます。

** (2) 仕様に関するメモ
-[Q:0001] なぜMODE_COL3をrgb形式にしなかったのか?
--MODE_COL3をrgb形式にするかどうかはかなり悩みました。何が変わるのかというと、短い形式で記述できる色がどれになるのかということです。
---bgr:「紫」と「水色」が長い形式になる。
---rbg:「紫」と「黄」が長い形式になる。
--水色と黄色の使用頻度を検討して、bgr方式を採用しました。
--これにあわせてMODE_COL9~MODE_COL24もbgr形式にすることを検討しましたが、それはかえって分かりにくくてよくないと判断して、これらはrgb型としました。


* こめんと欄
#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS