mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
Make picture loading in HWPF PicturesTable easier to understand
The recursion is no longer necessary due to the more defined structure of OfficeArtContent. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887016 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c08763fad0
commit
77ec895ee0
@ -117,10 +117,6 @@ public final class OfficeArtContent {
|
|||||||
assert pos == offset + size;
|
assert pos == offset + size;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EscherRecord> getEscherRecords() {
|
|
||||||
return drawingGroupData.getChildRecords();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<? extends EscherContainerRecord> getDgContainers() {
|
private List<? extends EscherContainerRecord> getDgContainers() {
|
||||||
List<EscherContainerRecord> dgContainers = new ArrayList<>(2);
|
List<EscherContainerRecord> dgContainers = new ArrayList<>(2);
|
||||||
if (mainDocumentDgContainer != null) {
|
if (mainDocumentDgContainer != null) {
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import org.apache.logging.log4j.Logger;
|
|||||||
import org.apache.poi.ddf.DefaultEscherRecordFactory;
|
import org.apache.poi.ddf.DefaultEscherRecordFactory;
|
||||||
import org.apache.poi.ddf.EscherBSERecord;
|
import org.apache.poi.ddf.EscherBSERecord;
|
||||||
import org.apache.poi.ddf.EscherBlipRecord;
|
import org.apache.poi.ddf.EscherBlipRecord;
|
||||||
|
import org.apache.poi.ddf.EscherContainerRecord;
|
||||||
import org.apache.poi.ddf.EscherRecord;
|
import org.apache.poi.ddf.EscherRecord;
|
||||||
import org.apache.poi.ddf.EscherRecordFactory;
|
import org.apache.poi.ddf.EscherRecordFactory;
|
||||||
import org.apache.poi.hwpf.HWPFDocument;
|
import org.apache.poi.hwpf.HWPFDocument;
|
||||||
@ -166,7 +167,7 @@ public final class PicturesTable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs a recursive search for pictures in the given list of escher records.
|
* Performs a search for pictures in the given list of escher records.
|
||||||
*
|
*
|
||||||
* @param escherRecords the escher records.
|
* @param escherRecords the escher records.
|
||||||
* @param pictures the list to populate with the pictures.
|
* @param pictures the list to populate with the pictures.
|
||||||
@ -205,9 +206,6 @@ public final class PicturesTable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recursive call.
|
|
||||||
searchForPictures(escherRecord.getChildRecords(), pictures);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,9 +232,12 @@ public final class PicturesTable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
searchForPictures(_dgg.getEscherRecords(), pictures);
|
EscherContainerRecord bStore = _dgg.getBStoreContainer();
|
||||||
|
if (bStore != null) {
|
||||||
|
searchForPictures(bStore.getChildRecords(), pictures);
|
||||||
|
}
|
||||||
|
|
||||||
return pictures;
|
return pictures;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isBlockContainsImage(int i)
|
private boolean isBlockContainsImage(int i)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user