91 $this->_object = $object;
101 $this->_data =
$data;
104 $this->_dataSize = strlen($this->_data);
109 while ($this->_pos < $this->_dataSize) {
116 case self::DGG: $this->
_readDgg();
break;
118 case self::BSE: $this->
_readBSE();
break;
121 case self::OPT: $this->
_readOPT();
break;
125 case self::DG: $this->
_readDg();
break;
128 case self::SPGR: $this->
_readSpgr();
break;
129 case self::SP: $this->
_readSp();
break;
152 $recVer = (0x000F & $verInstance) >> 0;
155 $recordData = substr($this->_data, $this->_pos + 8, $length);
158 $this->_pos += 8 + $length;
167 $recordData = substr($this->_data, $this->_pos + 8, $length);
170 $this->_pos += 8 + $length;
174 $this->_object->setDggContainer($dggContainer);
185 $recordData = substr($this->_data, $this->_pos + 8, $length);
188 $this->_pos += 8 + $length;
197 $recordData = substr($this->_data, $this->_pos + 8, $length);
200 $this->_pos += 8 + $length;
204 $this->_object->setBstoreContainer($bstoreContainer);
220 $recordData = substr($this->_data, $this->_pos + 8, $length);
223 $this->_pos += 8 + $length;
227 $this->_object->addBSE($BSE);
229 $BSE->setBLIPType($recInstance);
232 $btWin32 = ord($recordData[0]);
235 $btMacOS = ord($recordData[1]);
238 $rgbUid = substr($recordData, 2, 16);
253 $unused1 = ord($recordData{32});
256 $cbName = ord($recordData{33});
259 $unused2 = ord($recordData{34});
262 $unused3 = ord($recordData{35});
265 $nameData = substr($recordData, 36, $cbName);
268 $blipData = substr($recordData, 36 + $cbName);
286 $recordData = substr($this->_data, $this->_pos + 8, $length);
289 $this->_pos += 8 + $length;
294 $rgbUid1 = substr($recordData, 0, 16);
298 if (in_array($recInstance,
array(0x046B, 0x06E3))) {
299 $rgbUid2 = substr($recordData, 16, 16);
304 $tag = ord($recordData{$pos});
308 $data = substr($recordData, $pos);
311 $blip->setData(
$data);
313 $this->_object->setBlip($blip);
327 $recordData = substr($this->_data, $this->_pos + 8, $length);
330 $this->_pos += 8 + $length;
335 $rgbUid1 = substr($recordData, 0, 16);
339 if ($recInstance == 0x06E1) {
340 $rgbUid2 = substr($recordData, 16, 16);
345 $tag = ord($recordData{$pos});
349 $data = substr($recordData, $pos);
352 $blip->setData(
$data);
354 $this->_object->setBlip($blip);
368 $recordData = substr($this->_data, $this->_pos + 8, $length);
371 $this->_pos += 8 + $length;
387 $recordData = substr($this->_data, $this->_pos + 8, $length);
390 $this->_pos += 8 + $length;
399 $recordData = substr($this->_data, $this->_pos + 8, $length);
402 $this->_pos += 8 + $length;
411 $recordData = substr($this->_data, $this->_pos + 8, $length);
414 $this->_pos += 8 + $length;
418 $this->_object->setDgContainer($dgContainer);
420 $escher =
$reader->load($recordData);
429 $recordData = substr($this->_data, $this->_pos + 8, $length);
432 $this->_pos += 8 + $length;
443 $recordData = substr($this->_data, $this->_pos + 8, $length);
446 $this->_pos += 8 + $length;
453 $this->_object->setSpgrContainer($spgrContainer);
456 $this->_object->addChild($spgrContainer);
460 $escher =
$reader->load($recordData);
469 $recordData = substr($this->_data, $this->_pos + 8, $length);
473 $this->_object->addChild($spContainer);
476 $this->_pos += 8 + $length;
480 $escher =
$reader->load($recordData);
489 $recordData = substr($this->_data, $this->_pos + 8, $length);
492 $this->_pos += 8 + $length;
506 $recordData = substr($this->_data, $this->_pos + 8, $length);
509 $this->_pos += 8 + $length;
523 $recordData = substr($this->_data, $this->_pos + 8, $length);
526 $this->_pos += 8 + $length;
535 $recordData = substr($this->_data, $this->_pos + 8, $length);
538 $this->_pos += 8 + $length;
568 $this->_object->setStartOffsetX($startOffsetX);
571 $this->_object->setStartOffsetY($startOffsetY);
577 $this->_object->setEndOffsetX($endOffsetX);
580 $this->_object->setEndOffsetY($endOffsetY);
589 $recordData = substr($this->_data, $this->_pos + 8, $length);
592 $this->_pos += 8 + $length;
603 $splicedComplexData = substr(
$data, 6 *
$n);
606 for ($i = 0; $i <
$n; ++$i) {
608 $fopte = substr(
$data, 6 * $i, 6);
614 $opidOpid = (0x3FFF & $opid) >> 0;
617 $opidFBid = (0x4000 & $opid) >> 14;
620 $opidFComplex = (0x8000 & $opid) >> 15;
626 $complexData = substr($splicedComplexData, 0, $op);
627 $splicedComplexData = substr($splicedComplexData, $op);
630 $value = $complexData;
636 $this->_object->setOPT($opidOpid, $value);
_readTertiaryOPT()
Read TertiaryOPT record.
_readBstoreContainer()
Read BstoreContainer record (Blip Store Container)
_readClientAnchor()
Read ClientAnchor record.
_readBSE()
Read BSE record.
_readOfficeArtRGFOPTE($data, $n)
Read OfficeArtRGFOPTE table of property-value pairs.
_readSpgr()
Read Spgr record (Shape Group)
__construct($object)
Create a new PHPExcel_Reader_Excel5_Escher instance.
_readDgg()
Read Dgg record (Drawing Group)
_readBlipPNG()
Read BlipPNG record.
_readDgContainer()
Read DgContainer record (Drawing Container)
_readClientTextbox()
Read ClientTextbox record.
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
_readSplitMenuColors()
Read SplitMenuColors record.
_readSpContainer()
Read SpContainer record (Shape Container)
Create styles array
The data for the language used.
_readSp()
Read Sp record (Shape)
load($data)
Load Escher stream data.
_readClientData()
Read ClientData record.
_readDefault()
Read a generic record.
static stringFromColumnIndex($pColumnIndex=0)
String from columnindex.
_readBlipJPEG()
Read BlipJPEG record.
_readDggContainer()
Read DggContainer record (Drawing Group Container)
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
_readSpgrContainer()
Read SpgrContainer record (Shape Group Container)
_readOPT()
Read OPT record.
_readDg()
Read Dg record (Drawing)