Palm Programmer's Laboratory
Palm OS Programmer's API Reference/21
この章では、以下で説明する UI カラー リストについての情報を提供します。
ヘッダ ファイル UIColor.h がこの章で説明する API を定義しています。カラー リストについての更なる情報は、Palm OS Programmer's Companion, vol. I の中の「カラーとグレイスケールのサポート」を参照してください。
UI カラー データ タイプ ^TOP^
UIColorTableEntries 列挙体 ^TOP^
目的
UIColorTableEntries 列挙体はさまざまな UI 要素のために記号的なカラー定数を宣言します。
UI カラー リストをシステム カラー テーブルと混同しないでください。システム カラー テーブル(またはシステム パレット)はウィンドウの表示または描画のために、使用されるかされないかにかかわらず、すべての使用可能なカラーを定義します。UI カラー リストはインターフェイス オブジェクトを描くために使用されるカラーを定義します。
Prototype
typedef enum UIColorTableEntries { UIObjectFrame = 0, UIObjectFill, UIObjectForeground, UIObjectSelectedFill, UIObjectSelectedForeground, UIMenuFrame, UIMenuFill, UIMenuForeground, UIMenuSelectedFill, UIMenuSelectedForeground, UIFieldBackground, UIFieldText, UIFieldTextLines, UIFieldCaret, UIFieldTextHighlightBackground, UIFieldTextHighlightForeground, UIFieldFepRawText, UIFieldFepRawBackground, UIFieldFepConvertedText, UIFieldFepConvertedBackground, UIFieldFepUnderline, UIFormFrame, UIFormFill, UIDialogFrame, UIDialogFill, UIAlertFrame, UIAlertFill, UIOK, UICaution, UIWarning, UIFieldFepConvertedUnderline UILastColorTableEntry } UIColorTableEntries;
定数
- UIObjectFrame
- ユーザ インターフェイス オブジェクト(コマンド ボタン、プッシュ ボタン、セレクタ トリガ、メニュー、矢印チェックボックス、その他のコントロールなど)の境界線のためのカラー。
- UIObjectFill
- ソリッドまたは「塗りつぶされる」(原文: solid or "filled")ユーザ インターフェイス オブジェクトのためのバックグランド カラー。
テーブルの中のオブジェクトは UIObject... カラーの代わりに UIField... カラーを使用することに注意してください。
- ソリッドまたは「塗りつぶされる」(原文: solid or "filled")ユーザ インターフェイス オブジェクトのためのバックグランド カラー。
- UIObjectForeground
- ユーザ インターフェイス オブジェクトの中のフォアグランド アイテム(ラベルやグラフィックなど)のためのカラー。
- UIObjectSelectedFill
- 現在選択されているユーザ インターフェイス オブジェクト - そのオブジェクトがソリッドかどうかに関係なく - のバックグランド カラー。
- UIObjectSelectedForeground
- 選択されているユーザ インターフェイス オブジェクトの中のフォアグランド アイテムのカラー。
- UIMenuFrame
- メニューの周りの境界線のカラー。
- UIMenuFill
- メニュー アイテムのバックグランド カラー。
- UIMenuForeground
- メニューのテキストのカラー。
- UIMenuSelectedFill
- 選択されているメニュー アイテムのバックグランド カラー。
- UIMenuSelectedForeground
- 選択されているメニュー アイテムのテキストのカラー。
- UIFieldBackground
- 編集可能なテキスト フィールドのバックグランド カラー。
- UIFieldText
- 編集可能なフィールドの中のテキストのカラー。
- UIFieldTextLines
- 編集可能なフィールドの中の下線のカラー。
- UIFieldCaret
- 編集可能なテキスト フィールドの中のカーソルのカラー。
- UIFieldTextHighlightBackground
- 編集可能なテキスト フィールドの中の選択されているテキストのバックグランド カラー。
- UIFieldTextHighlightForeground
- 編集可能なテキスト フィールドの中の選択されているテキストのカラー。
- UIFieldFepRawText
- FEPがテキスト入力手段として使用されている(例えば、日本語デバイス上)時の、インライン変換エリアの中の変換されていないテキストのために使用されるカラー。FEP カラーがフィールド カラーと等しい場合、変換されていないテキストは実下線を持ちます。
- UIFieldFepRawBackground
- FEPがテキスト入力手段として使用されている時の、インライン変換エリアの中の変換されていないテキストのためのバックグランド カラー。FEP カラーがフィールド カラーと等しい場合、変換されていないテキストは実下線を持ちます。
- UIFieldFepConvertedText
- FEPがテキスト入力手段として使用されている(例えば、日本語デバイス上)時の、インライン変換エリアの中の変換されたテキストのために使用されるカラー。FEP カラーがフィールド カラーと等しい場合、変換されたテキストは倍幅の下線を持ちます。
- UIFieldFepConvertedBackground**FEPがテキスト入力手段として使用されている時の、インライン変換エリアの中の変換されたテキストのためのバックグランド カラー。FEP カラーがフィールド カラーと等しい場合、変換されたテキストは倍幅の下線を持ちます。
- UIFieldFepUnderline
- インライン変換エリアの中の変換されていないテキストのすぐ下の下線のために使用されるカラー。
- UIFormFrame
- フォーム上の境界線とタイトルバーのカラー。
- UIFormFill
- フォームのバックグランド カラー。この値には白色が推奨されます。
- UIDialogFrame
- モーダル フォーム上の境界線とタイトルバーのカラー。
- UIDialogFill
- モーダル フォームのバックグランド カラー。
- UIAlertFrame
- アラート パネル上の境界線とタイトルバーのカラー。
- UIAlertFill
- アラート パネルのバックグランド カラー。
- UIOK
- 使用されません。
- UICaution
- 使用されません。
- UIWarning
- 使用されません。
- UIFieldFepConvertedUnderline
- インライン変換エリアの中の変換されたテキストのすぐ下の下線のために使用されるカラー。
- UILastColorTableEntry
- 列挙体の終わりを示すためのプレイスホルダー(原文: placeholder, 訳者注: 文字列の NULL 終端子のようなもの?)。
互換性
3.5 New Feature Set が存在する場合にのみ、実装されます。
UI カラー関数 ^TOP^
UIColorGetTableEntryIndex 関数 ^TOP^
目的
現在のシステム パレットのための UI カラーのインデックス値を返します。
宣言されている場所
UIColor.h
Prototype
IndexedColorType UIColorGetTableEntryIndex( UIColorTableEntries which )
パラメータ
- → which
- 記号的なカラー定数の 1 つ。UIColorTableEntries を参照してください。
返り値
指定された記号的なカラーのために使用されるカラーのシステム カラー テーブルでのインデックスを返します。
コメント
すべてのカラーのインデックスを見つけ出す方法の 1 つは、OS が UI カラー リストの初めから終わりまでを通過するループを使用することです。各スロット(訳者注: 値のことか?)で UIColorGetTableEntryIndex を呼び出し、リストに保存します(重複するものを除いて)。
IndexedColorType colorsUsed[UILastColorTableEntry]; UInt16 numColors = 0; ... for (i = 0; i < UILastColorTableEntry; i++) { IndexedColorType currentColor; Boolean isNew = true; currentColor = UIColorGetTableEntryIndex(i); for (j = 0; ((j < numColors) && isNew); j++) if (colorsUsed[j] == currentColor) isNew = false; /* exit loop */ if (isNew) { numColors++; colorsUsed[j] = currentColor; }
カラーの RGB 値を取得するには、UIColorGetTableEntryRGB() 呼び出しで同様にします。
互換性
3.5 New Feature Set が存在する場合にのみ、実装されます。
参照
IndexedColorType|Palm OS Programmer's API Reference/59, WinIndexToRGB()|Palm OS Programmer's API Reference/59
UIColorGetTableEntryRGB 関数 ^TOP^
目的
UI カラーのための RGB 値を返します。
宣言されている場所
UIColor.h
Prototype
void UIColorGetTableEntryRGB( UIColorTableEntries which, RGBColorType *rgbP )
パラメータ
- → which
- 記号的なカラー定数の 1 つ。UIColorTableEntries を参照してください。
- ← rgbP
- 記号的なカラーのために使用されている現在のカラーに対応する RGB カラー値へのポインタ。
返り値
返り値はありません。
コメント
一般に、RGB カラー エントリの代わりにインデックス カラー エントリで作業をしたほうがより効果的です。
互換性
3.5 New Feature Set が存在する場合にのみ、実装されます。
参照
UIColorGetTableEntryIndex(), WinRGBToIndex()|Palm OS Programmer's API Reference/59
UIColorSetTableEntry 関数 ^TOP^
目的
UI カラー リストの中の値を変更します。
宣言されている場所
UIColor.h
Prototype
Err UIColorSetTableEntry( UIColorTableEntries which, const RGBColorType *rgbP )
- → which
- 記号的なカラー定数の 1 つ。UIColorTableEntries を参照してください。
- → rgbP
- 指定された UI オブジェクトのために使用されるべきカラーの RGB 値(RGBColorType|Palm OS Programmer's API Reference/26 を参照してください)。
返り値
成功時には 0 を返します。
コメント
UI カラー エントリの値に渡された RGB 値をセットします。現在描かれているウィンドウによって使用されるパレットに対応する RGB 値に最もよくフィットするように UI カラー エントリのためのインデックスを更新します。
描かれるウィンドウが現在スクリーン上にある場合にのみこの関数を使用することがベストです。さもないと、ベスト-フィット アルゴリズムは現在のスクリーンでは使用できないカラーを選択するかもしれません。
参照
WinIndexToRGB()|Palm OS Programmer's API Reference/59, UIColorGetTableEntryIndex(), UIColorGetTableEntryRGB()