前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFYFlatFrame
フラットフレームを表す抽象クラスです。
#include <SFYFlatFrame.h.hpp>
class SFYFlatFrame : public SFYPlainFrame;
SFMTYPEDEFCLASS(SFYFlatFrame)

継承図

SFYFlatFrame クラスの継承図

協調図

SFYFlatFrame クラスの協調図

解説

■ 仕様と使い方

フラットフレームクラスの抽象クラスです。

フラットフレームとは影領域とフラットフレーム領域を枠領域とするフレームです。

[Note] 枠領域の取得方法

フレームの枠領域は、SFYResponder::GetSuitableMargin 関数を呼び出すことで取得できます。

図 309. フラットフレーム動作例


フラットフレーム動作例

影領域とフラットフレーム領域の和集合が、フラットフレームの枠領域です[SFXMargin(1, 1, 2, 2)]。

図 310. フラットフレーム拡大図


フラットフレーム拡大図

黒色の線が影領域、青色(デフォルトは黒色)の線がフラットフレーム領域です。 この2つの領域の和集合がフラットフレームの枠領域です。そして、枠領域で囲まれた矩形領域はコンテンツ領域です。

影領域、フラットフレーム領域の幅は、それぞれ1ピクセルです。

  1. 影領域は SFYPlainFrame::DrawShadow 関数が描画します(影領域の色は SFYPlainFrame::SetShadowColor 関数で設定)。
  2. フラットフレーム領域は SFYFlatFrame::DrawFrame 関数が描画します(フラットフレーム領域の色は SFYFlatFrame::SetFrameColor / SFYFlatFrame::SetFocusColor 関数で設定)。
[Note] 枠付きのレスポンダ

フラットフレームをウィンドウやダイアログに装着することで、枠付きウィンドウや枠付きダイアログを実現することが可能になります。 装着はウィンドウやダイアログの SFYResponder::SetFrame 関数を呼び出すことによって行います。 ウィンドウやダイアログの実領域はフラットフレームの枠(マージン領域)で囲まれるコンテンツ領域となります。

参照

SFYFrame | SFYPlainFrame | SFYBevelFrame | SFZFlatFrame | SFZBevelFrame | SFZTitleFlatFrame | SFZTitleBevelFrame | SFXMargin | 実領域 | SFYResponder::GetSuitableMargin | フレーム

メンバ

