Class: Dommy::HTMLImageElement

Inherits:
HTMLElement show all
Defined in:
lib/dommy/html_elements.rb

Overview

‘<img>` — reflected URL/dimension attributes. Dommy has no real image loading, so `complete`/`naturalWidth`/`naturalHeight` are static (complete=true, dimensions=0).

Constant Summary

Constants inherited from Element

Element::ATTRIBUTE_NODE, Element::CDATA_SECTION_NODE, Element::COMMENT_NODE, Element::DOCUMENT_FRAGMENT_NODE, Element::DOCUMENT_NODE, Element::DOCUMENT_POSITION_CONTAINED_BY, Element::DOCUMENT_POSITION_CONTAINS, Element::DOCUMENT_POSITION_DISCONNECTED, Element::DOCUMENT_POSITION_FOLLOWING, Element::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Element::DOCUMENT_POSITION_PRECEDING, Element::DOCUMENT_TYPE_NODE, Element::ELEMENT_NODE, Element::PROCESSING_INSTRUCTION_NODE, Element::SHADOW_HOST_TAGS, Element::TEXT_NODE

Constants included from Node

Node::ATTRIBUTE_NODE, Node::CDATA_SECTION_NODE, Node::COMMENT_NODE, Node::DOCUMENT_FRAGMENT_NODE, Node::DOCUMENT_NODE, Node::DOCUMENT_POSITION_CONTAINED_BY, Node::DOCUMENT_POSITION_CONTAINS, Node::DOCUMENT_POSITION_DISCONNECTED, Node::DOCUMENT_POSITION_FOLLOWING, Node::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Node::DOCUMENT_POSITION_PRECEDING, Node::DOCUMENT_TYPE_NODE, Node::ELEMENT_NODE, Node::PROCESSING_INSTRUCTION_NODE, Node::TEXT_NODE

Instance Attribute Summary

Attributes inherited from Element

#__node__, #document

Instance Method Summary collapse

Methods inherited from HTMLElement

#case_sensitive_attribute_names?

Methods inherited from Element

#[], #[]=, #__js_call__, #__scroll_log__, #__shadow_root__, #after, #anchor_href, #animate, #append, #append_child, #attach_shadow, #attributes, #base_uri, #before, #blur, #child_element_count, #child_nodes, #children, #class_list, #class_name, #class_name=, #click, #clone_node, #closest, #compare_document_position, #contains?, #dataset, #equal_node?, #first_child, #first_element_child, #focus, #get_animations, #get_attribute, #get_attribute_node, #get_elements_by_class_name, #get_elements_by_tag_name, #get_html, #get_inner_html, #has_attribute?, #has_attributes?, #has_child_nodes?, #id, #id=, #initialize, #inner_html, #inner_html=, #insert_adjacent_element, #insert_adjacent_html, #insert_adjacent_text, #insert_before, #is_connected?, #last_child, #last_element_child, #live_child_nodes, #local_name, #matches?, #namespace_uri, #next_element_sibling, #next_sibling, #normalize, #on, #outer_html, #outer_html=, #owner_document, #parent_element, #parent_node, #prepend, #previous_element_sibling, #previous_sibling, #query_selector, #query_selector_all, #reflected_attr_name, #remove, #remove_attribute, #remove_attribute_node, #remove_child, #replace_child, #replace_children, #replace_with_nodes, #role, #role=, #root_node, #same_node?, #set_attribute, #set_attribute_node, #shadow_root, #slot, #slot=, #style, #tag_name, #text_content, #text_content=, #to_s, #toggle_attribute

Methods included from EventTarget

#__deliver_event__, #add_event_listener, #dispatch_event, #invoke_listener, #remove_event_listener

Constructor Details

This class inherits a constructor from Dommy::Element

Instance Method Details

#__js_get__(key) ⇒ Object



893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
# File 'lib/dommy/html_elements.rb', line 893

def __js_get__(key)
  case key
  when "src"
    src
  when "alt"
    alt
  when "width"
    width
  when "height"
    height
  when "naturalWidth"
    natural_width
  when "naturalHeight"
    natural_height
  when "complete"
    complete
  when "currentSrc"
    current_src
  when "crossOrigin"
    crossorigin
  when "decoding"
    decoding
  when "loading"
    loading
  when "referrerPolicy"
    referrer_policy
  when "sizes"
    sizes
  when "srcset"
    srcset
  else
    super
  end
end

#__js_set__(key, value) ⇒ Object



928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'lib/dommy/html_elements.rb', line 928

def __js_set__(key, value)
  case key
  when "src", "alt", "decoding", "loading", "sizes", "srcset"
    set_reflected_string(key, value)
  when "width", "height"
    set_reflected_string(key, value.to_s)
  when "crossOrigin"
    set_reflected_string("crossorigin", value)
  when "referrerPolicy"
    set_reflected_string("referrerpolicy", value)
  else
    super
  end
end

#altObject



828
829
830
# File 'lib/dommy/html_elements.rb', line 828

def alt
  reflected_string("alt")
end

#alt=(v) ⇒ Object



832
833
834
# File 'lib/dommy/html_elements.rb', line 832

def alt=(v)
  set_reflected_string("alt", v)
end

#completeObject



885
886
887
# File 'lib/dommy/html_elements.rb', line 885

def complete
  true
end

#crossoriginObject



852
853
854
# File 'lib/dommy/html_elements.rb', line 852

def crossorigin
  reflected_string("crossorigin")
end

#current_srcObject



889
890
891
# File 'lib/dommy/html_elements.rb', line 889

def current_src
  src
end

#decodingObject



856
857
858
# File 'lib/dommy/html_elements.rb', line 856

def decoding
  reflected_string("decoding")
end

#heightObject



844
845
846
# File 'lib/dommy/html_elements.rb', line 844

def height
  @__node__["height"].to_s.to_i
end

#height=(v) ⇒ Object



848
849
850
# File 'lib/dommy/html_elements.rb', line 848

def height=(v)
  set_reflected_string("height", v.to_s)
end

#loadingObject



860
861
862
# File 'lib/dommy/html_elements.rb', line 860

def loading
  reflected_string("loading")
end

#natural_heightObject



881
882
883
# File 'lib/dommy/html_elements.rb', line 881

def natural_height
  0
end

#natural_widthObject

No real loader → these are constants.



877
878
879
# File 'lib/dommy/html_elements.rb', line 877

def natural_width
  0
end

#referrer_policyObject



864
865
866
# File 'lib/dommy/html_elements.rb', line 864

def referrer_policy
  reflected_string("referrerpolicy")
end

#sizesObject



868
869
870
# File 'lib/dommy/html_elements.rb', line 868

def sizes
  reflected_string("sizes")
end

#srcObject



820
821
822
# File 'lib/dommy/html_elements.rb', line 820

def src
  reflected_string("src")
end

#src=(v) ⇒ Object



824
825
826
# File 'lib/dommy/html_elements.rb', line 824

def src=(v)
  set_reflected_string("src", v)
end

#srcsetObject



872
873
874
# File 'lib/dommy/html_elements.rb', line 872

def srcset
  reflected_string("srcset")
end

#widthObject



836
837
838
# File 'lib/dommy/html_elements.rb', line 836

def width
  @__node__["width"].to_s.to_i
end

#width=(v) ⇒ Object



840
841
842
# File 'lib/dommy/html_elements.rb', line 840

def width=(v)
  set_reflected_string("width", v.to_s)
end