前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBDisplay
IDisplay インターフェースのラッパークラスです。
#include <SFBDisplay.h.hpp>
class SFBDisplay : public SFBBase;
SFMTYPEDEFWRAPPER(SFBDisplay)

継承図

SFBDisplay クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IDisplay

メンバ

パブリック関数
Void Backlight( Bool on )
携帯電話のバックライトを点灯/消灯します。
Void BitBlt( SInt32 xDest , SInt32 yDest , SInt32 cxDest , SInt32 cyDest , VoidConstPtr bmpSrc , SInt32 xSrc , SInt32 ySrc , AEERasterOp rop = AEE_RO_COPY )
ビットマップを表示領域に転送します。
Void BitBlt( SInt32 xDest , SInt32 yDest , SInt32 cxDest , SInt32 cyDest , SFXBufferConstRef bmpSrc , SInt32 xSrc , SInt32 ySrc , AEERasterOp rop = AEE_RO_COPY )
ビットマップを表示領域に転送します。
Void BitBlt( SFXRectangleConstRef rect , VoidConstPtr bmpSrc , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
ビットマップを表示領域に転送します。
Void BitBlt( SFXRectangleConstRef rect , SFXBufferConstRef bmpSrc , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
ビットマップを表示領域に転送します。
Void BitBlt( SFXRectangleConstRef rect , SFBBitmapSmpConstRef bmpSrc , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
ビットマップを表示領域に転送します。
Void ClearScreen( Void )
現在のクリッピング矩形をクリアするか、 またはクリッピング矩形が設定されていない場合は、 デバイス画面全体をクリアします。
SFCError Clone( SFBDisplaySmpPtr clone )
新しい SFBDisplay インスタンスを作成し、 SFBDisplay インスタンスの現在の設定をこの新しいインスタンスにコピーします。
SFBDisplaySmp Clone( Void )
新しい SFBDisplay インスタンスを作成し、 SFBDisplay インスタンスの現在の設定をこの新しいインスタンスにコピーします。
SFCError CreateDIBitmap( SFBDIBSmpPtr clone , UInt08 depth , UInt16 width , UInt16 height )
新しいデバイス独立ビットマップ( DIB )を作成します。
SFBDIBSmp CreateDIBitmap( UInt08 depth , SFXSizeConstRef size )
新しいデバイス独立ビットマップ( DIB )を作成します。
SFCError CreateDIBitmapEx( SFBDIBSmpPtr clone , SInt32 depth , SInt32 height , UInt16 width , SInt32 paletteSize , SInt32 extra )
新しいデバイス独立ビットマップ( DIB )を作成します。
SFBDIBSmp CreateDIBitmapEx( SInt32 depth , SFXSizeConstRef size , SInt32 extra )
新しいデバイス独立ビットマップ( DIB )を作成します。
SInt32 DrawFrame( SFXRectanglePtr rect , AEEFrameType frameType , RGBVAL fillType )
システムのカラー解像度に基づいて複雑なフレームを描画します。
SInt32 DrawFrame( SFXRectanglePtr rect , AEEFrameType frameType , SFXRGBColorConstRef fillType )
システムのカラー解像度に基づいて複雑なフレームを描画します。
Void DrawHLine( SInt16 x , SInt16 y , SInt16 length )
指定した開始点から、指定した長さを持つ水平線を描画します。
Void DrawHLine( SFXPixelConstRef pixel , SInt16 length )
指定した開始点から、指定した長さを持つ水平線を描画します。
Void DrawRect( SFXRectangleConstRef rect , RGBVAL frameColor , RGBVAL fillColor , UInt32 flags )
矩形を描画します。
Void DrawRect( SFXRectangleConstRef rect , SFXRGBColorConstRef frameColor , SFXRGBColorConstRef fillColor , UInt32 flags )
矩形を描画します。
SFCError DrawText( AEEFont font , WCharConstPtr text , SInt32 textLength , SInt32 x , SInt32 y , SFXRectangleConstPtr rect , UInt32 flags = IDF_ALIGN_NONE )
テキストを描画します。
SFCError DrawText( AEEFont font , WCharConstPtr text , SInt32 textLength , SInt32 x , SInt32 y , SFXRectangleConstRef rect , UInt32 flags = IDF_ALIGN_NONE )
テキストを描画します。
SFCError DrawText( AEEFont font , SFXWideStringConstRef text , SInt32 textLength , SFXGridConstPtr grid , SFXRectangleConstPtr rect , UInt32 align = IDF_ALIGN_NONE )
テキストを描画します。
SFCError DrawText( AEEFont font , SFXWideStringConstRef text , SInt32 textLength , SFXGridConstRef grid , SFXRectangleConstRef rect , UInt32 align = IDF_ALIGN_NONE )
テキストを描画します。
SFCError DrawText( AEEFont font , SFXWideStringConstRef text , SInt32 textLength , SFXGridConstRef grid , UInt32 align = IDF_ALIGN_NONE )
テキストを描画します。
SFCError DrawText( AEEFont font , SFXWideStringConstRef text , SInt32 textLength , SFXRectangleConstRef rect , UInt32 align = IDF_ALIGN_NONE )
テキストを描画します。
Void DrawVLine( SInt16 x , SInt16 y , SInt16 length )
指定した開始点から、指定した長さを持つ垂直線を描画します。
Void DrawVLine( SFXPixelConstRef pixel , SInt16 length )
指定した開始点から、指定した長さを持つ垂直線を描画します。
Void EraseRect( SFXRectanglePtr rect )
指定された矩形を既定の背景色で塗り潰します。
Void EraseRgn( SInt16 x , SInt16 y , UInt16 cx , UInt16 cy )
指定された座標で囲まれた領域を既定の背景色で塗り潰します。
Void EraseRgn( SFXRectangleConstRef rect )
指定された座標で囲まれた領域を既定の背景色で塗り潰します。
Void FillRect( SFXRectanglePtr rect , RGBVAL fillColor )
矩形を描画して、指定した色で塗り潰します。
Void FillRect( SFXRectanglePtr rect , SFXRGBColorConstRef fillColor )
矩形を描画して、指定した色で塗り潰します。
Void FrameButton( SFXRectanglePtr rect , Bool pressed , RGBVAL fillType )
システムのカラー解像度に基づいて 3D フレーム付きボタンを描画します。
Void FrameButton( SFXRectanglePtr rect , Bool pressed , SFXRGBColorConstRef fillType )
システムのカラー解像度に基づいて 3D フレーム付きボタンを描画します。
Void FrameRect( SFXRectanglePtr rect )
矩形の境界線を描画します。
Void FrameSolidRect( SFXRectanglePtr rect )
矩形の境界線を描画して、色で塗り潰します。
Void GetClipRect( SFXRectanglePtr rect )
現在のクリッピング矩形を取得します。
SFXRectangle GetClipRect( Void )
現在のクリッピング矩形を取得します。
SFBBitmapSmp GetDestination( Void )
SFBDisplay クラスのレンダリング対象となるターゲットビットマップを取得します。
SFCError GetDeviceBitmap( SFBBitmapSmpPtr clone )
デバイス( 画面 )ビットマップを取得します。
SFBBitmapSmp GetDeviceBitmap( Void )
デバイス( 画面 )ビットマップを取得します。
SInt32 GetFontMetrics( AEEFont font , SInt32Ptr ascent = null , SInt32Ptr descent = null )
指定したフォントの情報を取得します。
static
SFBDisplaySmp
GetInstance( Void )
SFBDisplay インターフェースのインスタンスを取得します。
WChar GetSymbol( AEESymbol symbol , AEEFont font )
指定した記号に対応する文字を取得します。
Void InvertRect( SFXRectanglePtr rect )
指定された矩形内の色を反転させます。
Bool IsEnabled( Void )
描画対象のビットマップに対して、 SFBDisplay が有効状態であるか判定します。
Void MakeDefault( Void )
デフォルトの SFBDisplay オブジェクトとして設定します。
SInt32 MeasureText( AEEFont font , WCharConstPtr text )
指定したテキスト文字列を指定したフォントで描画した場合の幅を測定します。
SInt32 MeasureText( AEEFont font , SFXWideStringConstRef text )
指定したテキスト文字列を指定したフォントで描画した場合の幅を測定します。
SInt32 MeasureTextEx( AEEFont font , WCharConstPtr text , SInt32 textLength , SInt32 maxWidth , SInt32Ptr fits )
指定したテキスト文字列を指定したフォントで描画した場合の幅を測定します。 文字列の実際のピクセル幅が返されます。
SInt32 MeasureTextEx( AEEFont font , SFXWideStringConstRef text , SInt32 textLength , SInt32 maxWidth , SInt32Ptr fits )
指定したテキスト文字列を指定したフォントで描画した場合の幅を測定します。 文字列の実際のピクセル幅が返されます。
static
SFBDisplaySmp
NewInstance( AEECLSID clsid = AEECLSID_DISPLAYCLONE )
SFBDisplay インスタンスを生成します。
static
SFBDisplaySmp
NewInstance( SFCErrorPtr exception = null )
SFBDisplay インスタンスを生成します。
static
SFBDisplaySmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBDisplay インスタンスを生成します。
SFCError NotifyEnable( SFXCallbackPtr callback )
SFBDisplay の有効状態が変化したときに通知を受け取る関数を登録します。
Void ResetClipRect( Void )
クリッピング矩形を解除します。
SFCError ResetDestination( Void )
SFBDisplay クラスのレンダリング先ビットマップの設定を解除し、 レンダリング先をデバイスビットマップに設定します。
Void SetAnnunciators( UInt16 value , UInt16 mask )
指定したアナンシエータ(通知機能)をオンまたはオフに設定します。
Void SetClipRect( SFXRectangleConstRef rect )
クリッピング矩形を設定します。
RGBVAL SetColor( AEEClrItem item , RGBVAL itemColor )
指定されたユーザー項目の色を設定します。
RGBVAL SetColor( AEEClrItem item , SFXRGBColorConstRef itemColor )
指定されたユーザー項目の色を設定します。
SFCError SetDestination( SFBBitmapSmpConstRef bmpDest )
SFBDisplay クラスのレンダリング先のビットマップを設定します。
SFBFontPtr SetFont( AEEFont font , SFBFontPtr newFont )
指定したAEEFont の描画に使用するフォントを設定します。
SFCError SetPrefs( ACharConstPtr dispSettings , SInt32 dispSettingsLen )
ターゲットビットマップに関連付けられたディスプレイのディスプレイ設定を変更します。
SFCError SetPrefs( SFXAnsiStringConstRef dispSettings )
ターゲットビットマップに関連付けられたディスプレイのディスプレイ設定を変更します。
Void Update( Void )
デバイスビットマップに対して描画操作を行った後、 変更を表示ハードウェアに通知します。
Void UpdateEx( Bool defer )
デバイスビットマップに対して描画操作を行った後、 変更を表示ハードウェアに通知します。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBDisplay::Backlight
携帯電話のバックライトを点灯/消灯します。
[ public ]
Void Backlight(
    Bool on   // true の場合は、バックライトが点灯する
              // false の場合は、バックライトが消灯する
);

解説

携帯電話のバックライトの点灯/消灯を切り替えます。

バックライトの動作は、携帯電話の機種に依存します。 この関数でバックライトを点灯させた場合、再度消灯するまでの時間は機種によって異なります。 同様に、この関数でバックライトを消灯させた場合、 再度点灯するまでの時間は機種によって異なります。

参照

BREW API IDISPLAY_Backlight


SFBDisplay::BitBlt
ビットマップを表示領域に転送します。
[ public ]
Void BitBlt(
    SInt32 xDest                    
    SInt32 yDest                    
    SInt32 cxDest                   
    SInt32 cyDest                   
    VoidConstPtr bmpSrc             
    SInt32 xSrc                     
    SInt32 ySrc                     
    AEERasterOp rop = AEE_RO_COPY   
);
[ public ]
Void BitBlt(
    SInt32 xDest                    
    SInt32 yDest                    
    SInt32 cxDest                   
    SInt32 cyDest                   
    SFXBufferConstRef bmpSrc        
    SInt32 xSrc                     
    SInt32 ySrc                     
    AEERasterOp rop = AEE_RO_COPY   
);
[ public ]
Void BitBlt(
    SFXRectangleConstRef rect       
    VoidConstPtr bmpSrc             
    SFXGridConstRef gridSrc         
    AEERasterOp rop = AEE_RO_COPY   
);
[ public ]
Void BitBlt(
    SFXRectangleConstRef rect       
    SFXBufferConstRef bmpSrc        
    SFXGridConstRef gridSrc         
    AEERasterOp rop = AEE_RO_COPY   
);
[ public ]
Void BitBlt(
    SFXRectangleConstRef rect       
    SFBBitmapSmpConstRef bmpSrc     
    SFXGridConstRef gridSrc         
    AEERasterOp rop = AEE_RO_COPY   
);

引数

xDest

宛先矩形領域の左上隅の X 座標を指定する。

yDest

宛先矩形領域の左上隅の Y 座標を指定する。

cxDest

宛先矩形の幅を指定する。 この値がソースビットマップ( bmpSrc )の幅より大きい場合、 このパラメータはソースビットマップの幅と同じになる。

cyDest

宛先矩形の高さを指定する。 この値がソースビットマップ( bmpSrc )の高さより大きい場合、 このパラメータはソースビットマップの高さと同じになる。

bmpSrc

IBitmap インターフェース、IDIB インターフェース、またはソースビットマップ構造体へのポインタ。 ソースビットマップ構造体の場合、ポインタが指しているデータには AEE ヘッダーが含まれない。 BMP 形式の場合、データは BITMAPFILEHEADER から始まることが可能。

xSrc

ビットブロック転送を開始するソースビットマップの左上隅の X 座標を指定する。

ySrc

ビットブロック転送を開始するソースビットマップの左上隅の Y 座標を指定する。

rop

ビットマップの転送中に使用するラスター操作を指定する。

解説

ピクセルの矩形に対応するデータのビットブロックを、 指定したソースビットマップからターゲットビットマップの領域に転送します。 この関数を呼び出した後は、SFBDisplay::Update() を呼び出してして画面を更新する必要があります。 一連の描画処理を行う場合は、すべての描画操作が完了した後に SFBDisplay::Update() を 1 回呼び出すだけで十分です。

参照

BREW API IDISPLAY_BitBlt | BREW API IBitmap | BREW API IDIB | SFBDisplay::Update | AEERasterOp


SFBDisplay::ClearScreen
現在のクリッピング矩形をクリアするか、 またはクリッピング矩形が設定されていない場合は、 デバイス画面全体をクリアします。
[ public ]
Void ClearScreen(Void);

参照

BREW API IDISPLAY_ClearScreen


SFBDisplay::Clone
新しい SFBDisplay インスタンスを作成し、 SFBDisplay インスタンスの現在の設定をこの新しいインスタンスにコピーします。
[ public ]
SFCError Clone(
    SFBDisplaySmpPtr clone   // 新しいインスタンスのアドレスを格納するインターフェース
);
[ public ]
SFBDisplaySmp Clone(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null のとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY

参照

BREW API IDISPLAY_Clone


SFBDisplay::CreateDIBitmap
新しいデバイス独立ビットマップ( DIB )を作成します。
[ public ]
SFCError CreateDIBitmap(
    SFBDIBSmpPtr clone   // 新しい DIB のインターフェースへのポインタ
    UInt08 depth         // 1 ピクセルに使用されるビットの数
    UInt16 width         // 新しいビットマップの幅( ピクセル数 )
    UInt16 height        // 新しいビットマップの高さ( ピクセル数 )
);
[ public ]
SFBDIBSmp CreateDIBitmap(
    UInt08 depth           // 1 ピクセルに使用されるビットの数
    SFXSizeConstRef size   // 新しいビットマップのサイズ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • clone が null のとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ビットマップタイプがサポートされていないとき: SFERR_UNSUPPORTED

参照

BREW API IDISPLAY_CreateDIBitmap | BREW API IDIB_TO_IBITMAP | SFBBitmap | SFBDIB


SFBDisplay::CreateDIBitmapEx
新しいデバイス独立ビットマップ( DIB )を作成します。
[ public ]
SFCError CreateDIBitmapEx(
    SFBDIBSmpPtr clone   // 新しい DIB のインターフェースへのポインタ
    SInt32 depth         // 1 ピクセルに使用されるビットの数
    SInt32 height        // 新しいビットマップの高さ( ピクセル数 )
    UInt16 width         // 新しいビットマップの幅( ピクセル数 )
    SInt32 paletteSize   // パレットエントリの数
    SInt32 extra         // 割り当てる余分のバイト数
);
[ public ]
SFBDIBSmp CreateDIBitmapEx(
    SInt32 depth           // 1 ピクセルに使用されるビットの数
    SFXSizeConstRef size   // 新しいビットマップのサイズ
    SInt32 extra           // 割り当てる余分のバイト数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • clone が null のとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY
  • ビットマップタイプがサポートされていないとき: SFERR_UNSUPPORTED

バージョン

この関数は、BREW 3.1 から使用可能です。

解説

SFBDisplay::CreateDIBitmap 関数と同様の機能ですが、パレットと余剰データ領域の割り当てが可能な点で異なっています。

参照

BREW API IDISPLAY_CreateDIBitmapEx | BREW API IDISPLAY_CreateDIBitmap | BREW API IDIB_TO_IBITMAP | SFBBitmap | SFBDIB


SFBDisplay::DrawFrame
システムのカラー解像度に基づいて複雑なフレームを描画します。
[ public ]
SInt32 DrawFrame(
    SFXRectanglePtr rect     // ソース矩形へのポインタ
                             // このパラメータが null の場合、フレームは描画されない
    AEEFrameType frameType   // フレームタイプ
    RGBVAL fillType          // フレーム内部の塗り潰しタイプ
);
[ public ]
SInt32 DrawFrame(
    SFXRectanglePtr rect           // ソース矩形へのポインタ
                                   // このパラメータが null の場合、フレームは描画されない
    AEEFrameType frameType         // フレームタイプ
    SFXRGBColorConstRef fillType   // フレーム内部を塗りつぶす色
);

参照

BREW API IDISPLAY_DrawFrame | AEEFrameType


SFBDisplay::DrawHLine
指定した開始点から、指定した長さを持つ水平線を描画します。
[ public ]
Void DrawHLine(
    SInt16 x        // 開始点の Y 座標
    SInt16 y        // 開始点の X 座標
    SInt16 length   // 描画する長さ
);
[ public ]
Void DrawHLine(
    SFXPixelConstRef pixel   // 開始点
    SInt16 length            // 描画する長さ
);

参照

BREW API IDISPLAY_DrawHLine | SFBDisplay::DrawVLine


SFBDisplay::DrawRect
矩形を描画します。
[ public ]
Void DrawRect(
    SFXRectangleConstRef rect   // 描画する矩形の座標を定義する AEERect 構造体へのポインタ
                                // これらの座標は、画面の左上隅が ( 0 , 0 ) の画面座標系で指定する
    RGBVAL frameColor           // 矩形のフレーム( 外側の境界線 )の描画に使用する色
                                // このパラメータは、flags に IDF_RECT_FRAME フラグが
                                // 指定されている場合にのみ使用する
    RGBVAL fillColor            // 矩形の塗り潰しに使用する色を指定する
                                // このパラメータは、flags に IDF_RECT_FILL フラグが
                                // 指定されている場合にのみ使用する
    UInt32 flags                // 矩形の描画に使用するフラグを指定する
                                // 以下のフラグの1 つ以上を論理 OR で指定する
                                // ・ IDF_RECT_FRAME  : 矩形の外側の境界のみを描画する
                                // ・ IDF_RECT_FILL   : clrFill の色で矩形を塗りつぶす
                                // ・ IDF_RECT_INVER T: 指定された矩形の内容を反転させる
                                // このフラグを設定すると、frameColor パラメータと 
                                // clrFill パラメータは無効になる
);
[ public ]
Void DrawRect(
    SFXRectangleConstRef rect        
    SFXRGBColorConstRef frameColor   
    SFXRGBColorConstRef fillColor    
    UInt32 flags                     
);

参照

BREW API IDISPLAY_DrawRect | SFBDisplay::Update


SFBDisplay::DrawText
テキストを描画します。
[ public ]
SFCError DrawText(
    AEEFont font                    // テキストの描画に使用するフォントを指定する
    WCharConstPtr text              // 描画するテキストを格納する
    SInt32 textLength               // textの文字数を指定する
                                    // -1 を指定すると、この関数により自動的に長さを計算する 
    SInt32 x                        // テキストを描画する画面上の位置の X 座標を指定する
                                    // 画面の左上隅が (0, 0) となる
                                    // 左右位置揃えフラグが設定されている場合、このパラメータは無効になる
    SInt32 y                        // テキストを描画する画面上の位置の Y 座標を指定する
                                    // 画面の左上隅が (0, 0) となる
                                    // 上下位置揃えフラグが設定されている場合、このパラメータは無効になる 
    SFXRectangleConstPtr rect       // クリップ領域の座標を指定する 
                                    // null の場合、ターゲットビットマップの境界がクリップ領域になる
                                    // テキストはクリップ領域の外側には描画されない
                                    // DF_RECT_XXXX フラグが指定されている場合、 その目的のためにも利用される
                                    // NOTE: SFBDisplay::SetClipRect 関数で指定するクリップ領域とは独立している
                                    //       テキストは2つのクリップ領域内に描画される
                                    //       IDF_ALIGN_XXXX フラグは rect パラメータにのみアライン指定される 
    UInt32 flags = IDF_ALIGN_NONE   // テキスト描画のためにフラグを指定する
                                    // 以下のフラグの 1 つ以上を論理 OR で指定する
                                    // ・ 左右位置揃えフラグのひとつ( IDF_ALIGN_LEFT , IDF_ALIGN_CENTER , IDF_ALIGN_RIGHT )
                                    // ・ 上下位置揃えフラグのひとつ( IDF_ALIGN_TOP , IDF_ALIGN_MIDDLE , IDF_ALIGN_BOTTOM )
                                    // ・ テキストフォーマットフラグのひとつ( IDF_TEXT_UNDERLINE , IDF_TEXT_INVERTED )
                                    // ・ 矩形フォーマットフラグのひとつ( IDF_RECT_FRAME , IDF_RECT_FILL , IDF_RECT_INVERT ) 
                                    // --- これらのフラグは rect パラメータについて機能する
                                    //      CLR_USER_BACKGROUND as the fill color
                                    //      CLR_USER_FRAME as the frame color
                                    // 位置揃えフラグが指定されない場合、 x, y パラメータによってテキストの場所を決定する 
);
[ public ]
SFCError DrawText(
    AEEFont font                    
    WCharConstPtr text              
    SInt32 textLength               
    SInt32 x                        
    SInt32 y                        
    SFXRectangleConstRef rect       
    UInt32 flags = IDF_ALIGN_NONE   
);
[ public ]
SFCError DrawText(
    AEEFont font                    // テキストの描画に使用するフォントを指定する
    SFXWideStringConstRef text      // 描画するテキストを格納する
    SInt32 textLength               // textの文字数を指定する
                                    // -1 を指定すると、この関数により自動的に長さを計算する 
    SFXGridConstPtr grid            // テキストを描画する画面上の位置 (X, Y) を指定する
                                    // 画面の左上隅が (0, 0) となる
    SFXRectangleConstPtr rect       // クリップ領域の座標を指定する 
                                    // null の場合、ターゲットビットマップの境界がクリップ領域になる
                                    // テキストはクリップ領域の外側には描画されない
                                    // DF_RECT_XXXX フラグが指定されている場合、 その目的のためにも利用される
                                    // NOTE: SFBDisplay::SetClipRect 関数で指定するクリップ領域とは独立している
                                    //       テキストは2つのクリップ領域内に描画される
                                    //       IDF_ALIGN_XXXX フラグは rect パラメータにのみアライン指定される 
    UInt32 align = IDF_ALIGN_NONE   // テキスト描画のためにフラグを指定する
                                    // 以下のフラグの 1 つ以上を論理 OR で指定する
                                    // ・ 左右位置揃えフラグのひとつ( IDF_ALIGN_LEFT , IDF_ALIGN_CENTER , IDF_ALIGN_RIGHT )
                                    // ・ 上下位置揃えフラグのひとつ( IDF_ALIGN_TOP , IDF_ALIGN_MIDDLE , IDF_ALIGN_BOTTOM )
                                    // ・ テキストフォーマットフラグのひとつ( IDF_TEXT_UNDERLINE , IDF_TEXT_INVERTED )
                                    // ・ 矩形フォーマットフラグのひとつ( IDF_RECT_FRAME , IDF_RECT_FILL , IDF_RECT_INVERT ) 
                                    // --- これらのフラグは rect パラメータについて機能する
                                    //      CLR_USER_BACKGROUND as the fill color
                                    //      CLR_USER_FRAME as the frame color
                                    // ※ grid 引数が指定される場合、IDF_ALIGN_ フラグの指定による位置揃えは無効になる
);
[ public ]
SFCError DrawText(
    AEEFont font                    
    SFXWideStringConstRef text      
    SInt32 textLength               
    SFXGridConstRef grid            
    SFXRectangleConstRef rect       
    UInt32 align = IDF_ALIGN_NONE   
);
[ public ]
SFCError DrawText(
    AEEFont font                    
    SFXWideStringConstRef text      
    SInt32 textLength               
    SFXGridConstRef grid            
    UInt32 align = IDF_ALIGN_NONE   
);
[ public ]
SFCError DrawText(
    AEEFont font                    
    SFXWideStringConstRef text      
    SInt32 textLength               
    SFXRectangleConstRef rect       
    UInt32 align = IDF_ALIGN_NONE   
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

解説

[Caution] 位置揃えフラグ

grid 引数が指定される場合、align 引数への IDF_ALIGN_*** フラグ(位置揃えフラグ)の指定は無効になります。

このとき、 テキストは align 引数に指定した左右位置揃えフラグ(IDF_ALIGN_LEFT, IDF_ALIGN_CENTER,IDF_ALIGN_RIGHT)や 上下位置揃えフラグ(IDF_ALIGN_TOP, IDF_ALIGN_MIDDLE,IDF_ALIGN_BOTTOM)の位置揃えではなく、 grid 引数に指定した位置に描画されます。

※ IDF_TEXT_UNDERLINE など IDF_ALIGN_*** 以外のフラグは有効です。

参照

BREW API IDISPLAY_DrawText | BREW API IDISPLAY フラグ | SFBDisplay::Update | AEEFont


SFBDisplay::DrawVLine
指定した開始点から、指定した長さを持つ垂直線を描画します。
[ public ]
Void DrawVLine(
    SInt16 x        // 開始点の X 座標
    SInt16 y        // 開始点の Y 座標
    SInt16 length   // 描画する長さ
);
[ public ]
Void DrawVLine(
    SFXPixelConstRef pixel   // 開始点
    SInt16 length            // 描画する長さ
);

参照

BREW API IDISPLAY_DrawVLine | SFBDisplay::DrawHLine


SFBDisplay::EraseRect
指定された矩形を既定の背景色で塗り潰します。
[ public ]
Void EraseRect(
    SFXRectanglePtr rect   // 色を反転する矩形への有効なポインタ
);

参照

BREW API IDISPLAY_EraseRect


SFBDisplay::EraseRgn
指定された座標で囲まれた領域を既定の背景色で塗り潰します。
[ public ]
Void EraseRgn(
    SInt16 x    // 領域の左上隅の X 座標
    SInt16 y    // 領域の左上隅の Y 座標
    UInt16 cx   // 領域の幅
    UInt16 cy   // 領域の高さ
);
[ public ]
Void EraseRgn(
    SFXRectangleConstRef rect   // 領域
);

参照

BREW API IDISPLAY_EraseRgn


SFBDisplay::FillRect
矩形を描画して、指定した色で塗り潰します。
[ public ]
Void FillRect(
    SFXRectanglePtr rect   // 指定した色で塗りつぶす矩形への有効なポインタ
    RGBVAL fillColor       // 矩形の塗り潰しに使用する色
);
[ public ]
Void FillRect(
    SFXRectanglePtr rect            // 指定した色で塗りつぶす矩形への有効なポインタ
    SFXRGBColorConstRef fillColor   // 矩形の塗り潰しに使用する色
);

参照

BREW API IDISPLAY_FillRect


SFBDisplay::FrameButton
システムのカラー解像度に基づいて 3D フレーム付きボタンを描画します。
[ public ]
Void FrameButton(
    SFXRectanglePtr rect   // ソース矩形へのポインタ
    Bool pressed           // ボタンの押下 / 非押下を示す識別子
    RGBVAL fillType        // フレーム内部の塗り潰しタイプ
);
[ public ]
Void FrameButton(
    SFXRectanglePtr rect           // ソース矩形へのポインタ
    Bool pressed                   // ボタンの押下 / 非押下を示す識別子
    SFXRGBColorConstRef fillType   // フレーム内部を塗りつぶす色。
);

参照

BREW API IDISPLAY_FrameButton


SFBDisplay::FrameRect
矩形の境界線を描画します。
[ public ]
Void FrameRect(
    SFXRectanglePtr rect   // 境界線を描画する矩形への有効なポインタ
);

参照

BREW API IDISPLAY_FrameRect


SFBDisplay::FrameSolidRect
矩形の境界線を描画して、色で塗り潰します。
[ public ]
Void FrameSolidRect(
    SFXRectanglePtr rect   // 描画して塗りつぶす矩形への有効なポインタ
);

参照

BREW API IDISPLAY_FrameSolidRect


SFBDisplay::GetClipRect
現在のクリッピング矩形を取得します。
[ public ]
Void GetClipRect(
    SFXRectanglePtr rect   // 現在のクリッピング矩形の出力先 SFXRectangle へのポインタ
);
[ public ]
SFXRectangle GetClipRect(Void);

参照

BREW API IDISPLAY_GetClipRect | SFBDisplay::SetClipRect


SFBDisplay::GetDestination
SFBDisplay クラスのレンダリング対象となるターゲットビットマップを取得します。
[ public ]
SFBBitmapSmp GetDestination(Void);

戻り値

SFBDisplay クラスのレンダリング対象となるターゲットビットマップ

解説

SFBDisplay クラスのレンダリング対象となるターゲットビットマップを取得します。

参照

BREW API IDISPLAY_GetDestination | SFBDisplay::SetDestination | SFBBitmap


SFBDisplay::GetDeviceBitmap
デバイス( 画面 )ビットマップを取得します。
[ public ]
SFCError GetDeviceBitmap(
    SFBBitmapSmpPtr clone   // デバイスビットマップのインターフェースへのポインタ
);
[ public ]
SFBBitmapSmp GetDeviceBitmap(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API IDISPLAY_GetDeviceBitmap


SFBDisplay::GetFontMetrics
指定したフォントの情報を取得します。
[ public ]
SInt32 GetFontMetrics(
    AEEFont font               // アセントおよびディセント情報を取得するフォントタイプを指定する
    SInt32Ptr ascent = null    // 入力時は、SInt32 への有効なポインタ
                               // リターン時は、指定したフォントのアセント値を示す整数を指す
                               // null ポインタも使用でき、この場合は、リターン時も null になる
    SInt32Ptr descent = null   // 入力時は、SInt32 への有効なポインタ
                               // リターン時は、指定したフォントのディセント値を示す整数を指す
                               // null ポインタも使用でき、この場合は、リターン時も null になる 
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_FAILED

参照

BREW API IDISPLAY_GetFontMetrics


SFBDisplay::GetInstance
SFBDisplay インターフェースのインスタンスを取得します。
[ public, static ]
SFBDisplaySmp GetInstance(Void);

SFBDisplay::GetSymbol
指定した記号に対応する文字を取得します。
[ public ]
WChar GetSymbol(
    AEESymbol symbol   // 要求する記号
    AEEFont font       // 要求するフォント
);

参照

BREW API IDISPLAY_GetSymbol


SFBDisplay::InvertRect
指定された矩形内の色を反転させます。
[ public ]
Void InvertRect(
    SFXRectanglePtr rect   // 色を反転する矩形への有効なポインタ
);

参照

BREW API IDISPLAY_InvertRect


SFBDisplay::IsEnabled
描画対象のビットマップに対して、 SFBDisplay が有効状態であるか判定します。
[ public ]
Bool IsEnabled(Void);

戻り値

  • このディスプレイが有効になっているか、またはターゲットビットマップがデバイスビットマップでないとき: true
  • それ以外のとき: false

解説

SFBDisplay が無効状態にある場合、 描画関数を呼び出しても効果がありません。 アプリケーションが SFBDIB を通じてデバイス ビットマップの ピクセル バッファに直接アクセスできる場合、 SFBDisplay が無効状態にある間、 ピクセル バッファを変更しないことが重要です。

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API IDISPLAY_IsEnabled | SFBDisplay::NotifyEnable


SFBDisplay::MakeDefault
デフォルトの SFBDisplay オブジェクトとして設定します。
[ public ]
Void MakeDefault(Void);

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API IDISPLAY_MakeDefault


SFBDisplay::MeasureText
指定したテキスト文字列を指定したフォントで描画した場合の幅を測定します。
[ public ]
SInt32 MeasureText(
    AEEFont font         // 指定したテキストの幅の測定に使用するフォント
                         // 指定したテキスト文字列を指定したフォントで描画した場合の幅を測定する
    WCharConstPtr text   // 測定する文字列へのポインタ
);
[ public ]
SInt32 MeasureText(
    AEEFont font                 // 指定したテキストの幅の測定に使用するフォント
                                 // 指定したテキスト文字列を指定したフォントで描画した場合の幅を測定する
    SFXWideStringConstRef text   // 測定する文字列へのポインタ
);

参照

BREW API IDISPLAY_MeasureText


SFBDisplay::MeasureTextEx
指定したテキスト文字列を指定したフォントで描画した場合の幅を測定します。 文字列の実際のピクセル幅が返されます。
[ public ]
SInt32 MeasureTextEx(
    AEEFont font         
    WCharConstPtr text   
    SInt32 textLength    
    SInt32 maxWidth      
    SInt32Ptr fits       
);
[ public ]
SInt32 MeasureTextEx(
    AEEFont font                 
    SFXWideStringConstRef text   
    SInt32 textLength            
    SInt32 maxWidth              
    SInt32Ptr fits               
);

引数

font

指定したテキストの幅の測定に使用するフォント。 この関数は、指定したテキスト文字列を指定したフォントで描画した場合の幅を測定する。

text

測定する文字列へのポインタ。

textLength

text の文字数を指定する 。 -1 を指定すると、この関数により自動的に長さを計算する。

maxWidth

テキストの描画に使用できる最大ピクセル幅を指定する。 maxWidth に -1 を指定すると、テキスト文字列の nChars 部が測定され、 *pnFits には常にテキストの全体の長さを返す。 maxWidth > 0 の場合、この値はテキストの描画に使用できる最大のピクセル幅を表す。 この関数は、この制約の中で実際に収まる最大文字数を算出し、 その文字数を *pnFits に格納し、実際のピクセル幅を戻り値として返す。

fits

入力時は整数への有効なポインタ。 関数のリターン時は、maxWidth で指定したピクセル幅に収まる最大文字数を示す整数へのポインタ。 maxWidth に -1 を指定した場合は、指定した文字列 text の全体の長さを示す整数へのポインタ。

参照

BREW API IDISPLAY_MeasureTextEx


SFBDisplay::NewInstance
SFBDisplay インスタンスを生成します。
[ public, static ]
SFBDisplaySmp NewInstance(
    AEECLSID clsid = AEECLSID_DISPLAYCLONE   
);
[ public, static ]
SFBDisplaySmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);
[ public, static ]
SFBDisplaySmp NewInstance(
    AEECLSID id                    // クラスID
    SFCErrorPtr exception = null   // エラー値
);

解説

static  SFBDisplaySmp  NewInstance(AEECLSID clsid = AEECLSID_DISPLAYCLONE);

は BREW 2.1 環境で定義されます。

static  SFBDisplaySmp  NewInstance(Void);

は BREW 2.0 環境で定義されます。


SFBDisplay::NotifyEnable
SFBDisplay の有効状態が変化したときに通知を受け取る関数を登録します。
[ public ]
SFCError NotifyEnable(
    SFXCallbackPtr callback   // コールバック構造体
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が不正なとき: SFERR_INVALID_PARAM

バージョン

この関数は、BREW 2.1 から使用可能です。

参照

BREW API IDISPLAY_NotifyEnable | SFBDisplay::IsEnabled


SFBDisplay::ResetClipRect
クリッピング矩形を解除します。
[ public ]
Void ResetClipRect(Void);

参照

SFBDisplay::SetClipRect


SFBDisplay::ResetDestination
SFBDisplay クラスのレンダリング先ビットマップの設定を解除し、 レンダリング先をデバイスビットマップに設定します。
[ public ]
SFCError ResetDestination(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_FAILED

解説

SFBDisplay::SetDestination( null ) を呼び出すことと同じです。

参照

SFBDisplay::SetDestination


SFBDisplay::SetAnnunciators
指定したアナンシエータ(通知機能)をオンまたはオフに設定します。
[ public ]
Void SetAnnunciators(
    UInt16 value   // オン / オフを切り替えるアナンシエータ(通知機能)のセットを指定する
                   // 以下のアナンシエータ(通知機能)のフラグを 1 つ以上を論理 OR で指定する
                   // ANNUN_MMS MMS:    アプリケーションで使用される
                   // ANNUN_MSG:        ボイスメール
                   // ANNUN_NET_MSG:    ネットメッセージ
                   // ANNUN_ALARMCLOCK: アラームクロック
                   // ANNUN_NET_LOCK:   ロックされたデバイス
                   // ANNUN_STOPWATCH:  ストップウォッチ
                   // ANNUN_COUNTDOWN:  カウントダウンクロック
                   // ANNUN_SILENCEALL: ベル音オフ
    UInt16 mask    // value に指定したアナンシエータ(通知機能)のフラグごとに、
                   // このマスクの対応するビットでアナンシエータ(通知機能)のオン / オフを指定する
);

解説

指定されたアナンシエータ(通知機能)をオンまたはオフにします。 この関数のサポートと振る舞いは、デバイスに依存します。

指定可能なアナンシエータ(通知機能)は以下の通りです。

  • ANNUN_MMS MMS: アプリケーションで使用される
  • ANNUN_MSG: ボイスメール
  • ANNUN_NET_MSG: ネットメッセージ
  • ANNUN_ALARMCLOCK: アラームクロック
  • ANNUN_NET_LOCK: ロックされたデバイス
  • ANNUN_STOPWATCH: ストップウォッチ
  • ANNUN_COUNTDOWN: カウントダウンクロック
  • ANNUN_SILENCEALL: ベル音オフ

参照

BREW API IDISPLAY_SetAnnunciators


SFBDisplay::SetClipRect
クリッピング矩形を設定します。
[ public ]
Void SetClipRect(
    SFXRectangleConstRef rect   // 設定するクリッピング矩形
);

参照

BREW API IDISPLAY_SetClipRect | SFBDisplay::GetClipRect


SFBDisplay::SetColor
指定されたユーザー項目の色を設定します。
[ public ]
RGBVAL SetColor(
    AEEClrItem item    // 色を変更するユーザー項目を指定する
                       // 接頭辞 CLR_USER を持つ AEEClrItem 列挙の項目の 1 つを指定する
    RGBVAL itemColor   // item パラメータで指定した項目に関連付ける新しい色
                       // AEEClrItem enum の 1 項目のインデックスか RGB 値を指定する
);
[ public ]
RGBVAL SetColor(
    AEEClrItem item                 // 色を変更するユーザー項目を指定する
                                    // 接頭辞 CLR_USER を持つ AEEClrItem 列挙の項目の 1 つを指定する
    SFXRGBColorConstRef itemColor   // item パラメータで指定した項目に関連付ける新しい色
);

参照

BREW API IDISPLAY_SetColor | AEEClrItem


SFBDisplay::SetDestination
SFBDisplay クラスのレンダリング先のビットマップを設定します。
[ public ]
SFCError SetDestination(
    SFBBitmapSmpConstRef bmpDest   // レンダリング対象となるターゲットビットマップ、
                                   // デバイスビットマップに設定する場合は null
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_FAILED

解説

SFBDisplay クラスのレンダリング対象となるターゲットビットマップを設定します。

引数に null を指定した場合は、デバイスビットマップに設定されます。

デフォルト値: デバイスビットマップ

参照

BREW API IDISPLAY_SetDestination | SFBBitmap | SFBDisplay::GetDestination


SFBDisplay::SetFont
指定したAEEFont の描画に使用するフォントを設定します。
[ public ]
SFBFontPtr SetFont(
    AEEFont font         // フォントを指定する
    SFBFontPtr newFont   // SFBFont ポインタ
);

解説

SFBFontPtr SetFont( AEEFont font, SFBFontPtr newFont ); はスマートポインタを使用しません。

これにより、ユーザーはアプリ終了時に古いポインタをリストアできます。 アプリケーションは SetFont() に渡した後のフォントを解放してはいけません。

また、アプリケーションは返された SFBFont を解放するか、 より正しくは、アプレットの終了時にリストアするために、古い SFBFont を保持するべきです。

使用例

SetFont メソッドを使い、フォントを解放するサンプルコードです

SFBFontPtr validFont;

// フォントの作成
...

// 作成したフォントを設定する
SFBFontPtr oldFont = display->SetFont(AEE_FONT_NORMAL, validFont);

...

// 古いフォントを再設定する
validFont = display->SetFont(AEE_FONT_NORMAL, oldFont);

// 作成したフォントはスマートポインタにアタッチすることで自動的に解放する
SFBFontSmp tmpFont;
tmpFont.Attach(validFont);

// Release() メソッドをスマートポインタにより呼び出すことも可能

参照

BREW API IDISPLAY_SetFont | BREW API AEEFont


SFBDisplay::SetPrefs
ターゲットビットマップに関連付けられたディスプレイのディスプレイ設定を変更します。
[ public ]
SFCError SetPrefs(
    ACharConstPtr dispSettings   // ディスプレイ設定文字列
    SInt32 dispSettingsLen       // dispSettings 内の文字数
);
[ public ]
SFCError SetPrefs(
    SFXAnsiStringConstRef dispSettings   // ディスプレイ設定文字列
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 宛先がデバイスビットマップでないか、ディスプレイがそのディスプレイ設定をサポートしていないとき: SFERR_UNSUPPORTED
  • アプリケーションが AEEPRIVID_DISPSETTINGS の特権を持っていないとき: EPRIVLEVEL

バージョン

この関数は、BREW 3.1 から使用可能です。

解説

ターゲットビットマップがデバイスビットマップでない場合、この関数は何もしません。

参照

BREW API IDISPLAY_SetPrefs


SFBDisplay::Update
デバイスビットマップに対して描画操作を行った後、 変更を表示ハードウェアに通知します。
[ public ]
Void Update(Void);

参照

BREW API IDISPLAY_Update


SFBDisplay::UpdateEx
デバイスビットマップに対して描画操作を行った後、 変更を表示ハードウェアに通知します。
[ public ]
Void UpdateEx(
    Bool defer   // 画面を即時に更新するか、後で更新するかを示すブールフラグ
);

参照

BREW API IDISPLAY_UpdateEx