DXライブラリ活用させていただいております。
フォントタイプの要望です。
いわゆる「影付き」「ドロップシャドウ」の様な物を追加していただけないでしょうか。
DX_FONTTYPE_EDGE : エッジつきフォントは文字の外周に厚みがつきますが、
その厚みを一方向のみ(一般的には右下方向?)の物が欲しいです。
外周に厚みのついたエッジ付きは、個人的にゴツイ感じがするので……。
そして影の部分なのですが
フォントタイプにアンチエイリアスが使えると言うことは
DXライブラリ内部でもつフォント描画に使用するデータ(テクスチャ?)は
アルファチャンネル付きなのですよね?(ARGB8?)
と言うことは、影付き+影のアルファ値指定なんてものも出来たりするのでしょうか??
影が半透明だと見た目的にも綺麗ですし。
エッジの色が後から変更出来るので
フォントデータとエッジの厚み部分は別になっているのでしょうか。
そのあたりの内部構造まではよくわからないのですが
影の色設定としてGetColorU8とか使えばアルファ値付きの影の色の設定とか
出来たりもするのかなとか思ったりしたもので。
具体的には
// 影描画
SetDrawBlendMode(DX_BLENDMODE_ALPHA, 128);
DrawString( 100+2, 100+2, str, GetColor( 0,0,0 ) ) ;
SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0);
// 文字本体描画
DrawString( 100, 100, str, GetColor( 255,255,255 ) ) ;
の描画結果の様なものがフォントタイプとして欲しいということになります。
上記の方法ですとBlendModeの変更コストが気になるところだったりするのですが
フォントタイプとしてあればDX_FONTTYPE_EDGE系のコストと
ほぼ等価のコストのみで利用できると思われますし。
何より影付き用のフラグやら設定を追加した文字描画系ラッパを作らなくても良くなりすっきり。
というのと、フォントタイプ設定のみでエッジ付きと影付きを排他的に扱える等のメリットもあったりするので。
エッジ付きの一形態として、厚みの付けの方向が右下のみと解釈すれば
従来のEdgeColor(=影の色)やEdgeSize(=何ピクセルずらすかのoffset値的なもの?)の様な感じで
設定をそのまま使えるので大勢に影響は無いと思います。
ご一考いただければ幸いです。