123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- -module(element_pattern).
- -author('Konstantin Zakablukovsky').
- -include("nitro.hrl").
- -compile(export_all).
- render_element(Record) ->
- wf_tags:emit_tag(<<"pattern">>, nitro:render(Record#pattern.body),
- lists:append([
- [
- {<<"id">>, Record#pattern.id},
- {<<"class">>, Record#pattern.class},
- {<<"style">>, Record#pattern.style},
- {<<"patternUnits">>, Record#pattern.patternUnits},
- {<<"patternContentUnits">>, Record#pattern.patternContentUnits},
- {<<"patternTransform">>, Record#pattern.patternTransform},
- {<<"x">>, Record#pattern.x},
- {<<"y">>, Record#pattern.y},
- {<<"width">>, Record#pattern.width},
- {<<"height">>, Record#pattern.height},
- {<<"preserveAspectRatio">>, Record#pattern.preserveAspectRatio},
- {<<"viewBox">>, Record#pattern.viewBox},
- {<<"externalResourcesRequired">>, Record#pattern.externalResourcesRequired}
- ],
- svg_conditional_processing(Record),
- svg_core(Record),
- svg_presentation(Record),
- svg_xlink(Record),
- Record#pattern.data_fields,
- Record#pattern.aria_states
- ])).
- %% Common SVG attributes
- svg_conditional_processing(Record)-> [
- {<<"requiredExtensions">>, Record#pattern.requiredExtensions},
- {<<"requiredFeatures">>, Record#pattern.requiredFeatures},
- {<<"systemLanguage">>, Record#pattern.systemLanguage}
- ].
- svg_core(Record)-> [
- {<<"xml:base">>, Record#pattern.xmlbase},
- {<<"xml:lang">>, Record#pattern.xmllang},
- {<<"xml:space">>, Record#pattern.xmlspace}
- ].
- svg_presentation(Record)-> [
- {<<"alignment-baseline">>, Record#pattern.alignment_baseline},
- {<<"baseline-shift">>, Record#pattern.baseline_shift},
- {<<"clip">>, Record#pattern.clip},
- {<<"clip-path">>, Record#pattern.clip_path},
- {<<"clip-rule">>, Record#pattern.clip_rule},
- {<<"color">>, Record#pattern.color},
- {<<"color-interpolation">>, Record#pattern.color_interpolation},
- {<<"color-interpolation-filters">>, Record#pattern.color_interpolation_filters},
- {<<"color-profile">>, Record#pattern.color_profile},
- {<<"color-rendering">>, Record#pattern.color_rendering},
- {<<"cursor">>, Record#pattern.cursor},
- {<<"direction">>, Record#pattern.direction},
- {<<"display">>, Record#pattern.display},
- {<<"dominant-baseline">>, Record#pattern.dominant_baseline},
- {<<"enable-background">>, Record#pattern.enable_background},
- {<<"fill">>, Record#pattern.fill},
- {<<"fill-opacity">>, Record#pattern.fill_opacity},
- {<<"fill-rule">>, Record#pattern.fill_rule},
- {<<"filter">>, Record#pattern.filter},
- {<<"flood-color">>, Record#pattern.flood_color},
- {<<"flood-opacity">>, Record#pattern.flood_opacity},
- {<<"font-family">>, Record#pattern.font_family},
- {<<"font-size">>, Record#pattern.font_size},
- {<<"font-size-adjust">>, Record#pattern.font_size_adjust},
- {<<"font-stretch">>, Record#pattern.font_stretch},
- {<<"font-style">>, Record#pattern.font_style},
- {<<"font-variant">>, Record#pattern.font_variant},
- {<<"font-weight">>, Record#pattern.font_weight},
- {<<"glyph-orientation-horizontal">>, Record#pattern.glyph_orientation_horizontal},
- {<<"glyph-orientation-vertical">>, Record#pattern.glyph_orientation_vertical},
- {<<"image-rendering">>, Record#pattern.image_rendering},
- {<<"kerning">>, Record#pattern.kerning},
- {<<"letter-spacing">>, Record#pattern.letter_spacing},
- {<<"lighting-color">>, Record#pattern.lighting_color},
- {<<"marker-end">>, Record#pattern.marker_end},
- {<<"marker-mid">>, Record#pattern.marker_mid},
- {<<"marker-start">>, Record#pattern.marker_start},
- {<<"mask">>, Record#pattern.mask},
- {<<"opacity">>, Record#pattern.opacity},
- {<<"overflow">>, Record#pattern.overflow},
- {<<"pointer-events">>, Record#pattern.pointer_events},
- {<<"shape-rendering">>, Record#pattern.shape_rendering},
- {<<"stop-color">>, Record#pattern.stop_color},
- {<<"stop-opacity">>, Record#pattern.stop_opacity},
- {<<"stroke">>, Record#pattern.stroke},
- {<<"stroke-dasharray">>, Record#pattern.stroke_dasharray},
- {<<"stroke-dashoffset">>, Record#pattern.stroke_dashoffset},
- {<<"stroke-linecap">>, Record#pattern.stroke_linecap},
- {<<"stroke-linejoin">>, Record#pattern.stroke_linejoin},
- {<<"stroke-miterlimit">>, Record#pattern.stroke_miterlimit},
- {<<"stroke-opacity">>, Record#pattern.stroke_opacity},
- {<<"stroke-width">>, Record#pattern.stroke_width},
- {<<"text-anchor">>, Record#pattern.text_anchor},
- {<<"text-decoration">>, Record#pattern.text_decoration},
- {<<"text-rendering">>, Record#pattern.text_rendering},
- {<<"unicode-bidi">>, Record#pattern.unicode_bidi},
- {<<"visibility">>, Record#pattern.visibility},
- {<<"word-spacing">>, Record#pattern.word_spacing},
- {<<"writing-mode">>, Record#pattern.writing_mode}
- ].
- svg_xlink(Record)-> [
- {<<"xlink:href">>, Record#pattern.xlinkhref},
- {<<"xlink:type">>, Record#pattern.xlinktype},
- {<<"xlink:role">>, Record#pattern.xlinkrole},
- {<<"xlink:arcrole">>, Record#pattern.xlinkarcrole},
- {<<"xlink:title">>, Record#pattern.xlinktitle},
- {<<"xlink:show">>, Record#pattern.xlinkshow},
- {<<"xlink:actuate">>, Record#pattern.xlinkactuate}
- ].
|