前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.0
SFYMultipleTextWidget
複数行の編集不可能なテキストを表示するウィジェットです。
#include <SFYMultipleTextWidget.h.hpp>
class SFYMultipleTextWidget : public SFYWidget;
SFMTYPEDEFCLASS(SFYMultipleTextWidget)

継承図

SFYMultipleTextWidget クラスの継承図

協調図

SFYMultipleTextWidget クラスの協調図

解説

ウィジェットは直接イベントに反応することは無く、描画機能だけが実装されているレスポンダです。

ウィジェットはコントロールなどの子レスポンダとして内部的に利用されます。 コントロールはイベントに応答するときウィジェットが提供する API を内部的に呼び出します。

ウィジェットは、同じ機能を一つのコンポーネントとして一元化する目的で導入されました。 たとえば、ボタンコントロール(SFZTextButtonControl)とラベルコントロール(SFZSingleTextLabelControl)でスクロールするテキストを実際に描画しているクラスは、 これらのコントロールが保持している SFYSingleTextWidget です。

スクロールするテキストなど基本的な描画機能を提供する既存のウィジェットを子レスポンダとして利用することにより、 複雑な処理を記述せずに簡単にコントロールを実装することができます。

[Note] 注意
1つのコントロールが複数のウィジェットを利用して実装される可能性も有ります。

参照

SFYWidget

メンバ

