diff options
Diffstat (limited to 'src/java/org/apache/poi/sl/draw/DrawMasterSheet.java')
-rw-r--r-- | src/java/org/apache/poi/sl/draw/DrawMasterSheet.java | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/java/org/apache/poi/sl/draw/DrawMasterSheet.java b/src/java/org/apache/poi/sl/draw/DrawMasterSheet.java index 3bcedbe850..a39cf7d68e 100644 --- a/src/java/org/apache/poi/sl/draw/DrawMasterSheet.java +++ b/src/java/org/apache/poi/sl/draw/DrawMasterSheet.java @@ -17,7 +17,13 @@ package org.apache.poi.sl.draw;
-import org.apache.poi.sl.usermodel.*;
+import java.awt.Graphics2D;
+
+import org.apache.poi.sl.usermodel.MasterSheet;
+import org.apache.poi.sl.usermodel.Placeholder;
+import org.apache.poi.sl.usermodel.Shape;
+import org.apache.poi.sl.usermodel.SimpleShape;
+import org.apache.poi.sl.usermodel.Slide;
public class DrawMasterSheet extends DrawSheet {
@@ -33,12 +39,15 @@ public class DrawMasterSheet extends DrawSheet { * for instance, slide masters and layouts don't display placeholders
*/
@Override
- protected boolean canDraw(Shape<?,?> shape) {
+ protected boolean canDraw(Graphics2D graphics, Shape<?,?> shape) {
if (shape instanceof SimpleShape) {
+ // in XSLF, slidenumber and date shapes aren't marked as placeholders opposed to HSLF
Placeholder ph = ((SimpleShape<?,?>)shape).getPlaceholder();
- return ph == null;
- } else {
- return true;
+ if (ph != null) {
+ Slide<?,?> slide = (Slide<?,?>)graphics.getRenderingHint(Drawable.CURRENT_SLIDE);
+ return slide.getDisplayPlaceholder(ph);
+ }
}
+ return true;
}
}
|