text: import {
    extendPrototype,
  } from '../utils/functionExtensions';
  
  import createNS from '../utils/helpers/svg_elements';
  import BaseElement from './BaseElement';
  import TransformElement from './helpers/TransformElement';
  import SVGBaseElement from './svgElements/SVGBaseElement';
  import HierarchyElement from './helpers/HierarchyElement';
  import FrameElement from './helpers/FrameElement';
  import RenderableDOMElement from './helpers/RenderableDOMElement';
  
  function IImageElement(data, globalData, comp) {
    this.assetData = globalData.getAssetData(data.refId);
    this.initElement(data, globalData, comp);
    this.sourceRect = {
      top: 0, left: 0, width: this.assetData.w, height: this.assetData.h,
    };
  }
  
  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);
  
  IImageElement.prototype.createContent = function () {
    var assetPath = this.globalData.getAssetsPath(this.assetData);
  
    this.innerElem = createNS('image');
    this.innerElem.setAttribute('width', this.assetData.w + 'px');
    this.innerElem.setAttribute('height', this.assetData.h + 'px');
    this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);
    this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);
  
    this.layerElement.appendChild(this.innerElem);
  };
  
  IImageElement.prototype.sourceRectAtTime = function () {
    return this.sourceRect;
  };
  
  export default IImageElement;
  