Java Code Examples for org.jfree.chart.util.PaintUtilities#equal()

The following examples show how to use org.jfree.chart.util.PaintUtilities#equal() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BarRenderer3D.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Tests this renderer for equality with an arbitrary object.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof BarRenderer3D)) {
        return false;
    }
    BarRenderer3D that = (BarRenderer3D) obj;
    if (this.xOffset != that.xOffset) {
        return false;
    }
    if (this.yOffset != that.yOffset) {
        return false;
    }
    if (!PaintUtilities.equal(this.wallPaint, that.wallPaint)) {
        return false;
    }
    return super.equals(obj);
}
 
Example 2
Source File: DialCap.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Tests this instance for equality with an arbitrary object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof DialCap)) {
        return false;
    }
    DialCap that = (DialCap) obj;
    if (this.radius != that.radius) {
        return false;
    }
    if (!PaintUtilities.equal(this.fillPaint, that.fillPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) {
        return false;
    }
    if (!this.outlineStroke.equals(that.outlineStroke)) {
        return false;
    }
    return super.equals(obj);
}
 
Example 3
Source File: LineBorder.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Tests this border for equality with an arbitrary instance.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;   
    }
    if (!(obj instanceof LineBorder)) {
        return false;   
    }
    LineBorder that = (LineBorder) obj;
    if (!PaintUtilities.equal(this.paint, that.paint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.stroke, that.stroke)){
        return false;
    }
    if (!this.insets.equals(that.insets)) {
        return false;
    }
    return true;
}
 
Example 4
Source File: SymbolAxis.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Tests this axis for equality with an arbitrary object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof SymbolAxis)) {
        return false;
    }
    SymbolAxis that = (SymbolAxis) obj;
    if (!this.symbols.equals(that.symbols)) {
        return false;
    }
    if (this.gridBandsVisible != that.gridBandsVisible) {
        return false;
    }
    if (!PaintUtilities.equal(this.gridBandPaint, that.gridBandPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.gridBandAlternatePaint,
            that.gridBandAlternatePaint)) {
        return false;
    }
    return super.equals(obj);
}
 
Example 5
Source File: StandardDialFrame.java    From astor with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Tests this instance for equality with an arbitrary object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof StandardDialFrame)) {
        return false;
    }
    StandardDialFrame that = (StandardDialFrame) obj;
    if (!PaintUtilities.equal(this.backgroundPaint, that.backgroundPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.foregroundPaint, that.foregroundPaint)) {
        return false;
    }
    if (this.radius != that.radius) {
        return false;
    }
    if (!this.stroke.equals(that.stroke)) {
        return false;
    }
    return super.equals(obj);
}
 
Example 6
Source File: TextAnnotation.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests this object for equality with an arbitrary object.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return <code>true</code> or <code>false</code>.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    // now try to reject equality...
    if (!(obj instanceof TextAnnotation)) {
        return false;
    }
    TextAnnotation that = (TextAnnotation) obj;
    if (!ObjectUtilities.equal(this.text, that.getText())) {
        return false;
    }
    if (!ObjectUtilities.equal(this.font, that.getFont())) {
        return false;
    }
    if (!PaintUtilities.equal(this.paint, that.getPaint())) {
        return false;
    }
    if (!ObjectUtilities.equal(this.textAnchor, that.getTextAnchor())) {
        return false;
    }
    if (!ObjectUtilities.equal(this.rotationAnchor, 
            that.getRotationAnchor())) {
        return false;
    }
    if (this.rotationAngle != that.getRotationAngle()) {
        return false;
    }
    
    // seem to be the same...
    return true;
        
}
 
Example 7
Source File: TextTitle.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests this title for equality with another object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return <code>true</code> or <code>false</code>.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof TextTitle)) {
        return false;
    }
    TextTitle that = (TextTitle) obj;
    if (!ObjectUtilities.equal(this.text, that.text)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.font, that.font)) {
        return false;
    }
    if (!PaintUtilities.equal(this.paint, that.paint)) {
        return false;
    }
    if (this.textAlignment != that.textAlignment) {
        return false;
    }
    if (!PaintUtilities.equal(this.backgroundPaint, that.backgroundPaint)) {
        return false;
    }
    if (this.maximumLinesToDisplay != that.maximumLinesToDisplay) {
        return false;
    }
    if (this.expandToFitSpace != that.expandToFitSpace) {
        return false;
    }
    if (!ObjectUtilities.equal(this.toolTipText, that.toolTipText)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.urlText, that.urlText)) {
        return false;
    }
    return super.equals(obj);
}
 
