element_feconvolvematrix.erl 5.1 KB

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