import{abstract}from"../util.js";import{toSize}from"../size.js";class ImageStyle{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=toSize(t.scale),this.displacement_=t.displacement}clone(){const t=this.getScale();return new ImageStyle({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getAnchor(){return abstract()}getImage(t){return abstract()}getHitDetectionImage(){return abstract()}getPixelRatio(t){return 1}getImageState(){return abstract()}getImageSize(){return abstract()}getHitDetectionImageSize(){return abstract()}getOrigin(){return abstract()}getSize(){return abstract()}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=toSize(t)}listenImageChange(t){abstract()}load(){abstract()}unlistenImageChange(t){abstract()}}export default ImageStyle;