element_radialgradient.erl 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. -module(element_radialgradient).
  2. -author('Konstantin Zakablukovsky').
  3. -include("svg.hrl").
  4. -compile(export_all).
  5. render_element(Record) ->
  6. wf_tags:emit_tag(<<"radialGradient">>, nitro:render(Record#radialGradient.body),
  7. lists:append([
  8. [
  9. {<<"id">>, Record#radialGradient.id},
  10. {<<"class">>, Record#radialGradient.class},
  11. {<<"style">>, Record#radialGradient.style},
  12. {<<"gradientUnits">>, Record#radialGradient.gradientUnits},
  13. {<<"gradientTransform">>, Record#radialGradient.gradientTransform},
  14. {<<"cx">>, Record#radialGradient.cx},
  15. {<<"cy">>, Record#radialGradient.cy},
  16. {<<"r">>, Record#radialGradient.r},
  17. {<<"fx">>, Record#radialGradient.fx},
  18. {<<"fy">>, Record#radialGradient.fy},
  19. {<<"spreadMethod">>, Record#radialGradient.spreadMethod},
  20. {<<"externalResourcesRequired">>, Record#radialGradient.externalResourcesRequired}
  21. ],
  22. svg_core(Record),
  23. svg_presentation(Record),
  24. svg_xlink(Record),
  25. Record#radialGradient.data_fields,
  26. Record#radialGradient.aria_states
  27. ])).
  28. %% Common SVG attributes
  29. svg_core(Record)-> [
  30. {<<"xml:base">>, Record#radialGradient.xmlbase},
  31. {<<"xml:lang">>, Record#radialGradient.xmllang},
  32. {<<"xml:space">>, Record#radialGradient.xmlspace}
  33. ].
  34. svg_presentation(Record)-> [
  35. {<<"alignment-baseline">>, Record#radialGradient.alignment_baseline},
  36. {<<"baseline-shift">>, Record#radialGradient.baseline_shift},
  37. {<<"clip">>, Record#radialGradient.clip},
  38. {<<"clip-path">>, Record#radialGradient.clip_path},
  39. {<<"clip-rule">>, Record#radialGradient.clip_rule},
  40. {<<"color">>, Record#radialGradient.color},
  41. {<<"color-interpolation">>, Record#radialGradient.color_interpolation},
  42. {<<"color-interpolation-filters">>, Record#radialGradient.color_interpolation_filters},
  43. {<<"color-profile">>, Record#radialGradient.color_profile},
  44. {<<"color-rendering">>, Record#radialGradient.color_rendering},
  45. {<<"cursor">>, Record#radialGradient.cursor},
  46. {<<"direction">>, Record#radialGradient.direction},
  47. {<<"display">>, Record#radialGradient.display},
  48. {<<"dominant-baseline">>, Record#radialGradient.dominant_baseline},
  49. {<<"enable-background">>, Record#radialGradient.enable_background},
  50. {<<"fill">>, Record#radialGradient.fill},
  51. {<<"fill-opacity">>, Record#radialGradient.fill_opacity},
  52. {<<"fill-rule">>, Record#radialGradient.fill_rule},
  53. {<<"filter">>, Record#radialGradient.filter},
  54. {<<"flood-color">>, Record#radialGradient.flood_color},
  55. {<<"flood-opacity">>, Record#radialGradient.flood_opacity},
  56. {<<"font-family">>, Record#radialGradient.font_family},
  57. {<<"font-size">>, Record#radialGradient.font_size},
  58. {<<"font-size-adjust">>, Record#radialGradient.font_size_adjust},
  59. {<<"font-stretch">>, Record#radialGradient.font_stretch},
  60. {<<"font-style">>, Record#radialGradient.font_style},
  61. {<<"font-variant">>, Record#radialGradient.font_variant},
  62. {<<"font-weight">>, Record#radialGradient.font_weight},
  63. {<<"glyph-orientation-horizontal">>, Record#radialGradient.glyph_orientation_horizontal},
  64. {<<"glyph-orientation-vertical">>, Record#radialGradient.glyph_orientation_vertical},
  65. {<<"image-rendering">>, Record#radialGradient.image_rendering},
  66. {<<"kerning">>, Record#radialGradient.kerning},
  67. {<<"letter-spacing">>, Record#radialGradient.letter_spacing},
  68. {<<"lighting-color">>, Record#radialGradient.lighting_color},
  69. {<<"marker-end">>, Record#radialGradient.marker_end},
  70. {<<"marker-mid">>, Record#radialGradient.marker_mid},
  71. {<<"marker-start">>, Record#radialGradient.marker_start},
  72. {<<"mask">>, Record#radialGradient.mask},
  73. {<<"opacity">>, Record#radialGradient.opacity},
  74. {<<"overflow">>, Record#radialGradient.overflow},
  75. {<<"pointer-events">>, Record#radialGradient.pointer_events},
  76. {<<"shape-rendering">>, Record#radialGradient.shape_rendering},
  77. {<<"stop-color">>, Record#radialGradient.stop_color},
  78. {<<"stop-opacity">>, Record#radialGradient.stop_opacity},
  79. {<<"stroke">>, Record#radialGradient.stroke},
  80. {<<"stroke-dasharray">>, Record#radialGradient.stroke_dasharray},
  81. {<<"stroke-dashoffset">>, Record#radialGradient.stroke_dashoffset},
  82. {<<"stroke-linecap">>, Record#radialGradient.stroke_linecap},
  83. {<<"stroke-linejoin">>, Record#radialGradient.stroke_linejoin},
  84. {<<"stroke-miterlimit">>, Record#radialGradient.stroke_miterlimit},
  85. {<<"stroke-opacity">>, Record#radialGradient.stroke_opacity},
  86. {<<"stroke-width">>, Record#radialGradient.stroke_width},
  87. {<<"text-anchor">>, Record#radialGradient.text_anchor},
  88. {<<"text-decoration">>, Record#radialGradient.text_decoration},
  89. {<<"text-rendering">>, Record#radialGradient.text_rendering},
  90. {<<"unicode-bidi">>, Record#radialGradient.unicode_bidi},
  91. {<<"visibility">>, Record#radialGradient.visibility},
  92. {<<"word-spacing">>, Record#radialGradient.word_spacing},
  93. {<<"writing-mode">>, Record#radialGradient.writing_mode}
  94. ].
  95. svg_xlink(Record)-> [
  96. {<<"xlink:href">>, Record#radialGradient.xlinkhref},
  97. {<<"xlink:type">>, Record#radialGradient.xlinktype},
  98. {<<"xlink:role">>, Record#radialGradient.xlinkrole},
  99. {<<"xlink:arcrole">>, Record#radialGradient.xlinkarcrole},
  100. {<<"xlink:title">>, Record#radialGradient.xlinktitle},
  101. {<<"xlink:show">>, Record#radialGradient.xlinkshow},
  102. {<<"xlink:actuate">>, Record#radialGradient.xlinkactuate}
  103. ].