mxCurveLabelShape (JGraph X 2.1.0.7 API Specification)
Date: 2013-07-31

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph X 2.1.0.7
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.mxgraph.shape
Class mxCurveLabelShape

    java.lang.Object
      com.mxgraph.shape.mxCurveLabelShape

All Implemented Interfaces:
  mxITextShape

    public class mxCurveLabelShape

extends Object
implements mxITextShape

Draws the edge label along a curve derived from the curve describing the edge's path

Nested Class Summary
`class` | `mxCurveLabelShape.LabelGlyphCache` Utility class to describe the characteristics of each glyph of a branch branch label.
`class` | `mxCurveLabelShape.LabelPosition` Utility class that stores details of how the label is positioned on the curve

Field Summary
`int` | `centerVisibleIndex` The index of the central glyph of the label that is visible
`protected mxCurve` | `curve` Cache of the points between which drawing straight lines views as a curve
`static double` | `CURVE_TEXT_STRETCH_FACTOR` Factor by which text on the inside of curve is stretched
`static Object` | `FONT_FRACTIONALMETRICS` Specifies if image aspect should be preserved in drawImage.
`static FontRenderContext` | `frc` Shared FRC for font size calculations
`static mxRectangle` | `INVALID_GLYPH_BOUNDS` Indicates that a glyph does not have valid drawing bounds, usually because it is not visible
`static double` | `LABEL_BUFFER` Buffer at both ends of the label
`protected mxRectangle` | `labelBounds` Cache of the bounds of the label
`protected mxCurveLabelShape.LabelGlyphCache[]` | `labelGlyphs` Cache of information describing characteristics relating to drawing each glyph of this label
`protected mxCurveLabelShape.LabelPosition` | `labelPosition` ADT to encapsulate label positioning information
`protected double` | `labelSize` Cache of the total length of the branch label
`protected Font` | `lastFont` Cache of the label font
`protected List<mxPoint>` | `lastPoints` Cache of the last set of guide points that this label was calculated for
`protected String` | `lastValue` Cache of the label text
`protected boolean` | `rotationEnabled`
`GlyphVector[]` | `rtlGlyphVectors` Cache of BIDI glyph vectors
`protected mxCellState` | `state` Cache the state associated with this shape

Constructor Summary
`mxCurveLabelShape(mxCellState state, mxCurve value)`

Method Summary
`protected void` | `calculationLabelPosition(Map<String,Object> style, String label)` Hook method to override how the label is positioned on the curve
`mxRectangle` | `getCenterVisiblePosition()` Returns the drawing bounds of the central indexed visible glyph
`mxCurve` | `getCurve()`
`mxRectangle` | `getLabelBounds()`
`boolean` | `getRotationEnabled()`
`boolean` | `intersectsRect(Rectangle rect)` Returns whether or not the rectangle passed in hits any part of this curve.
`void` | `paintShape(mxGraphics2DCanvas canvas, String text, mxCellState state, Map<String,Object> style)`
`protected void` | `postprocessGlyph(mxCurve curve, String label, int j, double currentPos)` Hook for sub-classers to perform additional processing on each glyph
`void` | `setCurve(mxCurve curve)`
`void` | `setRotationEnabled(boolean value)`
`mxRectangle` | `updateLabelBounds(String label, Map<String,Object> style)` Updates the cached position and size of each glyph in the edge label.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### lastValue

    protected String lastValue

  Cache of the label text

### lastFont

    protected Font lastFont

  Cache of the label font

### lastPoints

    protected List<mxPoint> lastPoints

  Cache of the last set of guide points that this label was calculated for

### curve

    protected mxCurve curve

  Cache of the points between which drawing straight lines views as a curve

### state

    protected mxCellState state

  Cache the state associated with this shape

### labelGlyphs

    protected mxCurveLabelShape.LabelGlyphCache[] labelGlyphs

  Cache of information describing characteristics relating to drawing each glyph of this label

### labelSize

    protected double labelSize

  Cache of the total length of the branch label

### labelBounds

    protected mxRectangle labelBounds

  Cache of the bounds of the label

### labelPosition

    protected mxCurveLabelShape.LabelPosition labelPosition

  ADT to encapsulate label positioning information

### LABEL_BUFFER

    public static double LABEL_BUFFER

  Buffer at both ends of the label

### CURVE_TEXT_STRETCH_FACTOR

    public static double CURVE_TEXT_STRETCH_FACTOR

  Factor by which text on the inside of curve is stretched

### INVALID_GLYPH_BOUNDS

    public static mxRectangle INVALID_GLYPH_BOUNDS

  Indicates that a glyph does not have valid drawing bounds, usually because it is not visible

### centerVisibleIndex

    public int centerVisibleIndex

  The index of the central glyph of the label that is visible

### FONT_FRACTIONALMETRICS

    public static Object FONT_FRACTIONALMETRICS

  Specifies if image aspect should be preserved in drawImage. Default is true.

### rtlGlyphVectors

    public GlyphVector[] rtlGlyphVectors

  Cache of BIDI glyph vectors

### frc

    public static FontRenderContext frc

  Shared FRC for font size calculations

### rotationEnabled

    protected boolean rotationEnabled

Constructor Detail

### mxCurveLabelShape

    public mxCurveLabelShape(mxCellState state,
                             mxCurve value)

Method Detail

### getRotationEnabled

    public boolean getRotationEnabled()

### setRotationEnabled

    public void setRotationEnabled(boolean value)

### paintShape

    public void paintShape(mxGraphics2DCanvas canvas,
                           String text,
                           mxCellState state,
                           Map<String,Object> style)

  Specified by:
    `paintShape` in interface `mxITextShape`

### updateLabelBounds

    public mxRectangle updateLabelBounds(String label,
                                         Map<String,Object> style)

  Updates the cached position and size of each glyph in the edge label.

  Parameters:
    `label` - the entire string of the label.
    `style` - the edge style

### postprocessGlyph

    protected void postprocessGlyph(mxCurve curve,
                                    String label,
                                    int j,
                                    double currentPos)

  Hook for sub-classers to perform additional processing on each glyph

  Parameters:
    `curve` - The curve object holding the label curve
    `label` - the text label of the curve
    `j` - the index of the label
    `currentPos` - the distance along the label curve the glyph is

### intersectsRect

    public boolean intersectsRect(Rectangle rect)

  Returns whether or not the rectangle passed in hits any part of this curve.

  Parameters:
    `rect` - the rectangle to detect for a hit
  Returns:
    whether or not the rectangle hits this curve

### calculationLabelPosition

    protected void calculationLabelPosition(Map<String,Object> style,
                                            String label)

  Hook method to override how the label is positioned on the curve

  Parameters:
    `style` - the style of the curve
    `label` - the string label to be displayed on the curve

### getCurve

    public mxCurve getCurve()

  Returns:
    the curve

### setCurve

    public void setCurve(mxCurve curve)

  Parameters:
    `curve` - the curve to set

### getLabelBounds

    public mxRectangle getLabelBounds()

### getCenterVisiblePosition

    public mxRectangle getCenterVisiblePosition()

  Returns the drawing bounds of the central indexed visible glyph

  Returns:
    the centerVisibleIndex

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph X 2.1.0.7
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2010 Gaudenz Alder. All rights reserved.