====== 画像・HTML表示 ======
[[erabasicリファレンス|リファレンストップ]] · [[erabasicリファレンス_総索引|名前の総索引]]
画像・描画、HTML表示、ツールチップ、リソース指定を調べます。
===== 命令の説明 =====
==== PRINT_IMG <文字列式> ====
行中に指定した画像を表示します。\\
HTML_PRINT命令の テキストタグに相当します。\\
==== TOOLTIP_SETCOLOR <数式>, <数式> ====
ツールチップの前景色及び背景色を0xRRGGBB形式の数値で設定します。\\
指定にR,G,B値や文字列を使いたい場合はCOLOR_FROMRGBやCOLOR_FROMNAME関数を使用してください。\\
==== TOOLTIP_SETDELAY <数式> ====
ツールチップが表示されるまでの時間をミリ秒単位で設定します。\\
ディフォルトは500(ミリ秒)、最大値は32767です。\\
==== TOOLTIP_SETDURATION int msDuration ====
以下、私家改造版更新履歴より、\\
○ツールチップの表示時間を設定する命令TOOLTIP_SETDURATIONを追加
書式:TOOLTIP_SETDURATION [表示時間(ms)]
内容:ツールチップの最大表示時間を[表示時間(ms)]に設定
引数:[表示時間(ms)]:0以上の整数値 0の場合デフォルトの挙動になります、後タイマーの特性上極端に短い時間は想定通りに動かないかもねー
==== HTML_PRINT <文字列式> ====
htmlっぽいタグを利用してPRINTする命令です。\\
引数がPRINTのような文字列ではなくPRINTSと同じ文字列式でり、自動的に改行するので実際はPRINTSLの動作に近いです。\\
HTML_PRINTによる描画はALIGNMENT、SETFONT、COLOR、FONTSTYLE命令とその類似命令の影響を受けません。\\
これらの効果を得るには全てタグで指定する必要があります。\\
HTML_TAGSPLIT <文字列式>(, <数値変数>, <文字列変数>)\\
対象文字列をHTML文字列と解釈し、タグと平文に分割して分割数をRESULTに、分割後文字列をRESULTSに代入します。\\
第二、第三引数が指定されている場合、RESULT、RESULTSの代わりに指定された変数に代入します。\\
分割処理中にエラーが生じた場合、RESULTに-1が代入されます。\\
HTML_TAGSPLITはタグの内容や対応関係の適否までは検証しません。\\
分割数がRESULTSの配列サイズを超えた場合、超えた分はRESULTSに代入されません。\\
==== GCREATE int ID, int width, int height ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したサイズで指定したIDのGraphicsを作成します。\\
GraphicsのIDは0以上の整数、width、heightは1以上8192以下の間の整数値でなければなりません。\\
引数がこの範囲を外れるとエラーです。\\
作成に成功した場合、非0を返します。\\
指定したIDのGraphicsが既に作成されている場合、0を返します。\\
Graphicsを作り直す場合はGDISPOSE命令で既存のGraphicsを廃棄してください。\\
==== GCREATEFROMFILE int ID, str filepath ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
resourcesフォルダ内の画像ファイルを相対パスで指定し、その画像を開いてGraphicsを作成します。\\
resourcesフォルダ内のcsvファイルでリソースを宣言した場合と異なり、画像ファイルはロックされません。\\
作成に成功した場合、非0を返します。\\
指定したIDのGraphicsが既に作成されている場合はGraphicsの作成に失敗し、この命令は何もせずに0を返して終了します。\\
ファイルが存在しない、画像として認識できない、ファイルのサイズが大きすぎる、などで失敗した場合も0を返します。\\
==== GDISPOSE int ID ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsを廃棄します。\\
廃棄に成功した場合、非0を返します。\\
指定したIDのGraphicsが未作成(廃棄済の場合を含む)の場合、0を返します。\\
GCLEAR int ID, int cARGB\\
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsの全域を指定した色で置き換えます。\\
処理に成功した場合、非0を返します。\\
ID又は色指定が不適切な場合はエラーになります。\\
==== GFILLRECTANGLE int ID, int x, int y, int width, int height ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsに(x, y, width, height)で指定した四角形を描画します。\\
処理に成功した場合、非0を返します。\\
描画の色はGSETBRUSH命令によってあらかじめ指定しなければEmueraコンフィグの文字色で描画されます。\\
==== GDRAWG int destID, int srcID, int destX, int destY, int destWidth, int destHeight, int srcX, int srcY, int srcWidth, int srcHeight ====
==== GDRAWG int destID, int srcID, int destX, int destY, int destWidth, int destHeight, int srcX, int srcY, int srcWidth, int srcHeight, var cm ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したdestIDのGraphicsに、指定したsrcIDのGraphicsを描画します。\\
描画先destのGraphicsの位置及びサイズを4つの整数で、描画元srcのGraphicsの位置及びサイズを4つの整数で指定します。\\
オプションとして、5x5以上の二次元数値配列をcmとして指定することでカラーマトリクスを適用して描画します。\\
colorMatrixは全要素を1/256にして.Net FrameworkのColorMatrixクラスに渡されます。つまり、対角がすべて256である5x5行列が単位行列になります。\\
処理に成功した場合、非0を返します。\\
描画先Graphics又は描画元Graphicsのいずれかが未作成であるなどの場合、0を返します。\\
描画先と描画元Graphicsは同一でも実行可能です。\\
==== GDRAWGWITHMASK int destID, int srcID, int maskID, int destX, int destY ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したdestIDのGraphicsに、srcIDのGraphicsを、maskIDのGraphicsをマスクとして適用して描画します。\\
出力先destIDのGraphics内の描画位置をdestX, destYで指定します。\\
処理に成功した場合、非0を返します。\\
srcIDとmaskIDの幅及び高さが完全に一致すること、描画領域がdestIDからはみ出さないことが成功の条件です。\\
マスクとして適用して描画するとは、具体的には、マスク画像の青の値を不透明度としてソース画像に適用して描画することです。\\
例えば、マスク画像が完全に白一色(つまり全部の場所で青色がMAX)の場合、ソース画像はマスクなしの場合と同様にそのまま描画されます。\\
マスク画像が完全に黒一色(つまり全部の場所で青色が0)の場合、ソース画像は完全透明として扱われ何も起きません。\\
この命令の処理はGPUではなく、CPUがシングルスレッドで解決します。速度には期待しないでください。\\
==== GDRAWSPRITE int ID, str sprName ====
==== GDRAWSPRITE int ID, str sprName, int destX, int destY ====
==== GDRAWSPRITE int ID, str sprName, int destX, int destY, int destWidth, int destHeight ====
==== GDRAWSPRITE int ID, str sprName, int destX, int destY, int destWidth, int destHeight, var cm ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsに指定したsprNameのSpriteを描画します。\\
オプションとして、Graphics内部の位置をdestX,destYで指定することでその位置にSpriteを描画します。\\
また、描画幅及び高さをdestWidth,destHeightで指定することでそのサイズに拡大又は縮小してSpriteを描画します。\\
さらに、cmに5x5の行列を指定することでカラーマトリクスを適用して描画します。\\
なおSpriteのサイズはSPRITEWIDTH(str imgName), SPRITEHEIGHT(str imgName)関数で取得できます。\\
処理に成功した場合、非0を返します。\\
アニメーションスプライトを指定した場合、実行時のフレーム1つが描画されます。\\
==== GSETCOLOR int ID, int cARGB, int x, int y ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsの指定位置のピクセルを指定した色に置き換えます。\\
処理に成功した場合、非0を返します。\\
この命令はそれほど高速ではありません。\\
GGETCOLOR命令と合わせて大きな画像の全体を書き換える試みは実用的な時間内には終わりません。\\
==== GSETBRUSH int ID, int cARGB ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsに指定した色のブラシを設定します。\\
指定したブラシはGDISPOSE命令でGraphicsが破棄されるまで記憶されます。\\
処理に成功した場合、非0を返します。\\
ここで設定した色のブラシがGFILLRECTANGLE命令で使用されます。\\
==== GSETFONT int ID, str fontName, int fontSize ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsに指定した名前およびサイズのフォントを設定します。\\
指定したフォントはGDISPOSE命令でGraphicsが破棄されるまで記憶されます。\\
処理に成功した場合、非0を返します。\\
設定したフォントを利用する命令・関数はバージョン1.824現在には存在しません。\\
==== GSETPEN int ID, int cARGB, int penWidth ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsに指定した色及び幅のペンを設定します。\\
指定したペンはGDISPOSE命令でGraphicsが破棄されるまで記憶されます。\\
処理に成功した場合、非0を返します。\\
設定したペンを利用する命令・関数はバージョン1.824現在には存在しません。\\
==== GCREATED int ID ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsが作成済みであるなら1を、未作成(廃棄済を含む)なら0を取得します。\\
==== GWIDTH int ID ====
==== GHEIGHT int ID ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsの幅または高さを取得します。\\
Graphicsが未作成(廃棄済を含む)なら0を返します。\\
==== GGETCOLOR int ID, int x, int y ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsの指定位置の色を0xAARRGGBB形式の整数値で取得します。\\
Graphicsが未作成又は廃棄済み、あるいはx,yが画像外の位置であるなら-1を返します。\\
この命令のみ、失敗した場合に0ではなく-1を返すことに注意してください。\\
黒色かつ完全透明の位置の色を取得した場合に、この命令は0を返します。\\
==== GSAVE int ID, int fileNo ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
指定したIDのGraphicsの画像を、fileNoの番号を付けたファイル名でpng形式で出力し保存します。\\
処理に成功した場合、非0を返します。\\
==== GLOAD int ID, int fileNo ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
fileNoの番号を付けたファイル名の画像を開き、Graphicsを作成します。\\
動作としてはCREATEFORMFILE命令とほぼ同じですがresoucesフォルダ内の画像ではなくGSAVE命令で保存した画像から作成する点が異なります。\\
処理に成功した場合、非0を返します。\\
指定したIDのGraphicsが既に作成されている場合はGraphicsの作成に失敗し、この命令は何もせずに0を返して終了します。\\
==== SPRITECREATE str spriteName, int gID ====
==== SPRITECREATE str spriteName, int gID, int x, int y, int width, int height ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
gIDのGraphicsの一部または全部を元にして、spriteNameで指定したリソース名を持つスプライトを作成します。\\
(x, y, width, height)を指定することでGraphicsのその部分をスプライトとして切り取れます。\\
作成に成功した場合、非0を返します。\\
同じリソース名のスプライトが既に存在するなどで失敗した場合、0を返します。\\
スプライトは親GraphicsのIDと切取位置を記憶しているだけなので、親Graphicsに変更があるとスプライトも変更されます。\\
また、親Graphicsが破棄されるとスプライトも破棄された扱いになります。\\
作成したスプライトはresoucesフォルダ内のcsvで宣言したリソースとほぼ同様に扱うことができます。\\
例えばPRINT_IMG命令やHTML_PRINTのimgタグなどで使用できます。\\
==== SPRITEANIMECREATE str spriteName, int width, int height ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
spriteNameで指定したリソース名を持つ、width及びheightで指定したサイズのアニメーションスプライトを作成します。 作成に成功した場合、非0を返します。\\
同じリソース名のスプライトが既に存在するなどで失敗した場合、0を返します。\\
アニメーションさせるためにはSPRITEANIMEADDFRAME命令によってフレームを追加する必要があります。\\
アニメーションスプライトに関する注意点については、resoucesも参照してください。\\
==== SPRITEANIMEADDFRAME string spriteName, int gID, int x, int y, int width, int height, int offsetx, int offsety, int delay ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
spriteNameで指定したリソース名を持つアニメーションスプライトにフレームを追加します。\\
gIDで指定したGraphicsの(x, y, width, height)で指定した四角形の範囲をフレームとし、スプライト左上からoffsetx, offsetyの位置に配置します。\\
アニメーションスプライトの作成時に設定したサイズの範囲から外れた部分は描画されません。\\
delayにはこのフレームを表示する時間をミリ秒単位で指定します。\\
spriteNameのリソース名が存在しない、又はアニメーションスプライトでない場合はこの命令は失敗し、何もしません。\\
フレームの追加に成功した場合1を、失敗した場合は0を返します。\\
==== SPRITEDISPOSE string spriteName ====
spriteNameで指定したリソース名を持つスプライトを廃棄します。\\
廃棄に成功した場合、非0を返します。\\
この命令はスプライトの元となったGraphics等には影響しません。\\
Graphicsに割り当てられたメモリを解放するにはGDISPOSE命令を使用してください。\\
==== SPRITEGETCOLOR string spriteName, int x, int y ====
spriteNameで指定したリソース名を持つスプライトの指定位置の色を0xAARRGGBB形式の整数値で取得します。\\
spriteNameが未作成又は廃棄済み、あるいはx,yが画像外の位置であるなら-1を返します。\\
この命令のみ、失敗した場合に0ではなく-1を返すことに注意してください。\\
黒色かつ完全透明の位置の色を取得した場合に、この命令は0を返します。\\
==== SPRITECREATED str spriteName ====
指定した名称のスプライトが作成済みであるなら1を、未作成又は廃棄済みであるなら0を返します。\\
==== SPRITEWIDTH str spriteName ====
==== SPRITEHEIGHT str spriteName ====
指定した名称のスプライトの幅または高さを取得します。\\
スプライトが未作成又は廃棄済みであるなら0を返します。\\
==== SPRITEPOSX str spriteName ====
==== SPRITEPOSY str spriteName ====
指定した名称のスプライトの相対位置のX、Yを取得します。\\
スプライトが未作成又は廃棄済みであるなら0を返します。\\
相対位置のX、Yが0なのか未作成又は廃棄済であるのかの区別には別途SPRITECREATEDを呼び出してください。\\
==== SPRITESETPOS str spriteName, int posx, int posy ====
指定した名称のスプライトの相対位置のX、Yを設定します。\\
==== SPRITEMOVE str spriteName, int movex, int movey ====
指定した名称のスプライトの相対位置のX、Yに指定した値を加算します。\\
つまり、\\
SPRITESETPOS spriteName, SPRITEPOSX(spriteName) + movex, SPRITEPOSY(spriteName) + movey
と同等です。\\
==== CBGSETG int ID, int x, int y, int zdepth ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
IDで指定するGraphicsをクライアント領域に表示するように設定します。\\
(x, y)に0を指定した場合、クライアント領域の左下と画像の左下が一致するように表示されます。\\
xは右方向が正、yは下方向が正、zdepthは画面奥方向が正です。\\
zdepthは0以外の値を指定します。通常の文字描画がzdepth==0に相当し、zdepthが負であれば文字よりも手前に描画されます。\\
==== CBGSETSPRITE str spriteName, int x, int y, int zdepth ====
spriteNameで指定したリソース名を持つスプライトをクライアント領域に表示するように設定します。\\
(x, y)に0を指定した場合、クライアント領域の左下と画像の左下が一致するように表示されます。\\
xは右方向が正、yは下方向が正、zdepthは画面奥方向が正です。\\
zdepthは0以外の値を指定します。通常の文字描画がzdepth==0に相当し、zdepthが負であれば文字よりも手前に描画されます。\\
==== CBGCLEAR ====
CBGで始まる各種CBG系命令で設定した背景画像の設定を全て解除します。\\
==== CBGCLEARBUTTON ====
CBGSETBUTTONSPRITE命令で設定したボタンの設定を解除します。\\
==== CBGREMOVERANGE int zmin, int zmax ====
CBGSETG、CBGSETSPRITE、CBGSETBUTTONSPRITE命令で設定した画像のうち、Z深度がzmin以上zmax以下である画像を設定解除します。\\
==== CBGREMOVEBMAP ====
CBGSETBMAPG命令で設定したボタンマップの設定を解除します。\\
==== CBGSETBMAPG int ID ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
IDで指定するGraphicsをクライアント領域のボタンマップとして設定します。\\
ここで設定したボタンマップはCBGSETBUTTONSPRITE命令及びINPUTMOUSEKEY命令に影響します。\\
ボタンマップ画像は表示はされませんがCBGSETG命令で設定した画像と同様に画面左下と画像左下位置が一致するように配置されます。\\
マウスカーソル直下のボタンマップ画像の色が、ボタンの値として認識されます。\\
ただし、色のアルファ値が255でない(透明又は半透明である)ときにはボタンの値としては認識されません。\\
==== CBGSETBUTTONSPRITE int button, str spriteName, str spriteNameB, int x, int y,int zdepth ====
==== CBGSETBUTTONSPRITE int button, str spriteName, str spriteNameB, int x, int y,int zdepth, str tooltipmes ====
(※描画方法がGRAPHICS又はTEXTRENDERERのときのみ使用可能)\\
CBGSETBMAPG命令で設定したボタンマップと連動して選択可能なボタンを設定します。\\
マウス直下のボタンマップ画像の色の0xRRGGBB値が、引数buttonに等しい時に表示されるスプライトをspriteNameB、それ以外のときに表示されるスプライトをspriteNameに指定します。\\
spriteName又はspriteNameBは空文字列を指定することができ、そうした場合には非選択中又は選択中に何も表示しません。\\
x, y, zdepthについてはCBGSETSPRITEと同じです。基準位置(x,y) = (0,0)が画面左下と画像左下が一致する位置であることに注意してください。\\
オプションで当該ボタンを選択中に表示されるツールチップ文字列をtooltipmesで指定することができます。\\
同じbuttonの値に複数のCBGSETBUTTONSPRITEを割り当てることができ、また、ボタンの位置と一致する必要はありません。\\
そうした場合、ツールチップについては画像のxy位置とは関係なく、ツールチップ文字列が設定された中で最もzdepthが大きいもの(最先に描画され、最奥に見えるもの)の表示が優先されます。\\
spriteNameで指定したリソース名を持つスプライトをクライアント領域に表示するように設定します。\\
(x, y)に0を指定した場合、クライアント領域の左下と画像の左下が一致するように表示されます。\\
xは右方向が正、yは下方向が正、zdepthは画面奥方向が正です。\\
zdepthは0以外の値を指定します。通常の文字描画がzdepth==0に相当し、zdepthが負であれば文字よりも手前に描画されます。\\
==== SETANIMETIMER int time ====
アニメーションスプライト用にミリ秒単位で再描画間隔を指定します。\\
Emueraは通常はINPUT等の入力待ち中に再描画を行いません。\\
この命令で再描画間隔を設定することでINPUT等の入力待ち中に画像をアニメーションさせることができます。\\
なお、TINPUTなどの時間切れ処理のある命令中には再描画を行いません。\\
実際の描画間隔はコンピュータの状態により、指定した時間よりもやや遅れます。\\
したがって描画間隔をアニメーションのdelayの値と同じ値にすると頻繁にフレームが飛ぶことになります。\\
delayよりも十分に短い間隔を指定してください。\\
この命令はコンフィグの「フレーム毎秒」の項目とは無関係です。\\
また、REDRAW命令による再描画抑止の効果を受けません。\\
----
===== HTML表示と関連命令・関数 =====
ここではHTML_PRINT命令を始めとするhtml関連命令を解説します。\\
関連命令を使うことにより、htmlと類似した文法で表示内容を指定できます。\\
==== HTML_PRINT ====
htmlっぽいタグを利用してPRINTする命令です。\\
引数がPRINTのような文字列ではなくPRINTSと同じ文字列式であり、自動的に改行するので実際はPRINTSLの動作に近いです。\\
HTML_PRINTによる描画はALIGNMENT、SETFONT、COLOR、FONTSTYLE命令とその類似命令の影響を受けません。\\
これらの効果を得るには全てタグで指定する必要があります。\\
<タグ名 属性='属性値'>テキストタグ名>という形で使用します。\\
属性値は'〜'または"〜"で囲う必要があります。\\
Emueraにおける文字列との区別のために、'〜'で囲うことを推奨します。\\
=== p ===
pタグは文字列の前にのみ置くことができ、
テキスト
PRINTSINGLE命令による描画に相当します\\
このタグをつけると描画領域を越えたことによる暗黙の改行が行われなくなります(
テキスト
改行します。\\
この効果は表示行の改行なのでいくつ
テキスト
buttonは囲った部分のテキストをクリック可能なボタンにします。\\
nonbuttonは囲った部分のテキストをボタンでないテキストとして表示します。\\
:value属性|buttonにのみ指定できます。\\ valueを省略した場合、クリック不可の
テキスト
囲った部分のフォント、表示色、ボタンの選択中表示色、を変更します\\
このタグは入れ子にすることができます\\
:face属性|フォント名を指定します。空文字列を指定した場合、コンフィグで指定されたフォントになります。\\ 指定されたフォントが存在しないかサポートされない場合、「Microsoft Sans Serif」が代わりに使用されます。\\ (これは .Net FrameworkのSystem.Drawing.Fontクラスの仕様によります)\\
:color属性|テキストの表示色を指定します。\\ 色指定は'#FF0080'のような16進数形式か'red'、'blue'のような単語形式で指定します。\\ 色名は.Net FrameworkのColor構造体の定義色に準じます。\\ ただしTransparentは色名として指定できません。\\
:bcolor属性|ボタンの選択中表示色を指定します。\\
=== b, i, u, s ===
太字, イタリック, アンダーライン, 打消し線
囲った部分の文字をそれぞれ太字、イタリック、アンダーライン付、打消し線付にします\\
=== img ===
行内に画像を表示します。\\
画像を準備する方法はリソース設定を参照してください。\\
:src属性|必須\\ resourcesフォルダのcsvに指定したリソース名を指定します\\ heightやwidthを指定しない場合、縦横比を維持したまま、縦幅がフォントサイズと一致するように縮小又は拡大して表示されます。\\ 描画インターフェイスがWINAPIの場合、アルファブレンドは行われません。\\
:srcb属性|resourcesフォルダのcsvに指定したリソース名を指定します\\ srcbにはボタン選択時に表示されるべきリソース名を指定します。\\ 省略した場合srcと同一画像が使われます。\\ 画像はsrcと同じサイズに縮小又は拡大して表示されます。\\
:height属性|表示サイズの縦幅をフォントサイズに対する%で指定します。省略すると100です。\\ 負の値を指定した場合、画像を縦に反転して表示します。\\
:width属性|表示サイズの横幅をフォントサイズに対する%で指定します。省略すると0です。\\ 0の場合、元画像の縦横比を維持する値になります。\\ 負の値を指定した場合、画像を横に反転して表示します。\\
:ypos属性|表示位置の縦軸位置をフォントサイズに対する%で指定します。省略すると0です。\\ 「行の高さ」ではなく「フォントサイズ」が基準であることに注意してください。\\ 横軸位置の調整には
行中に指定した図形を描画します。\\
:type属性|必須\\ 描画する図形のタイプを指定します。\\ rect又はspaceが使用可能です。\\
* type='rect'\\
長方形を描画します。\\
paramには1又は4つの数字を指定します。\\
paramが1つのとき長方形の横幅を指定します。\\
html解釈にあたり、で囲われた文字は無視されます\\
===== 関連命令 =====
==== HTML_TAGSPLIT <文字列式>(, <文字列変数> , <数値変数>) ====
対象文字列をHTML文字列と解釈し、タグと平文に分割して分割数をRESULTに、分割後文字列をRESULTSに代入します\\
第二、第三引数が指定されている場合、RESULTS、RESULTの代わりに指定された変数に代入します。\\
分割処理中にエラーが生じた場合、RESULTに-1が代入されます。\\
HTML_TAGSPLITはタグの内容や対応関係の適否までは検証しません。\\
分割数がRESULTSの配列サイズを超えた場合、超えた分はRESULTSに代入されません。\\
例えば、\\
HTML_TAGSPLIT "あいう
"
であれば、\\
RESULTS:0 =
RESULTS:1 = あ
RESULTS:2 =
RESULTS:3 = い
RESULTS:4 =
RESULTS:5 = う
RESULTS:6 =
RESULTS:7 =
RESULT = 8
と解体されます。\\
===== 関連関数 =====
==== str HTML_POPPRINTINGSTR() ====
現在PRINT中で改行待ちの文字列バッファをHtml形式で取得し、バッファを空にします\\
pタグはつかないのでALIGNMENT命令によるalignは反映されません。\\
==== str HTML_GETPRINTEDSTR(int lineNo) ====
表示済みのラインのうちlineNoで指定した行の内容をhtml形式の文字列として取得します。\\
行の数え方はLINECOUNTやCLEARLINE命令と同じです。\\
==== str HTML_ESCAPE(str value) ====
対象の文字列をHtml向けにエスケープ(文字参照に変換)します。\\
アンエスケープにはHTML_TOPLAINTEXT関数を使用します。\\
==== str HTML_TOPLAINTEXT(str value) ====
対象のhtml文字列をプレーンテキストに変換します。\\
具体的には、文字列からhtmlタグを削除し文字参照を展開します。\\
----
===== 画像・リソースファイルの指定 =====
ここではEmueraで画像を表示するためのリソースファイルの準備方法を解説します。\\
リソースファイルは実行ファイルのあるフォルダにresourcesフォルダを作成しその中に置きます。\\
ファイルはresourcesフォルダ内であればサブフォルダにおいてもかまいません(1.823以降)。\\
==== リソース指定ファイル(csv) ====
resourcesフォルダにcsv形式のテキストを置くとリソース指定ファイルとして読み込まれます。 書式は以下の通りです。\\
;コメント行
リソース名A,元ファイル名, x, y, width, height, posx, posy
リソース名B,元ファイル名, x, y, width, height, posx, posy
> \\
> リソース名C,ANIME, width, height\\
> リソース名C,元ファイル名, x, y, width, height, posx, posy, delay\\
> リソース名C,元ファイル名, x, y, width, height, posx, posy, delay\\
* コメント行
セミコロンで始まる行はコメント行として無視されます。\\
* スプライト
> リソース名A,元ファイル名, x, y, width, height, posx, posy\\
上記の形式により"リソース名A"を持つスプライトを作成できます。\\
リソース名は
HTML_PLINT "あいうえおかきくけこ"
「<div xpos='500' ypos='-1000'><div width='1000' height='300'>hoge</div></div>」 のように、入れ子で記述することも可能。\\
* 属性[xpos = 'int' / ypos = 'int']
* 出力される文字列等の位置がintの数だけ移動する。
* 移動量はフォントサイズに依存しており、フォントサイズのint%となる。つまり100を指定することで全角1文字分移動する。
* '100px'のようにpxをつけて指定した場合はピクセル単位での距離指定となる。出力の情報自体は移動前の行で持っているので
* その行が見えない位置にスクロールされると出力された内容が消える。
* 属性[display = 'absolute-lefttop'][display = 'absolute-leftbottom'][display = 'relative']
* relativeはデフォルトの設定で、[xpos/ypos]が相対位置となる。
* absolute-lefttopは絶対位置指定で表示中の画面の左上を基準点とした位置から[xpos/ypos]で指定された位置に描画するようになる。
* absolute-leftbottomは左下が基準となる絶対位置指定となる。
* 絶対位置指定の最中はスクロールなどをしても追従せずに同じ位置に表示され続ける。
* 属性[background_color = '#XXXXXX']
* divのサブエリアの背景を任意の色に変更できる
* 属性[height = 'X']
* divのサブエリアの高さを定義する。これを定義にすることにより文字がない部分にも背景色等が及ぶ
* 高さはフォントサイズ単位で、pxを付けた場合はピクセル単位となる
* 属性[width = 'X']
* divのサブエリアの幅を定義する。これを定義にすることにより文字がない部分にも背景色等が及ぶ
* 幅はフォントサイズ単位で、pxを付けた場合はピクセル単位となる
* 属性[border_width = 'X']
* エリアの外周の太さXの枠線を引く。
* Xはフォントサイズ単位で、pxを付けた場合はピクセル単位となる
* 属性[border_color = '#XXXXXX']
* 枠の任意の色に変更できる
* 属性[padding = 'X']
* サブエリアの内周と文字の間の余白を定義する。この属性を定義しない場合、文字が外枠にほぼ密着するのに注意\\ Xはフォントサイズ単位で、pxを付けた場合はピクセル単位となる
* 属性[hover-background-color]
* この属性を宣言した<div>を<button>タグで囲んだ時、そのボタンにマウスカーソルを合わせると、<div>で指定した領域の背景色がこの色に変わる。
=== <font>タグ ===
* 属性[size]
* コンフィグのフォントサイズに対してX%のサイズで表示するようになる。\\ <font size='x'>の様に指定する。
* 表示する行の高さ自体は変わらないため、大きくした場合は前の行に被って来る事に注意。