コンストラクタ/デストラクタ
SFYMultipleTextWidget( Void )
SFYMultipleTextWidget クラスのコンストラクタです。
~SFYMultipleTextWidget( Void )
SFYMultipleTextWidget クラスのデストラクタです。
パブリック関数
AEEFont GetFont( Void )
フォントを取得します。
SFXSizeConstRef GetFontSize( Void )
フォントの大きさを取得します。
HorizontalEnum GetHorizontalAlign( Void )
水平アラインメントの値を取得します。
SInt16 GetScrollStep( Void )
スクロールの移動量を取得します。
SFXWideStringConstRef GetText( Void )
テキストを取得します。
SFXRGBColorConstRef GetTextColor( Void )
テキストの色を取得します。
SFXSizeConstRef GetTextSize( Void )
テキストの大きさを取得します。
VerticalEnum GetVerticalAlign( Void )
垂直アラインメントの値を取得します。
SFXSizeConstRef HandleBoundReal( Void )
実領域の変更処理を行います。
static
SFYMultipleTextWidgetSmp
NewInstance( SFCErrorPtr exception = null )
新しいインスタンスを作成します。
Bool PageDown( Void )
仮想領域を下方向に1ページ分スクロールします。
Bool PageUp( Void )
仮想領域を上方向に1ページ分スクロールします。
Bool ScrollDown( Void )
仮想領域を下方向にスクロールします。
Bool ScrollUp( Void )
仮想領域を上方向にスクロールします。
Void SetFont( AEEFont param )
フォントを設定します。
Void SetHorizontalAlign( HorizontalEnum param )
水平アラインメントを設定します。
Void SetScrollStep( SInt16 param )
スクロールの移動量を設定します。
SFCError SetText( SFXPathConstRef path , UInt16 id )
SetText( SFXWideStringConstRef param )
テキストを設定します。
Void SetTextColor( SFXRGBColorConstRef param )
テキストの色を設定します。
Void SetVerticalAlign( VerticalEnum param )
垂直アラインメントを設定します。
Bool SnapAlign( Void )
スクロール位置を初期状態に戻します。
Bool SnapDown( Void )
仮想領域の下端までスクロールします。
Bool SnapUp( Void )
仮想領域の上端までスクロールします。
Void ClearHandler( Void ) (SFYResponder から継承)
ハンドラの登録をすべて解除します。
Void ClearTracer( Void ) (SFYResponder から継承)
トレーサの登録をすべて解除します。
SFCError Distribute( SFXEventConstRef event , BoolPtr result = null ) (SFYResponder から継承)
配信エンジンを起動してイベントを配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFYResponderSmp GetChildBack( Void ) (SFYResponder から継承)
GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildBack( UInt32 id ) (SFYResponder から継承)
GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置する子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index ) (SFYResponder から継承)
GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置する子レスポンダを取得します。
SInt32 GetChildCount( Void ) (SFYResponder から継承)
GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildCount( UInt32 id ) (SFYResponder から継承)
GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
子レスポンダの数を取得します。
SFYResponderSmp GetChildForward( SInt32 index ) (SFYResponder から継承)
GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置する子レスポンダを取得します。
SFYResponderSmp GetChildFront( Void ) (SFYResponder から継承)
GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetChildFront( UInt32 id ) (SFYResponder から継承)
GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置する子レスポンダを取得します。
SFYDistributerPtr GetDistributer( Void ) (SFYResponder から継承)
配信エンジンを取得します。
SFXRectangle GetGlobalBound( Void ) (SFYResponder から継承)
グローバル領域を取得します。
UInt32 GetID( Void ) (SFYResponder から継承)
ID を取得します。
SFXRectangle GetLocalBound( Void ) (SFYResponder から継承)
ローカル領域を取得します。
SInt32 GetNthBackward( Void ) (SFYResponder から継承)
GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetNthBackward( UInt32 id ) (SFYResponder から継承)
GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Void ) (SFYResponder から継承)
GetNthForward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
GetNthForward( UInt32 id ) (SFYResponder から継承)
GetNthForward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが前面から数えて何番目に位置するかを取得します。
SFYResponderSmp GetParent( Void ) (SFYResponder から継承)
親レスポンダを取得します。
Bool GetPropertyTransparent( Void ) (SFYResponder から継承)
透過属性を取得します。
SFXRectangleConstRef GetRealBound( Void ) (SFYResponder から継承)
実領域を取得します。
VoidPtr GetReference( Void ) (SFYResponder から継承)
リファレンス値を取得します。
SFYRendererPtr GetRenderer( Void ) (SFYResponder から継承)
描画エンジンを取得します。
SFYResponderSmp GetRoot( Void ) (SFYResponder から継承)
ルートレスポンダを取得します。
Bool GetStateActive( Bool inherit = false ) (SFYResponder から継承)
活性状態を取得します。
Bool GetStateEnable( Bool inherit = false ) (SFYResponder から継承)
操作可能状態を取得します。
Bool GetStateFocus( Bool inherit = false ) (SFYResponder から継承)
フォーカス状態を取得します。
Bool GetStateVisible( Bool inherit = false ) (SFYResponder から継承)
可視状態を取得します。
SFXRectangle GetSuitableBound( Void ) (SFYResponder から継承)
GetSuitableBound( SFXRectangleConstRef param ) (SFYResponder から継承)
最適な大きさを取得します。
SFXMargin GetSuitableMargin( Void ) (SFYResponder から継承)
最適な余白を取得します。
SFCType GetType( Void ) (SFYResponder から継承)
タイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFYResponder から継承)
仮想領域を取得します。
Void Initialize( Void ) (SFYResponder から継承)
レスポンダを初期化します。
Void Invalidate( Void ) (SFYResponder から継承)
Invalidate( SFXRectangleConstRef param ) (SFYResponder から継承)
再描画領域を登録します。
Void InvokeBackward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
レスポンダにイベントを送信します。ハンドラ関数はハンドラリストに登録された順序で呼び出されます。
Void InvokeForward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
レスポンダにイベントを送信します。ハンドラ関数はハンドラリストに登録された逆順で呼び出されます。
Bool IsBack( Void ) (SFYResponder から継承)
IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsBack( UInt32 id ) (SFYResponder から継承)
IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが最背面に位置するかどうかを判定します。
Bool IsFront( Void ) (SFYResponder から継承)
IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsFront( UInt32 id ) (SFYResponder から継承)
IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが最前面に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index ) (SFYResponder から継承)
IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index ) (SFYResponder から継承)
IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsRoot( Void ) (SFYResponder から継承)
自レスポンダがルートレスポンダかどうかを判定します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
ハンドラを登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::RuleRecConstRef rule ) (SFYResponder から継承)
RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承)
RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承)
トレーサを登録します。
SFCError Render( Bool force = false ) (SFYResponder から継承)
描画エンジンを起動して再描画します。
Void SetBackgroundColor( SFXRGBColorConstRef param ) (SFYWidget から継承)
背景の色を設定します。
Void SetDistributer( SFYDistributerPtr param ) (SFYResponder から継承)
配信エンジンを設定します。
Void SetID( UInt32 param ) (SFYResponder から継承)
ID を設定します。
SFCError SetParent( SFYResponderSmpConstRef param ) (SFYResponder から継承)
親レスポンダを設定します。
Void SetProperty( Bool transparent ) (SFYResponder から継承)
属性をまとめて設定します。
Void SetPropertyTransparent( Bool param ) (SFYResponder から継承)
透過属性を設定します。
Void SetRealBound( SFXRectangleConstRef param ) (SFYResponder から継承)
実領域を設定します。
Void SetReference( VoidPtr param ) (SFYResponder から継承)
リファレンス値を設定します。
Void SetRenderer( SFYRendererPtr param ) (SFYResponder から継承)
描画エンジンを設定します。
Void SetState( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
状態をまとめて設定します。
Void SetStateActive( Bool param ) (SFYResponder から継承)
活性状態を設定します。
Void SetStateEnable( Bool param ) (SFYResponder から継承)
操作可能状態を設定します。
Void SetStateFocus( Bool param ) (SFYResponder から継承)
フォーカス状態を設定します。
Void SetStateVisible( Bool param ) (SFYResponder から継承)
可視状態を設定します。
Void SetVirtualBound( SFXRectangleConstRef param ) (SFYResponder から継承)
仮想領域を設定します。
Void Terminate( Void ) (SFYResponder から継承)
レスポンダの終了処理をします。
Void ToBack( Void ) (SFYResponder から継承)
ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToBack( UInt32 id ) (SFYResponder から継承)
ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを姉妹レスポンダのなかで最背面に移動します。
Void ToFront( Void ) (SFYResponder から継承)
ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToFront( UInt32 id ) (SFYResponder から継承)
ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを姉妹レスポンダのなかで最前面に移動します。
Void ToNthBackward( SInt32 index ) (SFYResponder から継承)
ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを背面から数えて指定された順番に移動します。
Void ToNthForward( SInt32 index ) (SFYResponder から継承)
ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
自レスポンダを前面から数えて指定された順番に移動します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
ハンドラの登録を解除します。
Void UnregisterTracer( SFXEventRangeConstRef range ) (SFYResponder から継承)
UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承)
トレーサの登録を解除します。
T const & static_catch( Void ) (static_exception から継承)
現在保持している例外を取得します。
プロテクト関数
Void DrawText( SFXGraphicsPtr graphics , SFXGridConstRef grid )
テキストを描画します。
SInt16 GetScrollOffset( Void )
スクロール オフセットの値を取得します。
SFXGridConstRef GetTextOrigin( Void )
テキスト領域の始点を取得します。
Void HandleBoundOptimize( SFXRectanglePtr rectangle )
指定した矩形に収まる範囲内で最適なサイズを計算します。
Void HandleBoundRequest( SFXRectanglePtr rectangle )
最適な矩形を計算します。
Void HandleBoundVirtual( Void )
仮想領域の変更処理を行います。
Void HandleRenderRequest( SFXGraphicsPtr graphics )
レスポンダを描画します。
static
SFYResponderSmp
Factory( SFYResponderPtr responder , SFCErrorPtr exception = null ) (SFYResponder から継承)
NewInstance 関数の実装を補助します。
SFYResponderSmp GetThis( Void ) (SFYResponder から継承)
スマートポインタで保持された this を取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
グローバル領域の変更処理を行います。
Void SetType( SFCType param ) (SFYResponder から継承)
タイプを設定します。
Void static_throw( static_exception< T > const & param ) (static_exception から継承)
static_throw( T const & param ) (static_exception から継承)
例外を設定します。
Bool static_try( Void ) (static_exception から継承)
例外が保持されているかどうかを確かめます。
CodeEnum
SFYMultipleTextWidget クラスを表す定数です。
DefaultEnum
各種パラメータのデフォルト値を表します。
HorizontalEnum
水平方向のアラインメントを表す定数です。
VerticalEnum
垂直方向のアラインメントを表す定数です。

