ページへ戻る
印刷
gg00man/text
をテンプレートにして作成 ::
OSASK計画
osaskwiki
:gg00man/text をテンプレートにして作成
開始行:
* テキスト表示関係 [[GUIGUI00_man]]
#contents
***lib_opentextbox
struct LIB_TEXTBOX *
lib_opentextbox(int opt, struct LIB_TEXTBOX *textbox...
int x_size, int y_size, int x_pos, int y_pos,
LIB_WINDOW *window, int charset, int init_char) :
機能:ウィンドウにテキストボックスを貼る。
textboxを0にすると、自動的にmalloc(64 + x_size * y_siz...
そのアドレスを返す。textboxが0でなければ、返値はtextbox...
・opt == 0x1000 のとき
ウィンドウタイトル専用のテキストボックスを作ります(ウ...
つ必要です)。backcolorとx_posとy_posとinit_charは必ず0...
どのウインドウのタイトルであるかを指定するためのもので、...
を指定してください。y_sizeは必ず1です。それで、x_sizeに...
文字数を入れます。ここで一つルールがあり、x_sizeは(ウィ...
以下の値にしなければいけません。長いウィンドウタイトルを...
が満たされるようにウィンドウサイズを大きくしておく必要が...
この関係式はもっと分かりやすくかけます。以下の不等式が...
決定してください。
タイトルのx_size * 8 + 80 <= ウィンドウのx_size
・opt == 0 のとき
一般のテキストボックスを作ります。backcolorとinit_char...
ず0xc0です。x_sizeとy_sizeはテキストボックスの大きさです...
位で、1キャラクターは、横8ドット、縦16ドットです。x_pos...
どこにテキストボックスを貼り付けるかという指示です。テキ...
標をウィンドウ内座標で示します。単位はドット単位です。た...
定しなければいけません(これは将来のOSASKでは解消される...
ういう制限はありません。windowでどのウィンドウにそのテキ...
るかを指定します。やはり、lib_openwindow()の返値を指定し...
、テキストボックスがウィンドウからはみ出さないようにして...
クスは1つのウィンドウにいくつでも付けられますが、テキス...
は許されません。
ウィンドウタイトル用のテキストボックスでなければ、char...
ラクタセットを指定することも可能。この場合、空白に相当す...
に指定すること。
参考になるサンプル:helloc4(introa)
***lib_putstring1
void lib_putstring1(int opt, int x, int y, struct LIB_TE...
int color, int backcolor, int base, int length, unsi...
機能: テキストボックスに文字列を書き込む。改行や折り返し...
optはビットごとに意味がある。
bit0 (0x0001): 0だと文字の背景色はテキストボックス...
backcolorは0を渡すこと。
1だと文字の背景色としてbackcolorを使...
bit1 (0x0002): 0だとフォントは二色。
1だとフォントはカラー。このときcolor...
bit12-13 0x1000にすると、32bitのbase値+符号な...
使うという意味。ほかはCでは使いにく...
'むやみに0x0000にしないこと!'
bit14(0x4000): guigui00.hでは1に固定されている (マ...
x,yはテキストボックス中での座標。キャラクタ単位。
textboxはテキストボックスのポインタ。
color, backcolorは文字色と文字背景色。値域は0~15。
lengthは書き込む文字列の長さ。テキストボックスをはみ...
strは符号なし8ビット整数の配列へのポインタ。これにba...
テキストボックスにずらずらと書き込まれる。
基本: base=0, strにASCII文字列。
例:lib_putstring1(0x1000, 0, 0, wtitle, 0, 0, 0, 8, ...
応用: baseに'0', strに0~9の値など。
***lib_loadfontset
void lib_loadfontset(int opt, int slot, int len, void *f...
機能: ユーザ定義のフォント集合をスロットに割り当てる。
フォントは8x16 (または8x8) のドットパターンであり、...
フォントセットと呼ぶ。
slotはフォントセットを割り当てるスロット。一つ消費す...
numはフォント数。
fontはフォントセットのポインタ。
・opt==1
フォントは8x16のモノクロパターンである。1のビットが...
背景色となる。1バイト中では上位のビットが左。
(以下未完成)
参考になるプログラム: introc/fnttstc0.c
***lib_loadfontset0
void lib_loadfontset0(int opt, int slot) :
機能: システム内蔵フォントをスロットに割り当てる。
・opt=0x80000001
slotにANKフォントセットを割り当てる……というのが公式...
フォントセットはどう見てもANKのK (Kana) が含まれていな...
フォントが256個入ったフォントセットが割り当てられる。
(以下未完成)
参考になるプログラム: introc/fnttstc0.c
***lib_makecharset
void lib_makecharset(int opt, int charset, int fontset, ...
機能: フォントセットに含まれるフォントを文字集合空間にマ...
フォントセットに含まれるフォントの一部を文字集合空間...
実際にテキストボックスで使えるようにする。複数のフォン...
使う場合は、一連のスロットでマッピングして最後に終端を...
スロットを文字集合のスロットとしてopentextboxに与える。
optは0。fontset, charsetはスロット。
fontsetのfrom番からlen個のフォントを、文字集合charse...
割り当てる。
fontset = len = from = base = 0 にすると終端の定義と...
***lib_wsjis2gg00jpn0
lib_wsjis2gg00jpn0(len, sjis, gg00jpn, 0x400, 0x4e00) :
機能:シフトJISで書かれた文字列をOSASK自動拡張フォント向...
len:変換結果の長さで, 単位はダブルワードです。
sjis:変換前のシフトJISの文字列のポインタです。
gg00jpn:変換後文字列のポインタです。(たぶん・・)
***lib_loadfontset1
void lib_loadfontset1(0xc0ffffff, 0, int sig) :
機能:OSASKで拡張フォント(日本語全角とか、韓国語など)を...
結局はフォントを読み込んでいるだけです。読み込みが完了...
フォントの利用はsigがくるまで待っていてください。成功す...
しかし失敗は原則としてないので気にすることはありません(...
sigが返ってきたら、
lib_makecharset(0, slot, 0x0021, 0x1000000, 0, 0);
とすることで、slotに拡張フォントのキャラクタセットができ...
これはスロットを4つ使います。もちろん、キャラクタセット...
lib_makecharset(0, slot, 0, 0, 0, 0);
が必要です。文字コード(フォントコード)0~0xffffffは拡...
それ以降は自由に使えます。使わない場合も上記のターミネー...
参考になるプログラム:tviewc5cとか
(tviewc5cは http://koya.marokun.net/osask/download.ht...
* こめんと欄
#comment
終了行:
* テキスト表示関係 [[GUIGUI00_man]]
#contents
***lib_opentextbox
struct LIB_TEXTBOX *
lib_opentextbox(int opt, struct LIB_TEXTBOX *textbox...
int x_size, int y_size, int x_pos, int y_pos,
LIB_WINDOW *window, int charset, int init_char) :
機能:ウィンドウにテキストボックスを貼る。
textboxを0にすると、自動的にmalloc(64 + x_size * y_siz...
そのアドレスを返す。textboxが0でなければ、返値はtextbox...
・opt == 0x1000 のとき
ウィンドウタイトル専用のテキストボックスを作ります(ウ...
つ必要です)。backcolorとx_posとy_posとinit_charは必ず0...
どのウインドウのタイトルであるかを指定するためのもので、...
を指定してください。y_sizeは必ず1です。それで、x_sizeに...
文字数を入れます。ここで一つルールがあり、x_sizeは(ウィ...
以下の値にしなければいけません。長いウィンドウタイトルを...
が満たされるようにウィンドウサイズを大きくしておく必要が...
この関係式はもっと分かりやすくかけます。以下の不等式が...
決定してください。
タイトルのx_size * 8 + 80 <= ウィンドウのx_size
・opt == 0 のとき
一般のテキストボックスを作ります。backcolorとinit_char...
ず0xc0です。x_sizeとy_sizeはテキストボックスの大きさです...
位で、1キャラクターは、横8ドット、縦16ドットです。x_pos...
どこにテキストボックスを貼り付けるかという指示です。テキ...
標をウィンドウ内座標で示します。単位はドット単位です。た...
定しなければいけません(これは将来のOSASKでは解消される...
ういう制限はありません。windowでどのウィンドウにそのテキ...
るかを指定します。やはり、lib_openwindow()の返値を指定し...
、テキストボックスがウィンドウからはみ出さないようにして...
クスは1つのウィンドウにいくつでも付けられますが、テキス...
は許されません。
ウィンドウタイトル用のテキストボックスでなければ、char...
ラクタセットを指定することも可能。この場合、空白に相当す...
に指定すること。
参考になるサンプル:helloc4(introa)
***lib_putstring1
void lib_putstring1(int opt, int x, int y, struct LIB_TE...
int color, int backcolor, int base, int length, unsi...
機能: テキストボックスに文字列を書き込む。改行や折り返し...
optはビットごとに意味がある。
bit0 (0x0001): 0だと文字の背景色はテキストボックス...
backcolorは0を渡すこと。
1だと文字の背景色としてbackcolorを使...
bit1 (0x0002): 0だとフォントは二色。
1だとフォントはカラー。このときcolor...
bit12-13 0x1000にすると、32bitのbase値+符号な...
使うという意味。ほかはCでは使いにく...
'むやみに0x0000にしないこと!'
bit14(0x4000): guigui00.hでは1に固定されている (マ...
x,yはテキストボックス中での座標。キャラクタ単位。
textboxはテキストボックスのポインタ。
color, backcolorは文字色と文字背景色。値域は0~15。
lengthは書き込む文字列の長さ。テキストボックスをはみ...
strは符号なし8ビット整数の配列へのポインタ。これにba...
テキストボックスにずらずらと書き込まれる。
基本: base=0, strにASCII文字列。
例:lib_putstring1(0x1000, 0, 0, wtitle, 0, 0, 0, 8, ...
応用: baseに'0', strに0~9の値など。
***lib_loadfontset
void lib_loadfontset(int opt, int slot, int len, void *f...
機能: ユーザ定義のフォント集合をスロットに割り当てる。
フォントは8x16 (または8x8) のドットパターンであり、...
フォントセットと呼ぶ。
slotはフォントセットを割り当てるスロット。一つ消費す...
numはフォント数。
fontはフォントセットのポインタ。
・opt==1
フォントは8x16のモノクロパターンである。1のビットが...
背景色となる。1バイト中では上位のビットが左。
(以下未完成)
参考になるプログラム: introc/fnttstc0.c
***lib_loadfontset0
void lib_loadfontset0(int opt, int slot) :
機能: システム内蔵フォントをスロットに割り当てる。
・opt=0x80000001
slotにANKフォントセットを割り当てる……というのが公式...
フォントセットはどう見てもANKのK (Kana) が含まれていな...
フォントが256個入ったフォントセットが割り当てられる。
(以下未完成)
参考になるプログラム: introc/fnttstc0.c
***lib_makecharset
void lib_makecharset(int opt, int charset, int fontset, ...
機能: フォントセットに含まれるフォントを文字集合空間にマ...
フォントセットに含まれるフォントの一部を文字集合空間...
実際にテキストボックスで使えるようにする。複数のフォン...
使う場合は、一連のスロットでマッピングして最後に終端を...
スロットを文字集合のスロットとしてopentextboxに与える。
optは0。fontset, charsetはスロット。
fontsetのfrom番からlen個のフォントを、文字集合charse...
割り当てる。
fontset = len = from = base = 0 にすると終端の定義と...
***lib_wsjis2gg00jpn0
lib_wsjis2gg00jpn0(len, sjis, gg00jpn, 0x400, 0x4e00) :
機能:シフトJISで書かれた文字列をOSASK自動拡張フォント向...
len:変換結果の長さで, 単位はダブルワードです。
sjis:変換前のシフトJISの文字列のポインタです。
gg00jpn:変換後文字列のポインタです。(たぶん・・)
***lib_loadfontset1
void lib_loadfontset1(0xc0ffffff, 0, int sig) :
機能:OSASKで拡張フォント(日本語全角とか、韓国語など)を...
結局はフォントを読み込んでいるだけです。読み込みが完了...
フォントの利用はsigがくるまで待っていてください。成功す...
しかし失敗は原則としてないので気にすることはありません(...
sigが返ってきたら、
lib_makecharset(0, slot, 0x0021, 0x1000000, 0, 0);
とすることで、slotに拡張フォントのキャラクタセットができ...
これはスロットを4つ使います。もちろん、キャラクタセット...
lib_makecharset(0, slot, 0, 0, 0, 0);
が必要です。文字コード(フォントコード)0~0xffffffは拡...
それ以降は自由に使えます。使わない場合も上記のターミネー...
参考になるプログラム:tviewc5cとか
(tviewc5cは http://koya.marokun.net/osask/download.ht...
* こめんと欄
#comment
ページ名: