12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using DocumentFormat.OpenXml.Packaging;
- using DocumentFormat.OpenXml.Presentation;
- namespace ClearSlideLibrary.Dom
- {
- public class PPTGraphicFrame : PPTShapeBase
- {
- public PPTGraphicFrame(SlidePart slidePart, GraphicFrame gfarame)
- {
- SetGraphicFrameVisualProperties(slidePart, gfarame);
- SetGraphicFrameNonVisualProperties(slidePart,gfarame);
- }
- private void SetGraphicFrameNonVisualProperties(SlidePart slidePart,GraphicFrame gfarame)
- {
- if (gfarame.NonVisualGraphicFrameProperties.NonVisualDrawingProperties.HyperlinkOnClick != null)
- foreach (HyperlinkRelationship link in slidePart.HyperlinkRelationships)
- if (link.Id.Equals(gfarame.NonVisualGraphicFrameProperties.NonVisualDrawingProperties.HyperlinkOnClick.Id))
- ClickLinkUrl = link.Uri.IsAbsoluteUri ? link.Uri.AbsoluteUri : link.Uri.OriginalString;
- if (gfarame.NonVisualGraphicFrameProperties.NonVisualDrawingProperties.HyperlinkOnHover != null)
- foreach (HyperlinkRelationship link in slidePart.HyperlinkRelationships)
- if (link.Id.Equals(gfarame.NonVisualGraphicFrameProperties.NonVisualDrawingProperties.HyperlinkOnHover.Id))
- HoverLinkUrl = link.Uri.IsAbsoluteUri ? link.Uri.AbsoluteUri : link.Uri.OriginalString;
- var nonVisualShapeProp = new PPTNonVisualShapeProp
- {
- Id = "s1s" + //HARD CODED: we split it into separate HTML files!
- gfarame.NonVisualGraphicFrameProperties.NonVisualDrawingProperties.Id,
- Name = gfarame.LocalName,
- Type = "PPTGraphicFrame"
- };
- base.NonVisualShapeProp = nonVisualShapeProp;
- }
- private void SetGraphicFrameVisualProperties(SlidePart slidePart,
- GraphicFrame gfarame)
- {
- base.VisualShapeProp = new PPTVisualPPTShapeProp();
- if (gfarame.Transform != null)
- {
- base.VisualShapeProp.Extents = gfarame.Transform.Extents;
- base.VisualShapeProp.Offset = gfarame.Transform.Offset;
- }
- else
- {
- //Petco change get properties from layout for GraphicFrame object.
- DocumentFormat.OpenXml.Presentation.ShapeTree shapeTree =
- slidePart.SlideLayoutPart.SlideLayout.CommonSlideData.ShapeTree;
- DocumentFormat.OpenXml.Presentation.GraphicFrame layoutShape;
- if (shapeTree != null)
- {
- layoutShape = shapeTree.GetFirstChild<DocumentFormat.OpenXml.Presentation.GraphicFrame>();
- if (layoutShape.Transform != null)
- {
- base.VisualShapeProp.Extents = layoutShape.Transform.Extents;
- base.VisualShapeProp.Offset = layoutShape.Transform.Offset;
- }
- }
- }
- }
- public void CreateImage(string targetDir)
- {
- /*
- Image image = base.SourceImage;
- Size size = new Size(base.shPr.PixelWidth, base.shPr.PixelHeight);
- string path = Path.Combine(targetDir, base.nvSpPr.Id + defaultImageType );
- //image.Save(Path.Combine(path));
- */
- }
- }
- }
|