## org.apache.poi.hslf.record
Class PPDrawing

    java.lang.Object
      org.apache.poi.hslf.record.Record
          org.apache.poi.hslf.record.RecordAtom
              org.apache.poi.hslf.record.PPDrawing

    public final class PPDrawing

extends RecordAtom

These are actually wrappers onto Escher drawings. Make use of the DDF classes to do useful things with them. For now, creates a tree of the Escher records, and then creates any PowerPoint (hslf) records found within the EscherTextboxRecord (msofbtClientTextbox) records. Also provides easy access to the EscherTextboxRecords, so that their text may be extracted and used in Sheets

Author:
  Nick Burch

Field Summary

Fields inherited from class org.apache.poi.hslf.record.Record
`logger`

Constructor Summary
`` `PPDrawing()` Creates a new, empty, PPDrawing (typically for use with a new Slide or Notes)
`protected` `PPDrawing(byte[] source, int start, int len)` Sets everything up, groks the escher etc

Method Summary
`void` `addTextboxWrapper(EscherTextboxWrapper txtbox)` Add a new EscherTextboxWrapper to this `PPDrawing`.
`Record[]` `getChildRecords()` We're pretending to be an atom, so return null
`EscherDgRecord` `getEscherDgRecord()` Return EscherDgRecord which keeps track of the number of shapes and shapeId in this drawing group
`EscherRecord[]` `getEscherRecords()` Get access to the underlying Escher Records
`long` `getRecordType()` We are type 1036
`EscherTextboxWrapper[]` `getTextboxWrappers()` Get access to the atoms inside Textboxes
`void` `writeOut(java.io.OutputStream out)` Write the contents of the record back, so it can be written to disk Walks the escher layer to get the contents

Methods inherited from class org.apache.poi.hslf.record.RecordAtom
`isAnAtom`

Methods inherited from class org.apache.poi.hslf.record.Record
`buildRecordAtOffset, createRecordForType, findChildRecords, writeLittleEndian, writeLittleEndian`

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

Constructor Detail

### PPDrawing

    protected PPDrawing(byte[] source,
                        int start,
                        int len)

  Sets everything up, groks the escher etc

### PPDrawing

    public PPDrawing()

  Creates a new, empty, PPDrawing (typically for use with a new Slide or Notes)

Method Detail

### getEscherRecords

    public EscherRecord[] getEscherRecords()

  Get access to the underlying Escher Records

### getTextboxWrappers

    public EscherTextboxWrapper[] getTextboxWrappers()

  Get access to the atoms inside Textboxes

### getRecordType

    public long getRecordType()

  We are type 1036

  Specified by:
    `getRecordType` in class `Record`

### getChildRecords

    public Record[] getChildRecords()

  We're pretending to be an atom, so return null

  Overrides:
    `getChildRecords` in class `RecordAtom`

### writeOut

    public void writeOut(java.io.OutputStream out)
                  throws java.io.IOException

  Write the contents of the record back, so it can be written to disk Walks the escher layer to get the contents

  Specified by:
    `writeOut` in class `Record`
  Throws:
    `java.io.IOException`

### addTextboxWrapper

    public void addTextboxWrapper(EscherTextboxWrapper txtbox)

  Add a new EscherTextboxWrapper to this `PPDrawing`.

### getEscherDgRecord

    public EscherDgRecord getEscherDgRecord()

  Return EscherDgRecord which keeps track of the number of shapes and shapeId in this drawing group

  Returns:
    EscherDgRecord

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