Kagetaka

net.hizlab.kagetaka.rendering.block
クラス RootBlock

java.lang.Object
  拡張net.hizlab.kagetaka.rendering.block.Block
      拡張net.hizlab.kagetaka.rendering.block.BasicBlock
          拡張net.hizlab.kagetaka.rendering.block.ContainerBlock
              拡張net.hizlab.kagetaka.rendering.block.RootBlock

public class RootBlock
extends ContainerBlock

ルートブロック(BODY)を表します。

バージョン:
$Revision: 1.8 $

フィールドの概要
 
クラス net.hizlab.kagetaka.rendering.block.ContainerBlock から継承したフィールド
floatBlocks, floatManager
 
クラス net.hizlab.kagetaka.rendering.block.Block から継承したフィールド
border, bottom, container, contentHeight, contents, defaultBlock, drawBottom, drawkit, drawLeft, drawRight, drawTop, frame, frameHeight, frameWidth, height, isAdoptee, isEmpty, left, margin, MARGIN_BOTTOM, MARGIN_LEFT, MARGIN_RIGHT, MARGIN_TOP, MARKER_AFTER, MARKER_BEFORE, maxHeight, minHeight, padding, parent, preferredHeight, preferredWidth, right, SIZE_AUTO, SIZE_NONE, SIZE_PERCENT, status, top, width
 
コンストラクタの概要
RootBlock(Drawkit drawkit, Status status, int tag)
          ルートブロックを作成します。
 
メソッドの概要
 void analyze(int minParentHeight, int maxParentHeight)
          自分のサイズの最小と最大の高さを算出します。 算出した結果は、 Block.minHeightBlock.maxHeight に設定します。
protected  void calculatePreferred()
          ブロック内容物の推奨サイズを算出します。 算出した結果は、 Block.preferredWidthBlock.preferredHeight に設定します。
 Block commitBlock()
          ブロックをコミットし、その親のブロックを返します。
protected  Block commitChild()
          最後の子のブロックがコミットしたときに呼び出され、 子のブロックに対する親(大抵は自分自身)を返す必要があります。
 Block createBlock(Status status, Status markerStatus)
          ブロックを作成し、作成したブロックを返します。
protected  void deployFloat(FloatBlock block, int right, int top, int bottom)
          フロートブロックを配置します。
 void dispose()
          リソースを解放します。
protected  void draw(Canvas canvas, int x, int y)
          ブロックを描画します。
protected  void invalidate()
          現在の計算を無効にして、再計算対象にします。
 void redraw(int tag)
          描画済みのブロックを再描画します。
protected  char registerFloat(FloatBlock block)
          フロートブロックを登録し、管理番号を返します。
 void validate(int parentHeight, int prevLeftMargin, int x, int y, int containerX, int containerY)
          再整形を行います。 このメソッドで、Block.heightBlock.topBlock.rightBlock.contentHeight フィールドと Block.calculateFrame(int)Block.layoutBlock(int, int, int) メソッドが設定するフィールドを、設定する必要があります。
 
クラス net.hizlab.kagetaka.rendering.block.ContainerBlock から継承したメソッド
adjustInnerFloat, drawContent, getFloat, getFloatTrench
 
クラス net.hizlab.kagetaka.rendering.block.BasicBlock から継承したメソッド
analyze, layoutBlock
 
クラス net.hizlab.kagetaka.rendering.block.Block から継承したメソッド
appendBlock, appendFloat, appendForm, appendImage, appendNewLine, appendString, calculateFrame, commitDefaultBlock, commitRow, createBlockInternal, drawBackground, drawBorder, ensureDefaultBlock, getFirstLine, getFrameHeight, getMargin, getMarginOffset, getPreferredSize, setRuby, statusChanged, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

RootBlock

public RootBlock(Drawkit drawkit,
                 Status status,
                 int tag)
ルートブロックを作成します。

パラメータ:
drawkit - ドローキット
status - ステータス
tag - サイズ変更を識別するタグ
メソッドの詳細

analyze

public void analyze(int minParentHeight,
                    int maxParentHeight)
自分のサイズの最小と最大の高さを算出します。 算出した結果は、 Block.minHeightBlock.maxHeight に設定します。

オーバーライド:
クラス BasicBlock 内の analyze

calculatePreferred

protected void calculatePreferred()
ブロック内容物の推奨サイズを算出します。 算出した結果は、 Block.preferredWidthBlock.preferredHeight に設定します。

オーバーライド:
クラス Block 内の calculatePreferred

commitBlock

public Block commitBlock()
ブロックをコミットし、その親のブロックを返します。

オーバーライド:
クラス Block 内の commitBlock
戻り値:
親ブロック

commitChild

protected Block commitChild()
最後の子のブロックがコミットしたときに呼び出され、 子のブロックに対する親(大抵は自分自身)を返す必要があります。

オーバーライド:
クラス Block 内の commitChild
戻り値:
最後の子のブロックの親

createBlock

public Block createBlock(Status status,
                         Status markerStatus)
ブロックを作成し、作成したブロックを返します。

オーバーライド:
クラス Block 内の createBlock
パラメータ:
status - ステータス
markerStatus - マーカーステータス。 マーカーが無い場合は null
戻り値:
作成したブロック

deployFloat

protected void deployFloat(FloatBlock block,
                           int right,
                           int top,
                           int bottom)
フロートブロックを配置します。

オーバーライド:
クラス ContainerBlock 内の deployFloat
パラメータ:
block - フロートブロック
right - 配置できる右辺の右からの距離
top - 配置できる上辺の上からの距離
bottom - 配置できる下辺の上からの距離

dispose

public void dispose()
リソースを解放します。


draw

protected void draw(Canvas canvas,
                    int x,
                    int y)
ブロックを描画します。

オーバーライド:
クラス Block 内の draw
パラメータ:
canvas - 描画するキャンバス
x - 親ブロック内容物の、キャンバス左上からの X 軸
y - 親ブロック内容物の、キャンバス左上からの Y 軸

invalidate

protected void invalidate()
現在の計算を無効にして、再計算対象にします。

オーバーライド:
クラス Block 内の invalidate

redraw

public void redraw(int tag)
描画済みのブロックを再描画します。

パラメータ:
tag - サイズ変更を識別するタグ

registerFloat

protected char registerFloat(FloatBlock block)
フロートブロックを登録し、管理番号を返します。

オーバーライド:
クラス ContainerBlock 内の registerFloat
パラメータ:
block - フロートブロック
戻り値:
管理番号

validate

public void validate(int parentHeight,
                     int prevLeftMargin,
                     int x,
                     int y,
                     int containerX,
                     int containerY)
再整形を行います。 このメソッドで、Block.heightBlock.topBlock.rightBlock.contentHeight フィールドと Block.calculateFrame(int)Block.layoutBlock(int, int, int) メソッドが設定するフィールドを、設定する必要があります。

オーバーライド:
クラス Block 内の validate
パラメータ:
parentHeight - フレーム等を含めた新しい高さ (親包含ブロックの height)。 この高さ以内になるべく全てが収まるように再整形を行う
prevLeftMargin - 前のブロックの左マージン
x - 親包含ブロックから自ブロック右上に対する X
y - 親包含ブロックから自ブロック右上に対する Y
containerX - コンテナブロックから親ブロック右上に対する X
containerY - コンテナブロックから親ブロック右上に対する Y

Kagetaka

Copyright (c) 2002-2004 The Kagetaka Project 'November 20, 2004'