Example 8
Source File: Arja_00162_t.java    From coming with MIT License 5 votes vote down vote up
/**
 * Tests this plot for equality with an arbitrary object.  Note that the
 * plot's dataset is not considered in the equality test.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return <code>true</code> if this plot is equal to <code>obj</code>, and
 *     <code>false</code> otherwise.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof MultiplePiePlot)) {
        return false;
    }
    MultiplePiePlot that = (MultiplePiePlot) obj;
    if (this.dataExtractOrder != that.dataExtractOrder) {
        return false;
    }
    if (this.limit != that.limit) {
        return false;
    }
    if (!this.aggregatedItemsKey.equals(that.aggregatedItemsKey)) {
        return false;
    }
    if (!PaintUtilities.equal(this.aggregatedItemsPaint,
            that.aggregatedItemsPaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.pieChart, that.pieChart)) {
        return false;
    }
    if (!super.equals(obj)) {
        return false;
    }
    return true;
}
 
Example 9
Source File: ArcDialFrame.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests this instance for equality with an arbitrary object.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof ArcDialFrame)) {
        return false;
    }
    ArcDialFrame that = (ArcDialFrame) obj;
    if (!PaintUtilities.equal(this.backgroundPaint, that.backgroundPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.foregroundPaint, that.foregroundPaint)) {
        return false;
    }
    if (this.startAngle != that.startAngle) {
        return false;
    }
    if (this.extent != that.extent) {
        return false;
    }
    if (this.innerRadius != that.innerRadius) {
        return false;
    }
    if (this.outerRadius != that.outerRadius) {
        return false;
    }
    if (!this.stroke.equals(that.stroke)) {
        return false;
    }
    return super.equals(obj);
}
 
Example 10
Source File: WaterfallBarRenderer.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests an object for equality with this instance.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {

    if (obj == this) {
        return true;
    }
    if (!super.equals(obj)) {
        return false;
    }
    if (!(obj instanceof WaterfallBarRenderer)) {
        return false;
    }
    WaterfallBarRenderer that = (WaterfallBarRenderer) obj;
    if (!PaintUtilities.equal(this.firstBarPaint, that.firstBarPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.lastBarPaint, that.lastBarPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.positiveBarPaint,
            that.positiveBarPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.negativeBarPaint,
            that.negativeBarPaint)) {
        return false;
    }
    return true;

}
 
Example 11
Source File: Arja_002_s.java    From coming with MIT License 5 votes vote down vote up
/**
 * Tests this plot for equality with an arbitrary object.  Note that the
 * plot's dataset is not considered in the equality test.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return <code>true</code> if this plot is equal to <code>obj</code>, and
 *     <code>false</code> otherwise.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof MultiplePiePlot)) {
        return false;
    }
    MultiplePiePlot that = (MultiplePiePlot) obj;
    if (this.dataExtractOrder != that.dataExtractOrder) {
        return false;
    }
    if (this.limit != that.limit) {
        return false;
    }
    if (!this.aggregatedItemsKey.equals(that.aggregatedItemsKey)) {
        return false;
    }
    if (!PaintUtilities.equal(this.aggregatedItemsPaint,
            that.aggregatedItemsPaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.pieChart, that.pieChart)) {
        return false;
    }
    if (!super.equals(obj)) {
        return false;
    }
    return true;
}
 
Example 12
Source File: XYBoxAnnotation.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests this annotation for equality with an arbitrary object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    // now try to reject equality
    if (!super.equals(obj)) {
        return false;
    }
    if (!(obj instanceof XYBoxAnnotation)) {
        return false;
    }
    XYBoxAnnotation that = (XYBoxAnnotation) obj;
    if (!(this.x0 == that.x0)) {
        return false;
    }
    if (!(this.y0 == that.y0)) {
        return false;
    }
    if (!(this.x1 == that.x1)) {
        return false;
    }
    if (!(this.y1 == that.y1)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.stroke, that.stroke)) {
        return false;
    }
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.fillPaint, that.fillPaint)) {
        return false;
    }
    // seem to be the same
    return true;
}
 
Example 13
Source File: XYShapeAnnotation.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests this annotation for equality with an arbitrary object.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    // now try to reject equality
    if (!super.equals(obj)) {
        return false;
    }
    if (!(obj instanceof XYShapeAnnotation)) {
        return false;
    }
    XYShapeAnnotation that = (XYShapeAnnotation) obj;
    if (!this.shape.equals(that.shape)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.stroke, that.stroke)) {
        return false;
    }
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.fillPaint, that.fillPaint)) {
        return false;
    }
    // seem to be the same
    return true;
}
 
Example 14
Source File: WaterfallBarRenderer.java    From astor with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Tests an object for equality with this instance.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return A boolean.
 */
