element_ellipse.erl 4.7 KB

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