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

## org.apache.poi.hslf.usermodel
Class HSLFShape

    java.lang.Object
      org.apache.poi.hslf.usermodel.HSLFShape

All Implemented Interfaces:
  Shape<HSLFShape,HSLFTextParagraph>

Direct Known Subclasses:
  HSLFBackground, HSLFGroupShape, HSLFSimpleShape

    public abstract class HSLFShape

extends java.lang.Object
implements Shape<HSLFShape,HSLFTextParagraph>

Represents a Shape which is the elemental object that composes a drawing. This class is a wrapper around EscherSpContainer which holds all information about a shape in PowerPoint document.

When you add a shape, you usually specify the dimensions of the shape and the position of the upper'left corner of the bounding box for the shape relative to the upper'left corner of the page, worksheet, or slide. Distances in the drawing layer are measured in points (72 points = 1 inch).

Constructor Summary
`protected` | `HSLFShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape,HSLFTextParagraph> parent)` Create a Shape object.

Method Summary
`protected void` | `afterInsert(HSLFSheet sh)` Event which fires when a shape is inserted in the sheet.
`protected EscherContainerRecord` | `createSpContainer(boolean isChild)` Create and assign the lower level escher record to this shape
`void` | `draw(java.awt.Graphics2D graphics, java.awt.geom.Rectangle2D bounds)` Convenience method to draw a single shape
`java.awt.geom.Rectangle2D` | `getAnchor()` Returns the anchor (the bounding box rectangle) of this shape.
`protected HSLFEscherClientDataRecord` | `getClientData(boolean create)` Create a new HSLF-specific EscherClientDataRecord
`
`<T extends Record> T`
` | `getClientDataRecord(int recordType)` Find a record in the underlying EscherClientDataRecord
`protected java.util.List<? extends Record>` | `getClientRecords()` Search for EscherClientDataRecord, if found, convert its contents into an array of HSLF records
`static
`<T extends EscherRecord> T`
` | `getEscherChild(EscherContainerRecord owner, int recordId)` Helper method to return escher child by record ID
`static
`<T extends EscherRecord> T`
` | `getEscherChild(EscherContainerRecord owner, RecordTypes recordId)`
`
`<T extends EscherRecord> T`
` | `getEscherChild(int recordId)`
`
`<T extends EscherRecord> T`
` | `getEscherChild(RecordTypes recordId)`
`AbstractEscherOptRecord` | `getEscherOptRecord()`
`static
`<T extends EscherProperty> T`
` | `getEscherProperty(AbstractEscherOptRecord opt, int propId)` Returns escher property by id.
`int` | `getEscherProperty(short propId)` Get the value of a simple escher property for this shape.
`int` | `getEscherProperty(short propId, int defaultValue)` Get the value of a simple escher property for this shape.
`HSLFFill` | `getFill()` Fill properties of this shape
`FillStyle` | `getFillStyle()`
`boolean` | `getFlipHorizontal()`
`boolean` | `getFlipVertical()`
`ShapeContainer<HSLFShape,HSLFTextParagraph>` | `getParent()`
`double` | `getRotation()`
`int` | `getShapeId()`
`java.lang.String` | `getShapeName()`
`ShapeType` | `getShapeType()`
`HSLFSheet` | `getSheet()`
`EscherContainerRecord` | `getSpContainer()`
`boolean` | `isPlaceholder()`
`void` | `moveTo(double x, double y)` Moves the top left corner of the shape to the specified point.
`void` | `setAnchor(java.awt.geom.Rectangle2D anchor)` Sets the anchor (the bounding box rectangle) of this shape.
`static void` | `setEscherProperty(AbstractEscherOptRecord opt, short propId, int value)` Set an escher property for this shape.
`void` | `setEscherProperty(short propId, int value)` Set an simple escher property for this shape.
`void` | `setFlipHorizontal(boolean flip)`
`void` | `setFlipVertical(boolean flip)`
`void` | `setRotation(double theta)`
`void` | `setShapeId(int id)` Sets shape ID
`void` | `setShapeType(ShapeType type)`
`void` | `setSheet(HSLFSheet sheet)` Assign the `SlideShow` this shape belongs to

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

Constructor Detail

### HSLFShape

    protected HSLFShape(EscherContainerRecord escherRecord,
                        ShapeContainer<HSLFShape,HSLFTextParagraph> parent)

  Create a Shape object. This constructor is used when an existing Shape is read from from a PowerPoint document.

  Parameters:
    `escherRecord` - `EscherSpContainer` container which holds information about this shape
    `parent` - the parent of this Shape

Method Detail

### createSpContainer

    protected EscherContainerRecord createSpContainer(boolean isChild)

  Create and assign the lower level escher record to this shape

### getParent

    public ShapeContainer<HSLFShape,HSLFTextParagraph> getParent()

  Specified by:
    `getParent` in interface `Shape<HSLFShape,HSLFTextParagraph>`
  Returns:
    the parent of this shape

### getShapeName

    public java.lang.String getShapeName()

  Returns:
    name of the shape.

### getShapeType

    public ShapeType getShapeType()

### setShapeType

    public void setShapeType(ShapeType type)

### getAnchor

    public java.awt.geom.Rectangle2D getAnchor()

  Returns the anchor (the bounding box rectangle) of this shape. All coordinates are expressed in points (72 dpi).

  Specified by:
    `getAnchor` in interface `Shape<HSLFShape,HSLFTextParagraph>`
  Returns:
    the anchor of this shape

