text: import app from './../../app.js';
  import config from './../../config.js';
  import Dialog_class from './../../libs/popup.js';
  import Base_layers_class from './../../core/base-layers.js';
  import ImageFilters from './../../libs/imagefilters.js';
  import alertify from './../../../../node_modules/alertifyjs/build/alertify.min.js';
  
  class Effects_emboss_class {
  
  	constructor() {
  		this.POP = new Dialog_class();
  		this.Base_layers = new Base_layers_class();
  	}
  
  	emboss() {
  		if (config.layer.type != 'image') {
  			alertify.error('Layer must be image, convert it to raster to apply this tool.');
  			return;
  		}
  
  		//get canvas from layer
  		var canvas = this.Base_layers.convert_layer_to_canvas(null, true);
  		var ctx = canvas.getContext("2d");
  
  		//change data
  		var img = ctx.getImageData(0, 0, canvas.width, canvas.height);
  		var data = this.change(img);
  		ctx.putImageData(data, 0, 0);
  
  		//save
  		return app.State.do_action(
  			new app.Actions.Update_layer_image_action(canvas)
  		);
  	}
  
  	change(data) {
  		var filtered = ImageFilters.Emboss(data);
  
  		return filtered;
  	}
  
  	demo(canvas_id, canvas_thumb){
  		var canvas = document.getElementById(canvas_id);
  		var ctx = canvas.getContext("2d");
  		ctx.drawImage(canvas_thumb, 0, 0);
  
  		//now update
  		var img = ctx.getImageData(0, 0, canvas_thumb.width, canvas_thumb.height);
  		var data = this.change(img);
  		ctx.putImageData(data, 0, 0);
  	}
  
  }
  
  export default Effects_emboss_class;