Methods Summary |
---|
protected int | addStandardOptions(org.apache.poi.hssf.usermodel.HSSFShape shape, org.apache.poi.ddf.EscherOptRecord opt)Add standard properties to the opt record. These properties effect
all records.
opt.addEscherProperty( new EscherBoolProperty( EscherProperties.TEXT__SIZE_TEXT_TO_FIT_SHAPE, 0x080000 ) );
// opt.addEscherProperty( new EscherBoolProperty( EscherProperties.TEXT__SIZE_TEXT_TO_FIT_SHAPE, 0x080008 ) );
if ( shape.isNoFill() )
{
// Wonderful... none of the spec's give any clue as to what these constants mean.
opt.addEscherProperty( new EscherBoolProperty( EscherProperties.FILL__NOFILLHITTEST, 0x00110000 ) );
}
else
{
opt.addEscherProperty( new EscherBoolProperty( EscherProperties.FILL__NOFILLHITTEST, 0x00010000 ) );
}
opt.addEscherProperty( new EscherRGBProperty( EscherProperties.FILL__FILLCOLOR, shape.getFillColor() ) );
opt.addEscherProperty( new EscherBoolProperty( EscherProperties.GROUPSHAPE__PRINT, 0x080000 ) );
opt.addEscherProperty( new EscherRGBProperty( EscherProperties.LINESTYLE__COLOR, shape.getLineStyleColor() ) );
int options = 5;
if (shape.getLineWidth() != HSSFShape.LINEWIDTH_DEFAULT)
{
opt.addEscherProperty( new EscherSimpleProperty( EscherProperties.LINESTYLE__LINEWIDTH, shape.getLineWidth()));
options++;
}
if (shape.getLineStyle() != HSSFShape.LINESTYLE_SOLID)
{
opt.addEscherProperty( new EscherSimpleProperty( EscherProperties.LINESTYLE__LINEDASHING, shape.getLineStyle()));
opt.addEscherProperty( new EscherSimpleProperty( EscherProperties.LINESTYLE__LINEENDCAPSTYLE, 0));
if (shape.getLineStyle() == HSSFShape.LINESTYLE_NONE)
opt.addEscherProperty( new EscherBoolProperty( EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x00080000));
else
opt.addEscherProperty( new EscherBoolProperty( EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x00080008));
options += 3;
}
opt.sortProperties();
return options; // # options added
|
protected org.apache.poi.ddf.EscherRecord | createAnchor(org.apache.poi.hssf.usermodel.HSSFAnchor userAnchor)Creates an escher anchor record from a HSSFAnchor.
return ConvertAnchor.createAnchor(userAnchor);
|
public static org.apache.poi.hssf.model.AbstractShape | createShape(org.apache.poi.hssf.usermodel.HSSFShape hssfShape, int shapeId)Create a new shape object used to create the escher records.
AbstractShape shape;
if (hssfShape instanceof HSSFComment)
{
shape = new CommentShape( (HSSFComment)hssfShape, shapeId );
}
else if (hssfShape instanceof HSSFTextbox)
{
shape = new TextboxShape( (HSSFTextbox)hssfShape, shapeId );
}
else if (hssfShape instanceof HSSFPolygon)
{
shape = new PolygonShape( (HSSFPolygon) hssfShape, shapeId );
}
else if (hssfShape instanceof HSSFSimpleShape)
{
HSSFSimpleShape simpleShape = (HSSFSimpleShape) hssfShape;
switch ( simpleShape.getShapeType() )
{
case HSSFSimpleShape.OBJECT_TYPE_PICTURE:
shape = new PictureShape( simpleShape, shapeId );
break;
case HSSFSimpleShape.OBJECT_TYPE_LINE:
shape = new LineShape( simpleShape, shapeId );
break;
case HSSFSimpleShape.OBJECT_TYPE_OVAL:
case HSSFSimpleShape.OBJECT_TYPE_RECTANGLE:
shape = new SimpleFilledShape( simpleShape, shapeId );
break;
default:
throw new IllegalArgumentException("Do not know how to handle this type of shape");
}
}
else
{
throw new IllegalArgumentException("Unknown shape type");
}
EscherSpRecord sp = shape.getSpContainer().getChildById(EscherSpRecord.RECORD_ID);
if (hssfShape.getParent() != null)
sp.setFlags(sp.getFlags() | EscherSpRecord.FLAG_CHILD);
return shape;
|
public abstract org.apache.poi.hssf.record.ObjRecord | getObjRecord()
|
public abstract org.apache.poi.ddf.EscherContainerRecord | getSpContainer()
|