SFYMultipleTextWidget::SFYMultipleTextWidget
SFYMultipleTextWidget クラスのコンストラクタです。
[ protected, explicit ]
SFYMultipleTextWidget(Void);

SFYMultipleTextWidget::~SFYMultipleTextWidget
SFYMultipleTextWidget クラスのデストラクタです。
[ protected, virtual ]
virtual ~SFYMultipleTextWidget(Void);

SFYMultipleTextWidget::DrawText
テキストを描画します。
[ protected, const ]
Void DrawText(
    SFXGraphicsPtr graphics   // グラフィックスオブジェクト
    SFXGridConstRef grid      // 左上の座標
);

解説

独自の描画処理を行う場合に、テキストを描画するために利用します。


SFYMultipleTextWidget::GetFont
フォントを取得します。
[ public, const ]
AEEFont GetFont(Void);

参照

SFYMultipleTextWidget::SetFont


SFYMultipleTextWidget::GetFontSize
フォントの大きさを取得します。
[ public, const ]
SFXSizeConstRef GetFontSize(Void);

解説

設定されているフォントの半角1文字分(' ' で計算)の大きさを取得します。

参照

SFYMultipleTextWidget::SetFont


SFYMultipleTextWidget::GetHorizontalAlign
水平アラインメントの値を取得します。
[ public, const ]
HorizontalEnum GetHorizontalAlign(Void);

