org.apache.poi.hslf.record
Class PPDrawing

java.lang.Object
  extended by org.apache.poi.hslf.record.Record
      extended by org.apache.poi.hslf.record.RecordAtom
          extended by 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.