86 $this->dataSize = strlen($this->
data);
91 while ($this->pos < $this->dataSize) {
190 $recVer = (0x000F & $verInstance) >> 0;
193 $recordData = substr($this->
data, $this->pos + 8, $length);
196 $this->pos += 8 + $length;
205 $recordData = substr($this->
data, $this->pos + 8, $length);
208 $this->pos += 8 + $length;
212 $this->
object->setDggContainer($dggContainer);
213 $reader =
new self($dggContainer);
223 $recordData = substr($this->
data, $this->pos + 8, $length);
226 $this->pos += 8 + $length;
235 $recordData = substr($this->
data, $this->pos + 8, $length);
238 $this->pos += 8 + $length;
242 $this->
object->setBstoreContainer($bstoreContainer);
243 $reader =
new self($bstoreContainer);
258 $recordData = substr($this->
data, $this->pos + 8, $length);
261 $this->pos += 8 + $length;
265 $this->
object->addBSE($BSE);
267 $BSE->setBLIPType($recInstance);
270 $btWin32 = ord($recordData[0]);
273 $btMacOS = ord($recordData[1]);
276 $rgbUid = substr($recordData, 2, 16);
291 $unused1 = ord($recordData[32]);
294 $cbName = ord($recordData[33]);
297 $unused2 = ord($recordData[34]);
300 $unused3 = ord($recordData[35]);
303 $nameData = substr($recordData, 36, $cbName);
306 $blipData = substr($recordData, 36 + $cbName);
324 $recordData = substr($this->
data, $this->pos + 8, $length);
327 $this->pos += 8 + $length;
332 $rgbUid1 = substr($recordData, 0, 16);
336 if (in_array($recInstance, [0x046B, 0x06E3])) {
337 $rgbUid2 = substr($recordData, 16, 16);
349 $blip->setData(
$data);
351 $this->
object->setBlip($blip);
365 $recordData = substr($this->
data, $this->pos + 8, $length);
368 $this->pos += 8 + $length;
373 $rgbUid1 = substr($recordData, 0, 16);
377 if ($recInstance == 0x06E1) {
378 $rgbUid2 = substr($recordData, 16, 16);
390 $blip->setData(
$data);
392 $this->
object->setBlip($blip);
406 $recordData = substr($this->
data, $this->pos + 8, $length);
409 $this->pos += 8 + $length;
425 $recordData = substr($this->
data, $this->pos + 8, $length);
428 $this->pos += 8 + $length;
437 $recordData = substr($this->
data, $this->pos + 8, $length);
440 $this->pos += 8 + $length;
449 $recordData = substr($this->
data, $this->pos + 8, $length);
452 $this->pos += 8 + $length;
456 $this->
object->setDgContainer($dgContainer);
457 $reader =
new self($dgContainer);
458 $escher =
$reader->load($recordData);
467 $recordData = substr($this->
data, $this->pos + 8, $length);
470 $this->pos += 8 + $length;
481 $recordData = substr($this->
data, $this->pos + 8, $length);
484 $this->pos += 8 + $length;
491 $this->
object->setSpgrContainer($spgrContainer);
494 $this->
object->addChild($spgrContainer);
497 $reader =
new self($spgrContainer);
498 $escher =
$reader->load($recordData);
507 $recordData = substr($this->
data, $this->pos + 8, $length);
511 $this->
object->addChild($spContainer);
514 $this->pos += 8 + $length;
517 $reader =
new self($spContainer);
518 $escher =
$reader->load($recordData);
527 $recordData = substr($this->
data, $this->pos + 8, $length);
530 $this->pos += 8 + $length;
544 $recordData = substr($this->
data, $this->pos + 8, $length);
547 $this->pos += 8 + $length;
561 $recordData = substr($this->
data, $this->pos + 8, $length);
564 $this->pos += 8 + $length;
573 $recordData = substr($this->
data, $this->pos + 8, $length);
576 $this->pos += 8 + $length;
606 $this->
object->setStartOffsetX($startOffsetX);
609 $this->
object->setStartOffsetY($startOffsetY);
615 $this->
object->setEndOffsetX($endOffsetX);
618 $this->
object->setEndOffsetY($endOffsetY);
627 $recordData = substr($this->
data, $this->pos + 8, $length);
630 $this->pos += 8 + $length;
641 $splicedComplexData = substr(
$data, 6 *
$n);
646 $fopte = substr(
$data, 6 *
$i, 6);
652 $opidOpid = (0x3FFF & $opid) >> 0;
655 $opidFBid = (0x4000 & $opid) >> 14;
658 $opidFComplex = (0x8000 & $opid) >> 15;
664 $complexData = substr($splicedComplexData, 0, $op);
665 $splicedComplexData = substr($splicedComplexData, $op);
668 $value = $complexData;
674 $this->
object->setOPT($opidOpid, $value);
An exception for terminatinating execution or to throw for unit testing.
Helper class to manipulate cell coordinates.
static stringFromColumnIndex($columnIndex)
String from column index.
readSpContainer()
Read SpContainer record (Shape Container).
readDg()
Read Dg record (Drawing).
readSp()
Read Sp record (Shape).
readSplitMenuColors()
Read SplitMenuColors record.
readDefault()
Read a generic record.
load($data)
Load Escher stream data.
readSpgrContainer()
Read SpgrContainer record (Shape Group Container).
readBstoreContainer()
Read BstoreContainer record (Blip Store Container).
readBlipPNG()
Read BlipPNG record.
readBlipJPEG()
Read BlipJPEG record.
readBSE()
Read BSE record.
readDgContainer()
Read DgContainer record (Drawing Container).
__construct($object)
Create a new Escher instance.
readDggContainer()
Read DggContainer record (Drawing Group Container).
readTertiaryOPT()
Read TertiaryOPT record.
readDgg()
Read Dgg record (Drawing Group).
readClientTextbox()
Read ClientTextbox record.
readOPT()
Read OPT record.
readOfficeArtRGFOPTE($data, $n)
Read OfficeArtRGFOPTE table of property-value pairs.
readClientAnchor()
Read ClientAnchor record.
readSpgr()
Read Spgr record (Shape Group).
readClientData()
Read ClientData record.
static getInt4d($data, $pos)
Read 32-bit signed integer.
static getUInt2d($data, $pos)
Read 16-bit unsigned integer.
if(function_exists( 'posix_getuid') &&posix_getuid()===0) if(!array_key_exists('t', $options)) $tag