戻り値

水平アラインメントの値。

参照

SFYMultipleTextWidget::SetHorizontalAlign | SFYMultipleTextWidget::HorizontalEnum


SFYMultipleTextWidget::GetScrollOffset
スクロール オフセットの値を取得します。
[ protected, const ]
SInt16 GetScrollOffset(Void);

戻り値

スクロール オフセットの値。

解説

スクロールの結果による始点からのオフセットを取得します。


SFYMultipleTextWidget::GetScrollStep
スクロールの移動量を取得します。
[ public, const ]
SInt16 GetScrollStep(Void);

参照

SFYMultipleTextWidget::SetScrollStep


SFYMultipleTextWidget::GetText
テキストを取得します。
[ public, const ]
SFXWideStringConstRef GetText(Void);

参照

SFYMultipleTextWidget::SetText


SFYMultipleTextWidget::GetTextColor
テキストの色を取得します。
[ public, const ]
SFXRGBColorConstRef GetTextColor(Void);

参照

SFYMultipleTextWidget::SetTextColor | SFXRGBColor


SFYMultipleTextWidget::GetTextOrigin
テキスト領域の始点を取得します。
[ protected, const ]
SFXGridConstRef GetTextOrigin(Void);

SFYMultipleTextWidget::GetTextSize
テキストの大きさを取得します。
[ public, const ]
SFXSizeConstRef GetTextSize(Void);

解説

設定されているフォントで描画した場合のテキストの大きさを取得します。

参照

SFYMultipleTextWidget::SetFont


SFYMultipleTextWidget::GetVerticalAlign
垂直アラインメントの値を取得します。
[ public, const ]
VerticalEnum GetVerticalAlign(Void);

戻り値

垂直アラインメントの値。

参照

SFYMultipleTextWidget::SetVerticalAlign | SFYMultipleTextWidget::VerticalEnum


SFYMultipleTextWidget::HandleBoundOptimize
指定した矩形に収まる範囲内で最適なサイズを計算します。
[ protected, virtual, const ]
Void HandleBoundOptimize(
    SFXRectanglePtr rectangle   // 矩形
);

解説

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です。

指定した矩形に収まる範囲内で最適なサイズを計算します。


SFYMultipleTextWidget::HandleBoundReal
実領域の変更処理を行います。
[ public, const ]
SFXSizeConstRef GetTextSize(Void);

解説

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です。

実領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、仮想領域を実領域に一致させます。

[Note] (SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントの送信

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントは SFYResponder::SetRealBound 関数を呼び出したときなどに発生します。

[Note] 実領域の変更処理

この仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

実領域の変更処理は、最初に仮想関数を実行し、次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、通常はこの仮想関数をオーバーライドだけして実領域の変更処理を行います。

参照

SFYResponder::SetRealBound | 領域イベント(SFEVT_RESPONDER_BOUND) | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]


SFYMultipleTextWidget::HandleBoundRequest
最適な矩形を計算します。
[ protected, virtual, const ]
Void HandleBoundRequest(
    SFXRectanglePtr rectangle   // 計算された座標
);

解説

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です。

レスポンダに最適な大きさの矩形を計算して返したい場合は、この関数をオーバーライドします。

デフォルトの実装は、テキストの大きさを最適な矩形とします。


SFYMultipleTextWidget::HandleBoundVirtual
仮想領域の変更処理を行います。
[ protected, virtual ]
Void HandleBoundVirtual(Void);

解説

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です。

仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、テキストを仮想領域の中央に再配置します。

[Note] (SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントの送信

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントは SFYResponder::SetRealBound または SFYResponder::SetVirtualBound 関数を呼び出したときなどに発生します。

[Note] 仮想領域の変更処理

この仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

仮想領域の変更処理は、最初に仮想関数を実行し、次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、通常はこの仮想関数をオーバーライドだけして仮想領域の変更処理を行います。

参照

SFYResponder::SetRealBound | SFYResponder::SetVirtualBound | 領域イベント(SFEVT_RESPONDER_BOUND) | 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]