### setAnchor

    public void setAnchor(java.awt.geom.Rectangle2D anchor)

  Sets the anchor (the bounding box rectangle) of this shape. All coordinates should be expressed in points (72 dpi).

  Parameters:
    `anchor` - new anchor

### moveTo

    public final void moveTo(double x,
                             double y)

  Moves the top left corner of the shape to the specified point.

  Parameters:
    `x` - the x coordinate of the top left corner of the shape
    `y` - the y coordinate of the top left corner of the shape

### getEscherChild

    public static <T extends EscherRecord> T getEscherChild(EscherContainerRecord owner,
                                                            int recordId)

  Helper method to return escher child by record ID

  Returns:
    escher record or `null` if not found.

### getEscherChild

    public static <T extends EscherRecord> T getEscherChild(EscherContainerRecord owner,
                                                            RecordTypes recordId)

  Since:
    POI 3.14-Beta2

### getEscherChild

    public <T extends EscherRecord> T getEscherChild(int recordId)

### getEscherChild

    public <T extends EscherRecord> T getEscherChild(RecordTypes recordId)

  Since:
    POI 3.14-Beta2

### getEscherProperty

    public static <T extends EscherProperty> T getEscherProperty(AbstractEscherOptRecord opt,
                                                                 int propId)

  Returns escher property by id.

  Returns:
    escher property or `null` if not found.

### setEscherProperty

    public static void setEscherProperty(AbstractEscherOptRecord opt,
                                         short propId,
                                         int value)

  Set an escher property for this shape.

  Parameters:
    `opt` - The opt record to set the properties to.
    `propId` - The id of the property. One of the constants defined in EscherOptRecord.
    `value` - value of the property. If value = -1 then the property is removed.

### setEscherProperty

    public void setEscherProperty(short propId,
                                  int value)

  Set an simple escher property for this shape.

  Parameters:
    `propId` - The id of the property. One of the constants defined in EscherOptRecord.
    `value` - value of the property. If value = -1 then the property is removed.

### getEscherProperty

    public int getEscherProperty(short propId)

  Get the value of a simple escher property for this shape.

  Parameters:
    `propId` - The id of the property. One of the constants defined in EscherOptRecord.

### getEscherProperty

    public int getEscherProperty(short propId,
                                 int defaultValue)

  Get the value of a simple escher property for this shape.

  Parameters:
    `propId` - The id of the property. One of the constants defined in EscherOptRecord.

### getSpContainer

    public EscherContainerRecord getSpContainer()

  Returns:
    The shape container and it's children that can represent this shape.

### afterInsert

    protected void afterInsert(HSLFSheet sh)

  Event which fires when a shape is inserted in the sheet. In some cases we need to propagate changes to upper level containers.
  Default implementation does nothing.

  Parameters:
    `sh` - - owning shape

### getSheet

    public HSLFSheet getSheet()

  Specified by:
    `getSheet` in interface `Shape<HSLFShape,HSLFTextParagraph>`
  Returns:
    the `SlideShow` this shape belongs to

### setSheet

    public void setSheet(HSLFSheet sheet)

  Assign the `SlideShow` this shape belongs to

  Parameters:
    `sheet` - owner of this shape

### getShapeId

    public int getShapeId()

  Returns:
    id for the shape.

### setShapeId

    public void setShapeId(int id)

  Sets shape ID

  Parameters:
    `id` - of the shape

### getFill

    public HSLFFill getFill()

  Fill properties of this shape

  Returns:
    fill properties of this shape

### getFillStyle

    public FillStyle getFillStyle()

### draw

    public void draw(java.awt.Graphics2D graphics,
                     java.awt.geom.Rectangle2D bounds)

  Description copied from interface: `Shape`
  Convenience method to draw a single shape

  Specified by:
    `draw` in interface `Shape<HSLFShape,HSLFTextParagraph>`
  Parameters:
    `graphics` - the graphics context
    `bounds` - the rectangle to fit the shape to. if null, the bounds of the shape are used.

### getEscherOptRecord

    public AbstractEscherOptRecord getEscherOptRecord()

### getFlipHorizontal

    public boolean getFlipHorizontal()

### setFlipHorizontal

    public void setFlipHorizontal(boolean flip)

### getFlipVertical

    public boolean getFlipVertical()

### setFlipVertical

    public void setFlipVertical(boolean flip)

### getRotation

    public double getRotation()

### setRotation

    public void setRotation(double theta)

### isPlaceholder

    public boolean isPlaceholder()

### getClientDataRecord

    public <T extends Record> T getClientDataRecord(int recordType)

  Find a record in the underlying EscherClientDataRecord

  Parameters:
    `recordType` - type of the record to search

### getClientRecords

    protected java.util.List<? extends Record> getClientRecords()

  Search for EscherClientDataRecord, if found, convert its contents into an array of HSLF records

  Returns:
    an array of HSLF records contained in the shape's EscherClientDataRecord or `null`

### getClientData

    protected HSLFEscherClientDataRecord getClientData(boolean create)

  Create a new HSLF-specific EscherClientDataRecord

  Parameters:
    `create` - if true, create the missing record
  Returns:
    the client record or null if it was missing and create wasn't activated

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

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.