Lines 21-31
Link Here
|
21 |
|
21 |
|
22 |
import java.io.*; |
22 |
import java.io.*; |
23 |
import java.awt.*; |
23 |
import java.awt.*; |
|
|
24 |
import java.util.List; |
24 |
|
25 |
|
|
|
26 |
import org.apache.poi.ddf.*; |
27 |
import org.apache.poi.hslf.record.Document; |
25 |
import org.apache.poi.hslf.usermodel.SlideShow; |
28 |
import org.apache.poi.hslf.usermodel.SlideShow; |
26 |
import org.apache.poi.hslf.HSLFSlideShow; |
29 |
import org.apache.poi.hslf.HSLFSlideShow; |
27 |
import org.apache.poi.POIDataSamples; |
30 |
import org.apache.poi.POIDataSamples; |
28 |
|
31 |
|
|
|
32 |
|
29 |
/** |
33 |
/** |
30 |
* Test <code>Fill</code> object. |
34 |
* Test <code>Fill</code> object. |
31 |
* |
35 |
* |
Lines 163-168
Link Here
|
163 |
|
167 |
|
164 |
fill = slides[0].getBackground().getFill(); |
168 |
fill = slides[0].getBackground().getFill(); |
165 |
assertEquals(Fill.FILL_PICTURE, fill.getFillType()); |
169 |
assertEquals(Fill.FILL_PICTURE, fill.getFillType()); |
|
|
170 |
assertEquals(3, getFillPictureRefCount(slides[0].getBackground(), fill)); |
166 |
shape = slides[0].getShapes()[0]; |
171 |
shape = slides[0].getShapes()[0]; |
167 |
assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType()); |
172 |
assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType()); |
168 |
|
173 |
|
Lines 173-180
Link Here
|
173 |
|
178 |
|
174 |
fill = slides[2].getBackground().getFill(); |
179 |
fill = slides[2].getBackground().getFill(); |
175 |
assertEquals(Fill.FILL_TEXTURE, fill.getFillType()); |
180 |
assertEquals(Fill.FILL_TEXTURE, fill.getFillType()); |
|
|
181 |
assertEquals(3, getFillPictureRefCount(slides[2].getBackground(), fill)); |
176 |
shape = slides[2].getShapes()[0]; |
182 |
shape = slides[2].getShapes()[0]; |
177 |
assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType()); |
183 |
assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType()); |
|
|
184 |
assertEquals(1, getFillPictureRefCount(shape, fill)); |
178 |
|
185 |
|
179 |
fill = slides[3].getBackground().getFill(); |
186 |
fill = slides[3].getBackground().getFill(); |
180 |
assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType()); |
187 |
assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType()); |
Lines 183-186
Link Here
|
183 |
|
190 |
|
184 |
} |
191 |
} |
185 |
|
192 |
|
|
|
193 |
private int getFillPictureRefCount(Shape shape, Fill fill) { |
194 |
EscherOptRecord opt = (EscherOptRecord)Shape.getEscherChild(shape.getSpContainer(), EscherOptRecord.RECORD_ID); |
195 |
EscherSimpleProperty p = (EscherSimpleProperty)Shape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE); |
196 |
if(p != null) { |
197 |
int idx = p.getPropertyValue(); |
198 |
|
199 |
Sheet sheet = shape.getSheet(); |
200 |
SlideShow ppt = sheet.getSlideShow(); |
201 |
Document doc = ppt.getDocumentRecord(); |
202 |
EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer(); |
203 |
EscherContainerRecord bstore = (EscherContainerRecord)Shape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER); |
204 |
List lst = bstore.getChildRecords(); |
205 |
return ((EscherBSERecord)lst.get(idx-1)).getRef(); |
206 |
} |
207 |
return 0; |
208 |
} |
209 |
|
186 |
} |
210 |
} |