com.lightdev.app.shtm
Class SHTMLBoxPainter

java.lang.Object
  extended by com.lightdev.app.shtm.SHTMLBoxPainter

public class SHTMLBoxPainter
extends java.lang.Object

A box painter to support individual border rendering, i.e. border width and color of each side of a cell are painted independently according to CSS attributes border-width and border-color.

Only border-style solid is supported.


Constructor Summary
SHTMLBoxPainter(javax.swing.text.AttributeSet a)
          construct an SHTMLBoxPainter
 
Method Summary
 java.awt.Color getColor(java.lang.String value)
           
 float getInset(int side, javax.swing.text.View v)
          Fetches the inset needed on a given side to account for the margin, border, and padding.
 void paint(java.awt.Graphics g, float x, float y, float w, float h, javax.swing.text.View v)
          Paints the CSS box according to the attributes given.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SHTMLBoxPainter

public SHTMLBoxPainter(javax.swing.text.AttributeSet a)
construct an SHTMLBoxPainter

Method Detail

getColor

public java.awt.Color getColor(java.lang.String value)

getInset

public float getInset(int side,
                      javax.swing.text.View v)
Fetches the inset needed on a given side to account for the margin, border, and padding.

Parameters:
side - The size of the box to fetch the inset for. This can be View.TOP, View.LEFT, View.BOTTOM, or View.RIGHT.
v - the view making the request. This is used to get the AttributeSet, and may be used to resolve percentage arguments.
Throws:
java.lang.IllegalArgumentException - for an invalid direction

paint

public void paint(java.awt.Graphics g,
                  float x,
                  float y,
                  float w,
                  float h,
                  javax.swing.text.View v)
Paints the CSS box according to the attributes given. This should paint the border, padding, and background.

Parameters:
g - the rendering surface.
x - the x coordinate of the allocated area to render into.
y - the y coordinate of the allocated area to render into.
w - the width of the allocated area to render into.
h - the height of the allocated area to render into.
v - the view making the request. This is used to get the AttributeSet, and may be used to resolve percentage arguments.