Columns UI用のパネルを配置するためのsplitter。ボーダーなしや、パネルを重ねたりなど少しは自由度の高い設定が出来る。(Release.txtより)http://foo2k.chottu.net/で配布されている。
foo_uie_panel_splitter.dllをcomponentsフォルダに入れ、Columns UIのLayoutタブでSplitter>Panel Stack Splitterを選択、配置する。
OPTIONSで複数の設定を指定する場合、区切り文字には半角スペースを使う。
$font(name,size,OPTIONS)
フォント設定
$drawstring(text,x,y,W,H,r-g-b-a,RESERVED)
文字列描画関数
$drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS)
矩形描画関数
$gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS)
矩形内をグラデーションで塗りつぶす描画関数
$drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED)
角を丸めた矩形描画関数
$drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED)
$imageabs(x,y,w,h,path,OPTIONS,n)
座標(x,y)にサイズ(w,h)で pathで指定される画像を表示する。 最初にTFが評価されたとき(起動時など)のサイズ(w,h)にリサイズしてメモリ上にキャッシュする。 メモリ上にキャッシュした後で参照されなくなった画像は、速やかにメモリ上から削除される。 次に同じpathで画像が参照されれば、すべてメモリ上のリサイズ済み画像を使って表示する。 w,hが省略されると、オリジナルのサイズでキャッシュする。 メモリにキャッシュした画像については、$getimagewidth(path),$getimageheight(path)が使える。
この関数は、毎回画像ファイルをHDDに読みにいくことを回避したり、処理速度を上げる目的で使用する。 リサイズに関する処理が気にいらなければ、drawimageを使うこと。 普通はこっち使っておけば問題ないはず。
$imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n)
リサイズ後クリップして画像を表示する関数。pathで指定される画像をサイズ(rw,rh)にリサイズ後に、その領域(srcx,srcy,srcw,srch)を座標(x,y)にサイズ(srcw,srch)で 表示する。
$getimagewidth(path), $getimageheight(path)
pathで指定される画像が$imageabs $imageabs_rcもしくは $imagebuttonでメモリにキャッシュ中の画像であれば、そのリサイズ済みの水平幅、垂直幅を返す。
$drawimage(x,y,w,h,path,OPTIONS,n)
$findfile(path)
path(ワイルドカード可)で指定されるファイルが存在すれば、最初に見つかったファイルのパスを返す。ファイルが無ければ何も返さない。
$setparcentmode(bx,by,bw,bh)
座標の指定モードを設定する。ウィンドウの表示領域が(0,0) ~ (%_width%, %_height%)であるところを、パーセント値指定モードでは、(0,0) ~ (100,100)にマッピングする。 x,y,w,h個別に設定できる。x,y,w,hのいずれかを引数にもつ関数すべてに影響を及ぼす。
$textbutton(x,y,w,h,text,mover_text,command,options1,options2)
command_pathで指定されるメニューコマンドを実行する。 COMMAND:View/Equalizerや、 COMMAND:File/Preferences;COMMAND:Playback/Play というように指定する。 command_pathもTFとして評価されるので注意 COMMAND:'View/Equalizer'としておくのを推奨。
context_pathで指定されるコンテキストメニューコマンドを実行する。 コンテキストメニューの処理対象は現在の再生トラック。 CONTEXT:Propertiesみたいに指定する。 context_pathもTFとして評価されるので注意
ウィンドウサイズを(cx,cy)にする。 Splitter風情が、ウィンドウサイズを変更していいかは微妙。
captionがcapである子パネルの表示/非表示を切り替える。 sh 0 非表示 1 表示 -1 表示/非表示のトグル
Per Trackのtitleformatのモードを変更する。 mode 0 nowplayingモード 1 follow curosrモード -1 トグル
TFのPerTrack, PerSecondを更新する。
特にCOMMANDとWINDOWSIZEが指定される場合、WINDOWSIZEの方がおそらく先に実行される。COMMAND,CONTEXT同士だと、順序が保証されるかも。
$imagebutton(x,y,w,h,path,mover_path,command,options1,options2)
画像ボタンを作る。Per Trackのみ有効。 Per Secondには記述しないこと。画像の内部処理としては$imageabsと扱いが等しく、メモリ上にキャッシュされる。 w,hが省略されると、pathで指定される画像のオリジナルサイズになる。commandはtextbuttonと共通。
GDIで描画する。 シンプルだけど処理が軽い場合がある。(特にWindowsXP)
$drawtext(text,x,y,W,H,r-g-b,RESERVED)
文字列描画関数
$drawtextex(text,x,y,W,H,r-g-b,OPTIONS)
GDI文字列描画関数2
$gettextwidth(text)
GDIで描画したときのテキストの水平幅を返す。
$gettextheight()
GDIで描画したときのテキストの垂直幅を返す。
$fillrect(x,y,w,h,r-g-b,RESERVED)
矩形塗りつぶし関数
$showpanel(i,sh),$showpanel_c(caption,sh)
パネルの表示、非表示変更関数
$movepanel(i,x,y,w,h),$movepanel_c(caption,x,y,w,h)
Force layout指定されたパネルのみ、座標(x,y) サイズ(w,h)に移動させる。
$getcaption(i)
子パネルリストでのi番目パネルに設定されているキャプションを返す。
$isvisible_c(caption)
パネルの表示状態を返す。(表示されていれば真、非表示なら偽)