public boolean equals(Object obj) {
    
    if (obj == this) {
        return true;
    }
    if (!super.equals(obj)) {
        return false;
    }
    if (!(obj instanceof WaterfallBarRenderer)) {
        return false;
    }
    WaterfallBarRenderer that = (WaterfallBarRenderer) obj;
    if (!PaintUtilities.equal(this.firstBarPaint, that.firstBarPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.lastBarPaint, that.lastBarPaint)) {
        return false;
    }             
    if (!PaintUtilities.equal(this.positiveBarPaint, 
            that.positiveBarPaint)) {
        return false;
    }             
    if (!PaintUtilities.equal(this.negativeBarPaint, 
            that.negativeBarPaint)) {
        return false;
    }             
    return true;
    
}
 
Example 15
Source File: Cardumen_00195_s.java    From coming with MIT License 4 votes vote down vote up
/**
 * Tests this axis for equality with another object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return <code>true</code> or <code>false</code>.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof Axis)) {
        return false;
    }
    Axis that = (Axis) obj;
    if (this.visible != that.visible) {
        return false;
    }
    if (!ObjectUtilities.equal(this.label, that.label)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.labelFont, that.labelFont)) {
        return false;
    }
    if (!PaintUtilities.equal(this.labelPaint, that.labelPaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.labelInsets, that.labelInsets)) {
        return false;
    }
    if (this.labelAngle != that.labelAngle) {
        return false;
    }
    if (!ObjectUtilities.equal(this.labelToolTip, that.labelToolTip)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.labelURL, that.labelURL)) {
        return false;
    }
    if (this.axisLineVisible != that.axisLineVisible) {
        return false;
    }
    if (!ObjectUtilities.equal(this.axisLineStroke, that.axisLineStroke)) {
        return false;
    }
    if (!PaintUtilities.equal(this.axisLinePaint, that.axisLinePaint)) {
        return false;
    }
    if (this.tickLabelsVisible != that.tickLabelsVisible) {
        return false;
    }
    if (!ObjectUtilities.equal(this.tickLabelFont, that.tickLabelFont)) {
        return false;
    }
    if (!PaintUtilities.equal(this.tickLabelPaint, that.tickLabelPaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(
        this.tickLabelInsets, that.tickLabelInsets
    )) {
        return false;
    }
    if (this.tickMarksVisible != that.tickMarksVisible) {
        return false;
    }
    if (this.tickMarkInsideLength != that.tickMarkInsideLength) {
        return false;
    }                  
    if (this.tickMarkOutsideLength != that.tickMarkOutsideLength) {
        return false;
    }                  
    if (!PaintUtilities.equal(this.tickMarkPaint, that.tickMarkPaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.tickMarkStroke, that.tickMarkStroke)) {
        return false;
    }
    if (this.fixedDimension != that.fixedDimension) {
        return false;
    }
    return true;
}
 
Example 16
Source File: JFreeChart.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Tests this chart for equality with another object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof JFreeChart)) {
        return false;
    }
    JFreeChart that = (JFreeChart) obj;
    if (!this.renderingHints.equals(that.renderingHints)) {
        return false;   
    }
    if (this.borderVisible != that.borderVisible) {
        return false;   
    }
    if (!ObjectUtilities.equal(this.borderStroke, that.borderStroke)) {
        return false;   
    }
    if (!PaintUtilities.equal(this.borderPaint, that.borderPaint)) {
        return false;   
    }
    if (!this.padding.equals(that.padding)) {
        return false;   
    }
    if (!ObjectUtilities.equal(this.title, that.title)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.subtitles, that.subtitles)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.plot, that.plot)) {
        return false;
    }
    if (!PaintUtilities.equal(
        this.backgroundPaint, that.backgroundPaint
    )) {
        return false;
    }
    if (!ObjectUtilities.equal(this.backgroundImage, 
            that.backgroundImage)) {
        return false;
    }
    if (this.backgroundImageAlignment != that.backgroundImageAlignment) {
        return false;
    }
    if (this.backgroundImageAlpha != that.backgroundImageAlpha) {
        return false;
    }
    if (this.notify != that.notify) {
        return false;
    }
    return true;
}
 
Example 17
Source File: LegendGraphic.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Tests this <code>LegendGraphic</code> instance for equality with an
 * arbitrary object.
 * 
 * @param obj  the object (<code>null</code> permitted).
 * 
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (!(obj instanceof LegendGraphic)) {
        return false;
    }
    LegendGraphic that = (LegendGraphic) obj;
    if (this.shapeVisible != that.shapeVisible) {
        return false;
    }
    if (!ShapeUtilities.equal(this.shape, that.shape)) {
        return false;
    }
    if (this.shapeFilled != that.shapeFilled) {
        return false;
    }
    if (!PaintUtilities.equal(this.fillPaint, that.fillPaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.fillPaintTransformer, 
            that.fillPaintTransformer)) {
        return false;
    }
    if (this.shapeOutlineVisible != that.shapeOutlineVisible) {
        return false;
    }
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke)) {
        return false;
    }
    if (this.shapeAnchor != that.shapeAnchor) {
        return false;
    }
    if (this.shapeLocation != that.shapeLocation) {
        return false;
    }
    if (this.lineVisible != that.lineVisible) {
        return false;
    }
    if (!ShapeUtilities.equal(this.line, that.line)) {
        return false;
    }
    if (!PaintUtilities.equal(this.linePaint, that.linePaint)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.lineStroke, that.lineStroke)) {
        return false;
    }
    return super.equals(obj);    
}
 
Example 18
Source File: JFreeChart.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Tests this chart for equality with another object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof JFreeChart)) {
        return false;
    }
    JFreeChart that = (JFreeChart) obj;
    if (!this.renderingHints.equals(that.renderingHints)) {
        return false;
    }
    if (this.borderVisible != that.borderVisible) {
        return false;
    }
    if (!ObjectUtilities.equal(this.borderStroke, that.borderStroke)) {
        return false;
    }
    if (!PaintUtilities.equal(this.borderPaint, that.borderPaint)) {
        return false;
    }
    if (!this.padding.equals(that.padding)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.title, that.title)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.subtitles, that.subtitles)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.plot, that.plot)) {
        return false;
    }
    if (!PaintUtilities.equal(
        this.backgroundPaint, that.backgroundPaint
    )) {
        return false;
    }
    if (!ObjectUtilities.equal(this.backgroundImage,
            that.backgroundImage)) {
        return false;
    }
    if (this.backgroundImageAlignment != that.backgroundImageAlignment) {
        return false;
    }
    if (this.backgroundImageAlpha != that.backgroundImageAlpha) {
        return false;
    }
    if (this.notify != that.notify) {
        return false;
    }
    return true;
}
 
Example 19
Source File: JGenProg2017_00104_s.java    From coming with MIT License 4 votes vote down vote up
/**
 * Tests this chart for equality with another object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof JFreeChart)) {
        return false;
    }
    JFreeChart that = (JFreeChart) obj;
    if (!this.renderingHints.equals(that.renderingHints)) {
        return false;   
    }
    if (this.borderVisible != that.borderVisible) {
        return false;   
    }
    if (!ObjectUtilities.equal(this.borderStroke, that.borderStroke)) {
        return false;   
    }
    if (!PaintUtilities.equal(this.borderPaint, that.borderPaint)) {
        return false;   
    }
    if (!this.padding.equals(that.padding)) {
        return false;   
    }
    if (!ObjectUtilities.equal(this.title, that.title)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.subtitles, that.subtitles)) {
        return false;
    }
    if (!ObjectUtilities.equal(this.plot, that.plot)) {
        return false;
    }
    if (!PaintUtilities.equal(
        this.backgroundPaint, that.backgroundPaint
    )) {
        return false;
    }
    if (!ObjectUtilities.equal(this.backgroundImage, 
            that.backgroundImage)) {
        return false;
    }
    if (this.backgroundImageAlignment != that.backgroundImageAlignment) {
        return false;
    }
    if (this.backgroundImageAlpha != that.backgroundImageAlpha) {
        return false;
    }
    if (this.notify != that.notify) {
        return false;
    }
    return true;
}
 
Example 20
Source File: XYTextAnnotation.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Tests this annotation for equality with an arbitrary object.
 *
 * @param obj  the object (<code>null</code> permitted).
 *
 * @return A boolean.
 */
public boolean equals(Object obj) {
    if (obj == this) {
        return true;
    }
    if (!(obj instanceof XYTextAnnotation)) {
        return false;
    }
    XYTextAnnotation that = (XYTextAnnotation) obj;
    if (!this.text.equals(that.text)) {
        return false;
    }
    if (this.x != that.x) {
        return false;
    }
    if (this.y != that.y) {
        return false;
    }
    if (!this.font.equals(that.font)) {
        return false;
    }
    if (!PaintUtilities.equal(this.paint, that.paint)) {
        return false;
    }
    if (!this.rotationAnchor.equals(that.rotationAnchor)) {
        return false;
    }
    if (this.rotationAngle != that.rotationAngle) {
        return false;
    }
    if (!this.textAnchor.equals(that.textAnchor)) {
        return false;
    }
    if (this.outlineVisible != that.outlineVisible) {
        return false;
    }
    if (!PaintUtilities.equal(this.backgroundPaint, that.backgroundPaint)) {
        return false;
    }
    if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) {
        return false;
    }
    if (!(this.outlineStroke.equals(that.outlineStroke))) {
        return false;
    }
    return super.equals(obj);
}