コンストラクタ/デストラクタ
SFYFlatFrame( Void )
SFYFlatFrame クラスのコンストラクタです。
~SFYFlatFrame( Void )
SFYFlatFrame クラスのデストラクタです。
パブリック関数
SFXRGBColorConstRef GetFocusColor( Void )
フォーカス状態にあるときのフラットフレーム領域の色を取得します。
SFXRGBColorConstRef GetFrameColor( Void )
フラットフレーム領域の色を取得します。
Bool GetFrameEnable( Void )
フレームの有無を取得します。
Void SetFocusColor( SFXRGBColorConstRef param )
フォーカス状態にあるときのフラットフレーム領域の色を設定します。
Void SetFrameColor( SFXRGBColorConstRef param )
フラットフレーム領域の色を設定します。
Void SetFrameEnable( Bool param )
フレームの有無を設定します。
Void ClearHandler( Void ) (SFYResponder から継承)
このレスポンダのハンドラの登録をすべて解除します。
Void ClearTracer( Void ) (SFYResponder から継承)
このレスポンダのトレーサの配信規則の登録をすべて解除します。
SFCError Distribute( SFXEventConstRef event , BoolPtr result = null ) (SFYResponder から継承)
指定された配信型イベントを SFYDistributer インスタンスと、このレスポンダ以下のレスポンダツリーに配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFYResponderSmp GetChildBack( Void ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SInt32 GetChildCount( Void ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SFYResponderSmp GetChildForward( SInt32 index ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Void ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYDistributerPtr GetDistributer( Void ) (SFYResponder から継承)
このレスポンダに設定されている配信エンジンを取得します。
SFYResponderSmp GetFrame( Void ) (SFYResponder から継承)
このレスポンダに装着されたフレームを取得します。
SFXRectangle GetGlobalBound( Void ) (SFYResponder から継承)
このレスポンダのグローバル領域を取得します。
UInt32 GetID( Void ) (SFYResponder から継承)
このレスポンダの ID を取得します。
SFXRectangle GetLocalBound( Void ) (SFYResponder から継承)
このレスポンダのローカル領域を取得します。
SInt32 GetNthBackward( Void ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Void ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id , 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 から継承)
このレスポンダが所属するレスポンダツリーのルートレスポンダを取得します。
SFXRGBColorConstRef GetShadowColor( Void ) (SFYPlainFrame から継承)
影領域の色を取得します。
Bool GetShadowEnable( Void ) (SFYPlainFrame から継承)
影の有無を取得します。
Bool GetStateActive( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの活性状態を取得します。
Bool GetStateEnable( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの操作可能状態を取得します。
Bool GetStateFocus( Bool inherit = false ) (SFYResponder から継承)
このレスポンダのフォーカス状態を取得します。
Bool GetStateValid( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの有効状態を取得します。
Bool GetStateVisible( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの可視状態を取得します。
SFXRectangle GetSuitableBound( Void ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef rectangle ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef param , HorizontalEnum horizontal , VerticalEnum vertical ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXMargin GetSuitableMargin( Void ) (SFYResponder から継承)
このレスポンダのフレーム余白領域を取得します。
SFCType GetType( Void ) (SFYResponder から継承)
このレスポンダのタイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFYResponder から継承)
このレスポンダの仮想領域を取得します。
Bool HasFrame( Void ) (SFYResponder から継承)
このレスポンダがコンテントレスポンダであるかどうかを判定します。
Void Initialize( Void ) (SFYResponder から継承)
このレスポンダを初期化します。
Void Invalidate( Void ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void 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 から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsFrame( Void ) (SFYResponder から継承)
このレスポンダがアタッチメントフレームであるかどうかを判定します。
Bool IsFront( Void ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsRoot( Void ) (SFYResponder から継承)
このレスポンダがルートレスポンダであるかどうかを判定します。
SFCError Recover( Void ) (SFYResponder から継承)
デバイス画面保存用ビットマップを使用してこのレスポンダとレスポンダ空間との交差領域を復元します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::RuleRecConstRef rule ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError Render( Bool force = false ) (SFYResponder から継承)
このレスポンダ以下のレスポンダツリーをレスポンダ空間に再描画します。
Void SetBackgroundColor( SFXRGBColorConstRef param ) (SFYWidget から継承)
背景の色を設定します。
Void SetDistributer( SFYDistributerPtr param ) (SFYResponder から継承)
指定された配信エンジンをこのレスポンダに設定します。
SFCError SetFrame( SFYResponderSmpConstRef 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 SetShadowColor( SFXRGBColorConstRef param ) (SFYPlainFrame から継承)
影領域の色を設定します。
Void SetShadowEnable( Bool param ) (SFYPlainFrame から継承)
影の有無を設定します。
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 から継承)
指定された領域をこのレスポンダの仮想領域に設定します。
SFCError Snapshot( SFBBitmapSmpConstRef bitmap ) (SFYResponder から継承)
デバイス画面保存用ビットマップからこのレスポンダとレスポンダ空間との交差領域のスナップショットを取得します。
Void Terminate( Void ) (SFYResponder から継承)
このレスポンダの終了処理を行います。
Void ToBack( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToFront( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterTracer( SFXEventRangeConstRef range ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
Void UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
プロテクト関数
SFXRectangle DrawFrame( SFXGraphicsPtr graphics , SFXRectangleConstRef rectangle )
フラットフレーム領域を描画します。
SFXMarginConstRef GetFrameMargin( Void )
フラットフレーム領域のマージンを取得します。
SFXRectangle DrawShadow( SFXGraphicsPtr graphics , SFXRectangleConstRef rectangle ) (SFYPlainFrame から継承)
影領域を描画します。
static
SFYResponderSmp
Factory( SFYResponderPtr responder , SFCErrorPtr exception = null ) (SFYResponder から継承)
NewInstance 関数の実装を補助します。
SFXMarginConstRef GetShadowMargin( Void ) (SFYPlainFrame から継承)
影領域のマージンを取得します。
SFYResponderSmp GetThis( Void ) (SFYResponder から継承)
このレスポンダのスマートポインタを取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
[非推奨(廃止予定 API)] グローバル領域が変化したときに呼び出される関数です。
Void HandleBoundOptimize( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です(指定した矩形に収まる範囲内で最適な領域を計算します)。
Void HandleBoundReal( Void ) (SFYFrame から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です (実領域が変化したときの処理を行います)。
Void HandleBoundRequest( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です(最適な領域を計算します)。
Void HandleBoundVirtual( Void ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
Void HandleMarginRequest( SFXMarginPtr margin ) (SFYFrame から継承)
(SFEVT_RESPONDER_MARGIN, SFP16_MARGIN_REQUEST) イベントを受信したときに呼び出される関数です (フレーム余白領域を計算します)。
Void HandleRenderRequest( SFXGraphicsPtr graphics ) (SFYWidget から継承)
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
Void SetType( SFCType param ) (SFYResponder から継承)
指定された値をこのレスポンダのタイプに設定します。
CodeEnum
SFYFlatFrame クラスを表す定数です。
HorizontalEnum (SFYResponder から継承)
水平方向のアライメントを表す定数です。
VerticalEnum (SFYResponder から継承)
垂直方向のアライメントを表す定数です。

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

解説

このコンストラクタは、以下の初期化処理を行います。

  1. タイプを ".flt" に設定します。
  2. フラットフレームがフォーカス状態にあるときにフラットフレーム領域を描画する色を SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色] に設定します。
  3. フラットフレームが非フォーカス状態にあるときにフラットフレーム領域を描画する色を SFXRGBColor(0x00, 0x00, 0x00, 0x00)[黒色] に設定します。
  4. フラットフレーム領域を有効に設定します。

内部実装

このコンストラクタの内部実装は以下の通りです。

/*protected */SFYFlatFrame::SFYFlatFrame(Void) static_throws
{
    static SFXRGBColor::AtomRecConst            rgb[] = {
        {{{0x00, 0x00, 0x00, 0x00}}},
        {{{0x00, 0x00, 0x00, 0x00}}}
    };

    if (static_try()) {
        SetType(CODE_TYPE);
        _color.focus.Set(rgb[0]);
        _color.frame.Set(rgb[1]);
        _frameEnable = true;
    }
}// SFYFlatFrame::SFYFlatFrame //

参照

SFYResponder::SetType | SFYFlatFrame::CodeEnum | SFYFlatFrame::SetFocusColor | SFYFlatFrame::SetFrameColor | SFYFlatFrame::SetFrameEnable | SFXRGBColor | タイプ


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

解説

このデストラクタは、何も行いません。

内部実装

このデストラクタの内部実装は以下の通りです。

/*protected virtual */SFYFlatFrame::~SFYFlatFrame(Void)
{
}// SFYFlatFrame::~SFYFlatFrame //

SFYFlatFrame::DrawFrame
フラットフレーム領域を描画します。
[ protected, const ]
SFXRectangle DrawFrame(
    SFXGraphicsPtr graphics          // グラフィックスオブジェクト
    SFXRectangleConstRef rectangle   // 描画する矩形領域
);

戻り値

引数で渡した矩形領域からフラットフレーム領域を取り除いた矩形領域。

解説

この関数は、フラットフレーム領域を描画します。

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

デフォルトの実装は以下の通りです。

引数で指定された矩形領域のフラットフレーム領域を状態に応じた色で描画し、 引数で指定された矩形領域からフラットフレーム領域を取り除いた矩形領域を返します。

フォーカス状態のときは SFYFlatFrame::SetFocusColor 関数で設定した色、 それ以外の状態のときは SFYFlatFrame::SetFrameColor 関数で設定した色になります。

フラットフレーム領域は SFYFlatFrame::GetFrameMargin 関数で取得できるマージン領域のことです。

[Caution] 非活性状態にあるときのフラットフレーム領域の色

非活性状態にあるときは、SFYFlatFrame::SetFrameColor 関数で設定された色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色でフラットフレーム領域は描画されます。

図 311. フラットフレーム拡大図


フラットフレーム拡大図

黒色の線が影領域、青色(デフォルトは黒色)の線がフラットフレーム領域です。 この2つの領域の和集合がフラットフレームの枠領域です。そして、枠領域で囲まれた矩形領域はコンテンツ領域です。

影領域、フラットフレーム領域の幅は、それぞれ1ピクセルです。

  1. 影領域は SFYPlainFrame::DrawShadow 関数が描画します(影領域の色は SFYPlainFrame::SetShadowColor 関数で設定)。
  2. フラットフレーム領域は SFYFlatFrame::DrawFrame 関数が描画します(フラットフレーム領域の色は SFYFlatFrame::SetFrameColor / SFYFlatFrame::SetFocusColor 関数で設定)。

内部実装

この関数の内部実装は以下の通りです。

/*protected */SFXRectangle SFYFlatFrame::DrawFrame(SFXGraphicsPtr graphics, SFXRectangleConstRef rectangle) const
{
    SFXRGBColor                                 rgb;
    SFXRectangle                                result(rectangle);

    if (_frameEnable) {
        rgb.Set((GetStateFocus(true)) ? (_color.focus) : (_color.frame));
        if (!GetStateActive(true)) {
            if (rgb.GetBrightness() > 0x7F) {
                rgb.SubRGB(0x44);
            }
            else {
                rgb.AddRGB(0x44);
            }
        }
        graphics->DrawRectangle(result, rgb);
        result.Deflate(1, 1);
    }
    return result;
}// SFYFlatFrame::DrawFrame //

参照

SFYFlatFrame::SetFrameColor | SFYFlatFrame::SetFocusColor | SFYFlatFrame::GetFrameMargin | SFXRGBColor | SFXRectangle | 状態


SFYFlatFrame::GetFocusColor
フォーカス状態にあるときのフラットフレーム領域の色を取得します。
[ public, const ]
SFXRGBColorConstRef GetFocusColor(Void);

戻り値

フラットフレームがフォーカス状態のときのフラットフレーム領域の色。

解説

この関数は、フラットフレームがフォーカス状態にあるときに描画される枠線の色(SFXRGBColor)を取得します。

[Caution] フォーカス状態にあるときの枠線の色

フラットフレームがフォーカス状態にあるときは、 SFYFlatFrame::SetFocusColor 関数で設定した色でフラットフレーム領域は描画さます。

SFYFlatFrame::SetFrameColor 関数で設定した色でフラットフレーム領域は描画されません。

参照

SFYFlatFrame::SetFocusColor


SFYFlatFrame::GetFrameColor
フラットフレーム領域の色を取得します。
[ public, const ]
SFXRGBColorConstRef GetFrameColor(Void);

戻り値

フラットフレーム領域の色。

解説

この関数は、 フレームの枠線を描画する色(SFXRGBColor)を取得します。

[Caution] 非活性状態にあるときの枠線の色

非活性状態にあるときの枠線の色は、 SFYFlatFrame::SetFrameColor 関数によって設定された色の明度を基準にして計算された色で枠線は描画されます。

基準となる色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色で枠線は描画されます。

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

[Caution] フォーカス状態にあるときの枠線の色

フラットフレームがフォーカス状態にあるときは、 SFYFlatFrame::SetFocusColor 関数で設定した色で枠線は描画さます。

SFYFlatFrame::SetFrameColor 関数で設定した色で枠線は描画されません。

参照

SFYFlatFrame::SetFrameColor


SFYFlatFrame::GetFrameEnable
フレームの有無を取得します。
[ public, const ]
Bool GetFrameEnable(Void);

戻り値

  • フレームが有るとき: true (デフォルト)
  • フレームが無いとき: false

解説

この関数は、フレームの有無を取得します。

参照

SFYFlatFrame::SetFrameEnable | SFYFlatFrame::GetFrameMargin


SFYFlatFrame::GetFrameMargin
フラットフレーム領域のマージンを取得します。
[ protected ]
SFXMarginConstRef GetFrameMargin(Void);

戻り値

フラットフレーム領域のマージン。

解説

この関数は、フラットフレーム領域として設定されているマージン領域を取得します。

フレームが有効な時は SFXMargin(1, 1, 1, 1) (フレームから影領域を除いた四辺)、

フレームが無効な時は SFXMargin::EmptyInstance が返されます。

参照

SFYFlatFrame::DrawFrame | SFXMargin


SFYFlatFrame::SetFocusColor
フォーカス状態にあるときのフラットフレーム領域の色を設定します。
[ public ]
Void SetFocusColor(
    SFXRGBColorConstRef param   // 設定する色
);

解説

この関数は、 フラットフレームがフォーカス状態にあるとき、 フラットフレーム領域を描画する色を設定します。

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

[Caution] フォーカス状態にあるときのフラットフレーム領域の色

フォーカス状態にあるときは、 SFYFlatFrame::SetFocusColor 関数で設定した色でフラットフレーム領域は描画さます。

SFYFlatFrame::SetFrameColor 関数で設定した色でフラットフレーム領域は描画されません。

参照

SFYFlatFrame::GetFocusColor | SFYFlatFrame::SetFrameColor | SFYFlatFrame::DrawFrame | SFXRGBColor | 状態


SFYFlatFrame::SetFrameColor
フラットフレーム領域の色を設定します。
[ public ]
Void SetFrameColor(
    SFXRGBColorConstRef param   // 設定する色
);

解説

この関数は、フラットフレーム領域を描画する色を設定します。

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

[Caution] 非活性状態にあるときのフラットフレーム領域の色

非活性状態にあるときのフラットフレーム領域の色は、 SFYFlatFrame::SetFrameColor 関数によって設定された色の明度を基準にして計算された色になります。

基準となる色の明度が 0x7F より大きい場合はこの色の RGB 値からそれぞれ 0x44 を減算した色、 0x7F 以下の場合はこの色の RGB 値にそれぞれ 0x44 を加算した色で枠線は描画されます。

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

[Caution] フォーカス状態にあるときのフラットフレーム領域の色

フォーカス状態にあるときは、 SFYFlatFrame::SetFocusColor 関数で設定した色でフラットフレーム領域は描画さます。

SFYFlatFrame::SetFrameColor 関数で設定した色でフラットフレーム領域は描画されません。

参照

SFYFlatFrame::GetFrameColor | SFYFlatFrame::SetFocusColor | SFYFlatFrame::DrawFrame | SFXRGBColor::GetBrightness | SFXRGBColor | 状態


SFYFlatFrame::SetFrameEnable
フレームの有無を設定します。
[ public ]
Void SetFrameEnable(
    Bool param   // フレームの有無
);

解説

この関数は、フレームの有無を設定します。

参照

SFYFlatFrame::GetFrameEnable | SFYFlatFrame::GetFrameMargin


SFYFlatFrame::CodeEnum
SFYFlatFrame クラスを表す定数です。
enum CodeEnum {
    CODE_TYPE = four_char_code('.', 'f', 'l', 't')
};
SFMTYPEDEFTYPE(CodeEnum)

参照

SFYResponder::GetType | SFYResponder::SetType