net.sourceforge.jeuclid.elements.presentation.general
Class AbstractRoot

java.lang.Object
  extended by net.sourceforge.jeuclid.dom.AbstractPartialNodeImpl
      extended by net.sourceforge.jeuclid.dom.AbstractPartialElementImpl
          extended by net.sourceforge.jeuclid.dom.AbstractChangeTrackingElement
              extended by net.sourceforge.jeuclid.elements.AbstractJEuclidElement
                  extended by net.sourceforge.jeuclid.elements.presentation.general.AbstractRoot
All Implemented Interfaces:
ChangeTrackingInterface, DisplayableNode, JEuclidElement, JEuclidNode, Element, MathMLElement, Node
Direct Known Subclasses:
Menclose.Longdiv, Mroot, Msqrt

public abstract class AbstractRoot
extends AbstractJEuclidElement

common superclass for root like elements (root, sqrt).

Version:
$Revision: 310 $
Author:
Max Berger

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sourceforge.jeuclid.dom.AbstractPartialElementImpl
AbstractPartialElementImpl.AttributeNodeMap, AbstractPartialElementImpl.AttrImpl
 
Nested classes/interfaces inherited from class net.sourceforge.jeuclid.dom.AbstractPartialNodeImpl
AbstractPartialNodeImpl.NodeList
 
Field Summary
static char STANDARD_ROOT_CHAR
          Char for left part of root rendering.
 
Fields inherited from class net.sourceforge.jeuclid.elements.AbstractJEuclidElement
ALIGN_AXIS, ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_TOP, ATTR_CLASS, ATTR_DEPRECATED_BACKGROUND, ATTR_DEPRECATED_COLOR, ATTR_DEPRECATED_FONTFAMILY, ATTR_DEPRECATED_FONTSIZE, ATTR_DEPRECATED_FONTSTYLE, ATTR_DEPRECATED_FONTWEIGHT, ATTR_HREF, ATTR_ID, ATTR_MATHBACKGROUND, ATTR_MATHCOLOR, ATTR_MATHSIZE, ATTR_MATHVARIANT, ATTR_STYLE, ATTR_XREF, TRIVIAL_SPACE_MAX, URI
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
AbstractRoot(MathBase base, char root)
          Default constructor.
 
Method Summary
 float calculateAscentHeight(Graphics2D g)
          Returns the current height of the upper part (over the base line).
 float calculateDescentHeight(Graphics2D g)
          Calculates descent height (under the base line) of the element.
 float calculateWidth(Graphics2D g)
          Caculates width of the element.
protected abstract  JEuclidElement getActualIndex()
          retrieve the actual index for this radical.
protected abstract  List<JEuclidElement> getContent()
          retrieve the content of this radical element.
 void paint(Graphics2D g, float posX, float posY)
          Paints this element.
 
Methods inherited from class net.sourceforge.jeuclid.elements.AbstractJEuclidElement
addMathElement, addText, calculateHeight, changeHook, debug, getAbsoluteScriptLevel, getAscentHeight, getBackgroundColor, getClassName, getContents, getDescentHeight, getFont, getFontMetrics, getFontsizeInPoint, getForegroundColor, getGlobalLineCorrector, getHeight, getHref, getId, getIndexOfMathElement, getInheritedScriptlevel, getMathAttribute, getMathbackground, getMathBase, getMathcolor, getMathElement, getMathElementCount, getMathElementStyle, getMathsize, getMathsizeInPoint, getMathvariant, getMathvariantAsVariant, getMiddleShift, getOwnerMathElement, getPaintedPosX, getPaintedPosY, getParent, getScriptlevelForChild, getScriptSizeMultiplier, getText, getWidth, getXCenter, getXref, hasChildPostscripts, hasChildPrescripts, isCalculatingSize, isChildBlock, recalculateSize, setCalculatingSize, setClassName, setDefaultMathAttribute, setFakeParent, setGlobalLineCorrector, setHref, setId, setMathAttributes, setMathbackground, setMathBase, setMathcolor, setMathElement, setMathElementStyle, setMathsize, setMathvariant, setScriptSizeMultiplier, setXref
 
Methods inherited from class net.sourceforge.jeuclid.dom.AbstractChangeTrackingElement
addListener, appendChild, fireChanged, fireChangeForSubTree, replaceChild, setAttribute, setTextContent
 
Methods inherited from class net.sourceforge.jeuclid.dom.AbstractPartialElementImpl
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getElementsByTagName, getElementsByTagNameNS, getLocalName, getNodeName, getNodeType, getSchemaTypeInfo, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS, toString
 
Methods inherited from class net.sourceforge.jeuclid.dom.AbstractPartialNodeImpl
cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, setNodeValue, setPrefix, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 
Methods inherited from interface net.sourceforge.jeuclid.dom.ChangeTrackingInterface
addListener, fireChanged, fireChangeForSubTree
 

Field Detail

STANDARD_ROOT_CHAR

public static final char STANDARD_ROOT_CHAR
Char for left part of root rendering.

See Also:
Constant Field Values
Constructor Detail

AbstractRoot

public AbstractRoot(MathBase base,
                    char root)
Default constructor.

Parameters:
base - MathBase to use.
root - Character to use for the root symbol.
Method Detail

getActualIndex

protected abstract JEuclidElement getActualIndex()
retrieve the actual index for this radical.

Returns:
a MathElement representing what to draw as the index

getContent

protected abstract List<JEuclidElement> getContent()
retrieve the content of this radical element.

Returns:
A List<MathElement> with the contents for this element.

calculateAscentHeight

public float calculateAscentHeight(Graphics2D g)
Returns the current height of the upper part (over the base line).

Specified by:
calculateAscentHeight in interface JEuclidElement
Specified by:
calculateAscentHeight in class AbstractJEuclidElement
Parameters:
g - Graphics2D context to use.
Returns:
Height of the upper part.

calculateDescentHeight

public float calculateDescentHeight(Graphics2D g)
Calculates descent height (under the base line) of the element.

Specified by:
calculateDescentHeight in interface JEuclidElement
Specified by:
calculateDescentHeight in class AbstractJEuclidElement
Parameters:
g - Graphics2D context to use.
Returns:
Descent height value.

calculateWidth

public float calculateWidth(Graphics2D g)
Caculates width of the element.

Specified by:
calculateWidth in class AbstractJEuclidElement
Parameters:
g - Graphics2D context to use.
Returns:
Width of the element.

paint

public void paint(Graphics2D g,
                  float posX,
                  float posY)
Paints this element.

Specified by:
paint in interface DisplayableNode
Overrides:
paint in class AbstractJEuclidElement
Parameters:
g - The graphics context to use for painting
posX - The first left position for painting
posY - The position of the baseline


Copyright © 2002-2008 The JEuclid project. All Rights Reserved.