SFYMultipleTextWidget::HandleRenderRequest
レスポンダを描画します。
[ protected, virtual, const ]
Void HandleRenderRequest(
    SFXGraphicsPtr graphics   // グラフィックスオブジェクト
);

解説

(SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST) イベントを受信したときに呼び出される関数です。

独自の描画処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は、テキストを仮想領域の中央に描画します。

[Note] 描画処理の方法

この仮想関数をオーバーライドする以外に、 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER]を定義・実装し レスポンダに登録して行うことも可能です。

描画処理は、最初に仮想関数を実行し、次に描画イベント専用ハンドラを登録した順に実行して行われます。

描画イベント専用ハンドラを宣言し登録する手間が省けるので、通常はこの仮想関数をオーバーライドだけして描画を行います。

[Note] 描画処理の手順

描画ハンドラは描画イベント(SFEVT_RESPONDER_RENDER)の発生によって起動されます。 そして実際の描画は描画ハンドラによって行われます。

描画イベント(SFEVT_RESPONDER_RENDER)自体は、 SFYResponder::Render 関数によって描画エンジンが起動してから 描画エンジンが登録された再描画領域のなかから再描画が必要な領域を含むレスポンダだけに SFYResponder::InvokeBackward 関数を使って送信します。

なお、SFYResponder::Render 関数は イベントループの最後で自動的に呼び出されるか、 コールバックなどの処理なかから明示的に呼び出されるかのどちらかです。

また、SFYResponder::Render 関数の引数を true にして呼び出すと、 再描画領域の登録に関係無くレスポンダツリーの自レスポンダ以下の枝部分で実際に携帯電話の画面に描画されるすべてのレスポンダに描画イベントが送信されます。

参照

SFYResponder::Invalidate | SFYResponder::Render | SFYResponder::InvokeBackward | 描画イベント(SFEVT_RESPONDER_RENDER) | 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER] | 描画処理


SFYMultipleTextWidget::NewInstance
新しいインスタンスを作成します。
[ public, static ]
SFYMultipleTextWidgetSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);

引数

exception

関数内部で発生したエラー値を返します。

戻り値

  • 成功したとき : null 以外のポインタ
  • 失敗したとき : null ポインタ

解説

SFYMultipleTextWidget クラスの新しいインスタンスを作成します。

作成に成功した場合は null 以外のポインタを返し、exception 引数は常に SFERR_NO_ERROR になります。メモリ不足などで作成に失敗した場合は null ポインタを返し、exception 引数にエラー値が返ります。


SFYMultipleTextWidget::PageDown
仮想領域を下方向に1ページ分スクロールします。
[ public ]
Bool PageDown(Void);

戻り値

  • 成功したとき : true
  • 失敗したとき : false

参照

SFYMultipleTextWidget::PageUp


SFYMultipleTextWidget::PageUp
仮想領域を上方向に1ページ分スクロールします。
[ public ]
Bool PageUp(Void);

戻り値

  • 成功したとき : true
  • 失敗したとき : false

参照

SFYMultipleTextWidget::PageDown


SFYMultipleTextWidget::ScrollDown
仮想領域を下方向にスクロールします。
[ public ]
Bool ScrollDown(Void);

戻り値

  • 成功したとき : true
  • 失敗したとき : false

参照

SFYMultipleTextWidget::ScrollUp


SFYMultipleTextWidget::ScrollUp
仮想領域を上方向にスクロールします。
[ public ]
Bool ScrollUp(Void);

戻り値

  • 成功したとき : true
  • 失敗したとき : false

参照

SFYMultipleTextWidget::ScrollDown


SFYMultipleTextWidget::SetFont
フォントを設定します。
[ public ]
Void SetFont(
    AEEFont param   // 設定する値
);

解説

デフォルト値: AEE_FONT_NORMAL

参照

SFYMultipleTextWidget::GetFont


SFYMultipleTextWidget::SetHorizontalAlign
水平アラインメントを設定します。
[ public ]
Void SetHorizontalAlign(
    HorizontalEnum param   // 設定する値
);

解説

水平アラインメントを設定します。

デフォルト値: SFYMultipleTextWidget::DEFAULT_HORIZONTAL(中央揃え)

参照

SFYMultipleTextWidget::GetHorizontalAlign | SFYMultipleTextWidget::HorizontalEnum


SFYMultipleTextWidget::SetScrollStep
スクロールの移動量を設定します。
[ public ]
Void SetScrollStep(
    SInt16 param   // 設定する値
);

参照

