* 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