internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { ApplyOwner(owner); SetPage(page, true); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); string[] keys = { "RD", "Sy" }; for (int i = 0; i < keys.Length; ++i) { IPDFObject obj = Dictionary[keys[i]]; if (obj != null) { res.AddItem(keys[i], obj.Clone()); } } CaretAnnotation annot = new CaretAnnotation(res, owner); annot.SetPage(Page, false); annot.SetPage(page, true); return(annot); }
internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { ApplyOwner(owner); SetPage(page, true); float l = Left; float t = Top; float w = Width; float h = Height; float a = RotationAngle; Rectangle = null; Rectangle.Left = l; Rectangle.Top = t; Rectangle.Width = w; Rectangle.Height = h; Rectangle.Angle = a; return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); TextMarkupAnnotation.CopyTo(Dictionary, res, Page, page); UnderlineAnnotation annot = new UnderlineAnnotation(res, owner); annot.SetPage(page, true); return(annot); }
//TODO : IT internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { PointF[] points = Vertices.ToArray(); ApplyOwner(owner); SetPage(page, true); Vertices.Clear(); Vertices.Page = page; Vertices.AddRange(points); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); PolygonPolylineAnnotation.CopyTo(Dictionary, res, Page, page); PolylineAnnotation annot = new PolylineAnnotation(res, owner); annot.SetPage(Page, false); annot.SetPage(page, true); return(annot); }
internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { ApplyOwner(owner); SetPage(page, true); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); IPDFObject name = Dictionary["Name"]; if (name != null) { res.AddItem("Name", name.Clone()); } IPDFObject sound = Dictionary["Sound"]; if (sound != null) { res.AddItem("Sound", sound); } SoundAnnotation annot = new SoundAnnotation(res, owner); annot.SetPage(Page, false); annot.SetPage(page, true); return(annot); }
internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { ApplyOwner(owner); SetPage(page, true); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); IPDFObject name = Dictionary["Name"]; if (name != null) { res.AddItem("Name", name.Clone()); } IPDFObject fs = Dictionary["FS"]; if (fs != null) { res.AddItem("FS", fs.Clone()); } FileAttachmentAnnotation annot = new FileAttachmentAnnotation(res, owner); annot.SetPage(Page, false); annot.SetPage(page, true); return(annot); }
// TODO: //internal PointsArray CoordinatesLines //{ // get // { // if (m_coordinatesLines == null) // { // PDFArray array = Dictionary["CL"] as PDFArray; // if (array == null) // { // m_coordinatesLines = new PointsArray(); // m_coordinatesLines.AddPoint(new PointF(Left, Top + Height / 2)); // m_coordinatesLines.AddPoint(new PointF(Left, Top + Height / 2)); // Dictionary.AddItem("CL", m_coordinatesLines.Array); // } // else // m_coordinatesLines = new PointsArray(array, Page); // } // return m_coordinatesLines; // } //} //internal PDFLineEndingStyle EndLineStyle //{ // get { return TypeConverter.PDFNameToPDFLineEndingStyle(Dictionary["LE"] as PDFName); } // set { Dictionary.AddItem("LE", TypeConverter.PDFLineEndingStyleToPDFName(value)); } //} //TODO IT internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { ApplyOwner(owner); SetPage(page, true); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); string[] keys = { "DA", "Q", "RC", "DS", "IT", "BE", "RD", "LE" }; for (int i = 0; i < keys.Length; ++i) { IPDFObject obj = Dictionary[keys[i]]; if (obj != null) { res.AddItem(keys[i], obj.Clone()); } } PDFArray cl = Dictionary["CL"] as PDFArray; if (cl != null) { RectangleF oldRect; if (Page == null) { oldRect = new RectangleF(); } else { oldRect = Page.PageRect; } res.AddItem("CL", CloneUtility.CopyArrayCoordinates(cl, oldRect, page.PageRect, Page == null)); } PDFDictionary bs = Dictionary["BS"] as PDFDictionary; if (bs != null) { res.AddItem("BS", AnnotationBorderStyle.Copy(bs)); } FreeTextAnnotation annot = new FreeTextAnnotation(res, owner, false); annot.SetPage(Page, false); annot.SetPage(page, true); annot._font = _font; annot._font.ChangedFontSize += annot.changedFontSize; annot._fontColor = _fontColor; annot.setTextAttributes(); return(annot); }
internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { ApplyOwner(owner); SetPage(page, true); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); SquareCircleAnnotation.CopyTo(Dictionary, res); SquareAnnotation annot = new SquareAnnotation(res, owner); annot.SetPage(Page, false); annot.SetPage(page, true); return(annot); }
//TODO: Measure //TODO: IT internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { if (_coordinates == null) { initCoordinates(); } PointF[] points = _coordinates.ToArray(); ApplyOwner(owner); SetPage(page, true); _coordinates.Clear(); _coordinates.Page = page; _coordinates.AddRange(points); return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); string[] keys = { "LE", "IC", "LL", "LLE", "Cap", "IT", "LLO", "CP", "CO" }; for (int i = 0; i < keys.Length; ++i) { IPDFObject obj = Dictionary[keys[i]]; if (obj != null) { res.AddItem(keys[i], obj.Clone()); } } PDFArray l = Dictionary["L"] as PDFArray; if (l != null) { RectangleF oldRect; if (Page == null) { oldRect = new RectangleF(); } else { oldRect = Page.PageRect; } res.AddItem("L", CloneUtility.CopyArrayCoordinates(l, oldRect, page.PageRect, Page == null)); } PDFDictionary bs = Dictionary["BS"] as PDFDictionary; if (bs != null) { res.AddItem("BS", AnnotationBorderStyle.Copy(bs)); } PDFDictionary measure = Dictionary["Measure"] as PDFDictionary; if (measure != null) { res.AddItem("Measure", Measure.Copy(measure)); } LineAnnotation annot = new LineAnnotation(res, owner); annot.SetPage(page, true); return(annot); }
internal override Annotation Clone(IDocumentEssential owner, Page page) { if (Page == null) { InkList lst = InkList; ApplyOwner(owner); SetPage(page, true); for (int i = 0; i < lst.Count; ++i) { PointF[] points = lst[i].ToArray(); lst[i].Clear(); lst[i].Page = page; lst[i].AddRange(points); } lst.Page = page; return(this); } PDFDictionary res = AnnotationBase.Copy(Dictionary); MarkupAnnotationBase.CopyTo(Dictionary, res); PDFDictionary bs = Dictionary["BS"] as PDFDictionary; if (bs != null) { res.AddItem("BS", AnnotationBorderStyle.Copy(bs)); } PDFArray inkList = Dictionary["InkList"] as PDFArray; if (inkList != null) { PDFArray newInkList = new PDFArray(); for (int i = 0; i < inkList.Count; ++i) { PDFArray points = inkList[i] as PDFArray; if (points != null) { RectangleF oldRect; if (Page == null) { oldRect = new RectangleF(); } else { oldRect = Page.PageRect; } newInkList.AddItem(CloneUtility.CopyArrayCoordinates(points, oldRect, page.PageRect, Page == null)); } } res.AddItem("InkList", newInkList); } InkAnnotation annot = new InkAnnotation(res, owner); annot.SetPage(Page, false); annot.SetPage(page, true); return(annot); }