FreeTextParam.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using ComPDFKit.PDFAnnotation;
  2. using System.Windows;
  3. using System.Windows.Media;
  4. namespace ComPDFKit.Tool
  5. {
  6. public class FreeTextParam:AnnotParam
  7. {
  8. public FreeTextParam ()
  9. {
  10. CurrentType = C_ANNOTATION_TYPE.C_ANNOTATION_FREETEXT;
  11. }
  12. public byte[] LineColor { get; set; }
  13. public byte[] BgColor { get; set; }
  14. public bool HasBgColor { get; set; }
  15. public byte[] FontColor { get; set; }
  16. public double LineWidth { get; set; }
  17. public bool IsBold { get; set; }
  18. public bool IsItalic { get; set; }
  19. public string FontName { get; set; } = string.Empty;
  20. public double FontSize { get; set; }
  21. public C_TEXT_ALIGNMENT Alignment { get; set; }
  22. public bool IsReadOnly { get; set; }
  23. public override bool CopyTo(AnnotParam transfer)
  24. {
  25. FreeTextParam freetextTransfer = transfer as FreeTextParam;
  26. if (freetextTransfer == null)
  27. {
  28. return false;
  29. }
  30. if (!base.CopyTo(freetextTransfer))
  31. {
  32. return false;
  33. }
  34. if(LineColor != null)
  35. {
  36. freetextTransfer.LineColor = (byte[])LineColor.Clone();
  37. }
  38. if(BgColor != null)
  39. {
  40. freetextTransfer.BgColor = (byte[])BgColor.Clone();
  41. }
  42. if(FontColor != null)
  43. {
  44. freetextTransfer.FontColor = (byte[])FontColor.Clone();
  45. }
  46. freetextTransfer.HasBgColor = HasBgColor;
  47. freetextTransfer.LineWidth = LineWidth;
  48. freetextTransfer.IsBold = IsBold;
  49. freetextTransfer.IsItalic = IsItalic;
  50. freetextTransfer.FontName = FontName;
  51. freetextTransfer.FontSize = FontSize;
  52. freetextTransfer.Alignment = Alignment;
  53. freetextTransfer.IsReadOnly = IsReadOnly;
  54. return true;
  55. }
  56. }
  57. }