Kagetaka

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

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.FloatBlock

public class FloatBlock
extends ContainerBlock

フロートブロックを表します。

バージョン:
$Revision: 1.7 $

フィールドの概要
 boolean avertFloat
          ブロック全体がフロートを避ける必要があるかどうか
 
クラス 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
 
コンストラクタの概要
protected FloatBlock(Drawkit drawkit, Status status, Block parent, Status markerStatus)
          フロートブロックを保有するブロックを作成します。
 
メソッドの概要
 void analyze(int minParentHeight, int maxParentHeight)
          自分のサイズの最小と最大の高さを算出します。 算出した結果は、 Block.minHeightBlock.maxHeight に設定します。
protected  void calculateFrame(int parentHeight)
          ボーダー以外のフレーム関係のサイズを算出します。 算出した結果は、 Block.marginBlock.paddingBlock.frameBlock.frameWidthBlock.frameHeight に設定します。
protected  void calculatePreferred()
          ブロック内容物の推奨サイズを算出します。 算出した結果は、 Block.preferredWidthBlock.preferredHeight に設定します。
 Block commitBlock()
          ブロックをコミットし、その親のブロックを返します。
protected  void commitDefaultBlock()
          デフォルトの追加先ブロック Block.defaultBlock をコミットします。
 Block createBlock(Status status, Status markerStatus)
          ブロックを作成し、作成したブロックを返します。
protected  void drawBackground(Canvas canvas, int x, int y)
          背景画像・背景色を描画します。
protected  void drawBorder(Canvas canvas, int x, int y)
          ボーダーを描画します。
protected  void drawContent(Canvas canvas, int x, int y)
          内容物を描画します。
protected  void ensureDefaultBlock()
          デフォルトの追加先ブロック Block.defaultBlock が存在するかを チェックします。無い場合は作成する必要があります。
protected  int getFrameHeight(int parentHeight)
          フレーム(マージン + ボーダー + パディング)の高さを返します。

このメソッドはいつでも使用できます。

 int getMargin(int parentHeight, int sense)
          Block.validate(int, int, int, int, int, int) する前に、 マージンの幅を知りたい場合に、マージン幅を返します。

このメソッドはいつでも使用できます。

 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, deployFloat, getFloat, getFloatTrench, registerFloat
 
クラス net.hizlab.kagetaka.rendering.block.BasicBlock から継承したメソッド
analyze, layoutBlock
 
クラス net.hizlab.kagetaka.rendering.block.Block から継承したメソッド
appendBlock, appendFloat, appendForm, appendImage, appendNewLine, appendString, commitChild, commitRow, createBlockInternal, draw, getFirstLine, getMarginOffset, getPreferredSize, invalidate, setRuby, statusChanged, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

avertFloat

public boolean avertFloat
ブロック全体がフロートを避ける必要があるかどうか

コンストラクタの詳細

FloatBlock

protected FloatBlock(Drawkit drawkit,
                     Status status,
                     Block parent,
                     Status markerStatus)
フロートブロックを保有するブロックを作成します。

パラメータ:
drawkit - ドローキット
status - ステータス
parent - 親ブロック
markerStatus - マーカーステータス
メソッドの詳細

analyze

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

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

calculateFrame

protected void calculateFrame(int parentHeight)
ボーダー以外のフレーム関係のサイズを算出します。 算出した結果は、 Block.marginBlock.paddingBlock.frameBlock.frameWidthBlock.frameHeight に設定します。

オーバーライド:
クラス Block 内の calculateFrame
パラメータ:
parentHeight - 親ブロックの内容物の高さ

calculatePreferred

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

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

commitBlock

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

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

commitDefaultBlock

protected void commitDefaultBlock()
デフォルトの追加先ブロック Block.defaultBlock をコミットします。

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

createBlock

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

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

drawBackground

protected void drawBackground(Canvas canvas,
                              int x,
                              int y)
背景画像・背景色を描画します。

オーバーライド:
クラス Block 内の drawBackground
パラメータ:
canvas - キャンバス
x - 自ブロックの、キャンバス左上からの X 軸
y - 自ブロックの、キャンバス左上からの Y 軸

drawBorder

protected void drawBorder(Canvas canvas,
                          int x,
                          int y)
ボーダーを描画します。

オーバーライド:
クラス Block 内の drawBorder
パラメータ:
canvas - キャンバス
x - 自ブロックの、キャンバス左上からの X 軸
y - 自ブロックの、キャンバス左上からの Y 軸

drawContent

protected void drawContent(Canvas canvas,
                           int x,
                           int y)
内容物を描画します。

オーバーライド:
クラス ContainerBlock 内の drawContent

ensureDefaultBlock

protected void ensureDefaultBlock()
デフォルトの追加先ブロック Block.defaultBlock が存在するかを チェックします。無い場合は作成する必要があります。

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

getFrameHeight

protected int getFrameHeight(int parentHeight)
フレーム(マージン + ボーダー + パディング)の高さを返します。

このメソッドはいつでも使用できます。

オーバーライド:
クラス Block 内の getFrameHeight
パラメータ:
parentHeight - 親ブロックの内容物の高さ
戻り値:
フレームの高さ

getMargin

public int getMargin(int parentHeight,
                     int sense)
Block.validate(int, int, int, int, int, int) する前に、 マージンの幅を知りたい場合に、マージン幅を返します。

このメソッドはいつでも使用できます。

オーバーライド:
クラス Block 内の getMargin
パラメータ:
parentHeight - 親ブロックの内容物の高さ
sense - 向き
戻り値:
マージンの幅

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'