SFYMultipleTextWidget::GetScrollStep | SFYMultipleTextWidget::DefaultEnum


SFYMultipleTextWidget::SetText
テキストを設定します。
[ public ]
SFCError SetText(
    SFXPathConstRef path   // リソースファイルパス
    UInt16 id              // リソース ID
);
[ public ]
SFCError SetText(
    SFXWideStringConstRef param   // 文字列
);

戻り値

  • 成功したとき : SFERR_NO_ERROR
  • メモリ不足のとき : SFERR_NO_MEMORY
  • その他のエラーのとき : SFERR_FAILED

解説

表示するテキストを設定します。

文字列を直接設定したり、ファイルから読み込むように設定することもできます。

参照

SFYMultipleTextWidget::GetText


SFYMultipleTextWidget::SetTextColor
テキストの色を設定します。
[ public ]
Void SetTextColor(
    SFXRGBColorConstRef param   // 設定する値
);

解説

デフォルト値: SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色]

非活性状態にあるときは、この関数で設定された色の明度が 0x7E より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7E 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色でテキストは描画されます。

色の明度とは、SFXRGBColor::GetBrightness 関数によって得られる値です。

参照

SFYMultipleTextWidget::GetTextColor | SFXRGBColor::GetBrightness | SFXRGBColor | 状態


SFYMultipleTextWidget::SetVerticalAlign
垂直アラインメントを設定します。
[ public ]
Void SetVerticalAlign(
    VerticalEnum param   // 設定する値
);

解説

垂直アラインメントを設定します。

デフォルト値: SFYMultipleTextWidget::DEFAULT_VERTICAL(中央揃え)

参照

SFYMultipleTextWidget::GetVerticalAlign | SFYMultipleTextWidget::VerticalEnum


SFYMultipleTextWidget::SnapAlign
スクロール位置を初期状態に戻します。
[ public ]
Bool SnapAlign(Void);

解説

スクロール位置を SFYMultipleTextWidget::SetVerticalAlign 関数で設定した初期状態に戻します。

たとえば、上端に設定していた場合、SnapAlign 関数を呼び出すと、スクロール位置は上端に戻ります。 また、下端あるいは中央に設定していた場合、SnapAlign 関数を呼び出すと、スクロール位置はそれぞれ下端あるいは中央に戻ります。

参照

SFYMultipleTextWidget::SetVerticalAlign


SFYMultipleTextWidget::SnapDown
仮想領域の下端までスクロールします。
[ public ]
Bool SnapDown(Void);

戻り値

  • 成功したとき : true
  • 失敗したとき : false

参照

SFYMultipleTextWidget::SnapUp


SFYMultipleTextWidget::SnapUp
仮想領域の上端までスクロールします。
[ public ]
Bool SnapUp(Void);

戻り値

  • 成功したとき : true
  • 失敗したとき : false

参照

SFYMultipleTextWidget::SnapDown


SFYMultipleTextWidget::CodeEnum
SFYMultipleTextWidget クラスを表す定数です。
enum CodeEnum {
    CODE_TYPE = four_char_code('+', 'm', 't', 'x')
};
SFMTYPEDEFTYPE(CodeEnum)

参照

SFYResponder::GetType | SFYResponder::SetType


SFYMultipleTextWidget::DefaultEnum
各種パラメータのデフォルト値を表します。
enum DefaultEnum {
    DEFAULT_STEP   = -1       // スクロールの移動量
};
SFMTYPEDEFTYPE(DefaultEnum)

SFYMultipleTextWidget::HorizontalEnum
水平方向のアラインメントを表す定数です。
enum VerticalEnum {
    VERTICAL_TOP      = 0,               // 上詰め
    VERTICAL_MIDDLE,                     // 中央揃え
    VERTICAL_BOTTOM,                     // 下詰め
    DEFAULT_VERTICAL  = VERTICAL_MIDDLE  // デフォルト値: 中央揃え
};
SFMTYPEDEFTYPE(VerticalEnum)

SFYMultipleTextWidget::VerticalEnum
垂直方向のアラインメントを表す定数です。
enum HorizontalEnum {
    HORIZONTAL_LEFT     = 0,                 // 左詰め
    HORIZONTAL_CENTER,                       // 中央揃え
    HORIZONTAL_RIGHT,                        // 右詰め
    DEFAULT_HORIZONTAL  = HORIZONTAL_CENTER  // デフォルト設定: 中央揃え
};
SFMTYPEDEFTYPE(HorizontalEnum)