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 Element

#[], #[]=, #__js_call__, #__shadow_root__, #after, #anchor_href, #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_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



904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
# File 'lib/dommy/html_elements.rb', line 904

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



939
940
941
942
943
944
945
946
947
948
949
950
951
952
# File 'lib/dommy/html_elements.rb', line 939

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



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

def alt
  reflected_string("alt")
end

#alt=(v) ⇒ Object



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

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

#completeObject



896
897
898
# File 'lib/dommy/html_elements.rb', line 896

def complete
  true
end

#crossoriginObject



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

def crossorigin
  reflected_string("crossorigin")
end

#current_srcObject



900
901
902
# File 'lib/dommy/html_elements.rb', line 900

def current_src
  src
end

#decodingObject



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

def decoding
  reflected_string("decoding")
end

#heightObject



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

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

#height=(v) ⇒ Object



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

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

#loadingObject



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

def loading
  reflected_string("loading")
end

#natural_heightObject



892
893
894
# File 'lib/dommy/html_elements.rb', line 892

def natural_height
  0
end

#natural_widthObject

No real loader → these are constants.



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

def natural_width
  0
end

#referrer_policyObject



875
876
877
# File 'lib/dommy/html_elements.rb', line 875

def referrer_policy
  reflected_string("referrerpolicy")
end

#sizesObject



879
880
881
# File 'lib/dommy/html_elements.rb', line 879

def sizes
  reflected_string("sizes")
end

#srcObject



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

def src
  reflected_string("src")
end

#src=(v) ⇒ Object



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

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

#srcsetObject



883
884
885
# File 'lib/dommy/html_elements.rb', line 883

def srcset
  reflected_string("srcset")
end

#widthObject



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

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

#width=(v) ⇒ Object



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

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