[前へ] [目次へ] [次へ]

DRFrame (ネイティブクラス)


このクラスは静止画ウィンドウフレームを描画するDRを扱うクラスです。

DR系クラスは描画に必要な情報を保持するクラスで、
INativeDrawResource での描画に対応したクラスを介して描画されます。
このクラスのインスタンスが消滅した時、
そのインスタンスへのリンクは強制的に解除されます。
描画に使用しているDRインスタンスを消滅させないようにしてください。

一番簡単にDRを画面に表示するには DRWindow クラスを使用します。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   implements INativeDrawResource
          (C++レベルキャスト)IFGESDrawResource


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public設定メソッド SetLayerCntウィンドウフレームの構成レイヤー数を設定します
public設定メソッド SetLayerInfoレイヤーの描画内容を設定します
public操作メソッド DrawFrameウィンドウフレームを描画します

●クラス共有変数

名前概要
readable RESIZE拡縮
readable TILINGタイリング
readable DEFAULTデフォルト
readable COPY上書き
readable ALPHA透過
readable LAYERレイヤー
readable MIXALPHA透過合成
readable MIXLAYERレイヤー合成
readable COPYA透過度のみコピー

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_DRFRAME
クラス名: FGES_DRFrame



DRFrame::SetLayerCnt

public void SetLayerCnt( INativeInteger layercnt)

   このオブジェクトが描画するフレームを構成するレイヤー数を設定します。
   このメソッドを呼び出すと現在設定されている内容は全て削除されます。
   
   構成するレイヤーが存在しない場合や
   全てのレイヤーの設定が行われていない場合、フレームは正しく描画されません。

INativeInteger layercnt :設定するレイヤー数

先頭へ


DRFrame::SetLayerInfo

public void SetLayerInfo( INativeInteger layerid,
             INativeBitmap bitmap, INativeInteger lx, INativeInteger rx,
             INativeInteger ty, INativeInteger by, INativeInteger? drawmode=NULL)


   このオブジェクトが描画するフレームを構成するレイヤーを設定します。
   各レイヤーは指定されたビットマップ画像を9分割し、
   指定された大きさに合わせて変形後、指定した描画方法で描画します。
   レイヤーは0番から順に重ねて処理され、番号が大きい方が上になります。
   
   指定された大きさが9分割できる領域よりも小さい場合描画は失敗します。
   このメソッドは指定されたビットマップオブジェクトに対してビットマップ共有を作成します。

INativeInteger layerid :設定するレイヤー番号
INativeBitmap bitmap :描画に使用する画像
INativeInteger lx :9分割の左側垂直分割線のX座標
INativeInteger rx :9分割の右側垂直分割線のX座標
INativeInteger ty :9分割の上側水平分割線のY座標
INativeInteger by :9分割の下側水平分割線のY座標
INativeInteger? drawmode=NULL :レイヤーの描画方法。以下の各グループのOR結合。
四隅以外の処理方法:
識別名内容
DRFrame::RESIZE四隅以外は大きさに合わせて拡大/縮小する(デフォルト)
DRFrame::TILING四隅以外は領域に該当部分の画像を敷き詰める
描画方法:
識別名内容
DRFrame::DEFAULT0番は上書き、1番以降は透過(デフォルト)
DRFrame::COPY上書き
DRFrame::ALPHA透過
DRFrame::LAYER透明部分以外を色のみ上書き
DRFrame::MIXALPHA透過合成
DRFrame::MIXLAYER透明部分以外を合成
DRFrame::COPYA透過度のみを上書き

先頭へ


DRFrame::DrawFrame

public Bool DrawFrame( INativeInteger x, INativeInteger y,
             editable Bitmap out_bitmap, INativeInteger width, INativeInteger height)


   このオブジェクトの設定でウィンドウフレームを描画します。
   
   構成するレイヤーが存在しない場合や
   全てのレイヤーの設定が行われていない場合、
   最小サイズより小さい領域を指定した場合はフレームは正しく描画されません。

戻り値:描画に成功すると真を返します。

INativeInteger x :描画領域の左端座標
INativeInteger y :描画領域の上端座標
editable Bitmap out_bitmap :描画先の画像
INativeInteger width :描画領域の横幅
INativeInteger height :描画領域の縦幅

先頭へ


DRFrame::RESIZE

readable readonly Integer RESIZE

   SetLayerInfo メソッドで拡縮モードを示す定数。

先頭へ


DRFrame::TILING

readable readonly Integer TILING

   SetLayerInfo メソッドでタイリングモードを示す定数。

先頭へ


DRFrame::DEFAULT

readable readonly Integer DEFAULT

   SetLayerInfo メソッドでデフォルト描画を示す定数。

先頭へ


DRFrame::COPY

readable readonly Integer COPY

   SetLayerInfo メソッドで上書き描画を示す定数。

先頭へ


DRFrame::ALPHA

readable readonly Integer ALPHA

   SetLayerInfo メソッドで透過描画を示す定数。

先頭へ


DRFrame::LAYER

readable readonly Integer LAYER

   SetLayerInfo メソッドでレイヤー描画を示す定数。

先頭へ


DRFrame::MIXALPHA

readable readonly Integer MIXALPHA

   SetLayerInfo メソッドで透過合成描画を示す定数。

先頭へ


DRFrame::MIXLAYER

readable readonly Integer MIXLAYER

   SetLayerInfo メソッドでレイヤー合成描画を示す定数。

先頭へ


DRFrame::COPYA

readable readonly Integer COPYA

   SetLayerInfo メソッドで透過度コピーを示す定数。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2022/09/01