рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдЕрдВрддрд░рд┐рдХреНрд╖ рдЙрдбрд╝рд╛рди рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдкрд╛рд╡рд░ рдХрдВрдЯреНрд░реЛрд▓ рд╡рд┐рдЬреЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛

рдЖрдЬ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдмрдирд╛рдпрд╛ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред



рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рдХрд╛рдлреА рд╕рдордп рддрдХ рдЦреЛрдЬрд╛, рддрд╛рдХрд┐ рдореБрдЭреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдорд┐рд▓реЗ, рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдЬрд░реВрд░рдд рдереА, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдиреЗрдЯ рдиреЗ рдЕрднреА рднреА рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рдиреЗ рднреА рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВред



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:

рдореБрдЭреЗ рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╡реЙрд▓реНрдпреВрдо рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ, рдПрдХ рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрддред рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╢рдХреНрддрд┐ рдирд┐рдпрдВрддреНрд░рдг рдШрдЯрдХ, рдЗрд╕ рд╢рдХреНрддрд┐ рдХреЗ рдПрдХ рд╕рд╛рде рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрддред рдХрднреА-рдХрднреА рд╢рдХреНрддрд┐ 100% рдХреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЖрдкрдХреЛ рдЗрд╕ рд╕реНрддрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рддрд┐рд╢рдд рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдмрд┐рдЬрд▓реА рд╢реВрдиреНрдп рд╕реЗ рдиреАрдЪреЗ рдЬрд╛ рд╕рдХрддреА рд╣реИ (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ) рдФрд░ рдЗрд╕ рд╕реНрддрд░ рдХреЛ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд┐рд╕ рдЙрдкрдХрд░рдг рдХреЛ рд╣рдо рд╡рд┐рдирд┐рдпрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдЧрддрд┐ рдореЗрдВ рддреЗрдЬреА рд▓рд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдиреЗ рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬ рдкрд░ afterburner рдмрдЯрди рджрдмрд╛рдпрд╛, рддреЛ рдЗрдВрдЬрди рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж afterburner рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрд▓рд╛рдЗрдбрд░ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд-рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рд╢рд╛рдпрдж рдореИрдВ рдЕрдВрдЬреАрд░ рд╕рд╛рдзрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдкрд╛рдЧрд▓ рд╣реЛ рдЧрдпрд╛ - рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:

рдпрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ



рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдЬреЗрдЯ рдлреНрд░реЗрдо рдмрдирд╛рдПрдВ:

var PowerControlWidget = function(settings){ this.container = settings.container || undefined ; this.canvas = document.createElement('CANVAS'); this.canvas.height = this.height; this.canvas.width = this.width; this.container.appendChild(this.canvas); this.ctx = this.canvas.getContext('2d'); // ---    this.set_value(0); this.redraw() }
      
      







рдореИрдВ рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░ рджреВрдВрдЧрд╛ - рдореИрдВ jquery.js рдФрд░ jqueryui.js рд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрд╡рддрдВрддреНрд░ рд░рд╣рдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛ - рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдЬреЗрдЯ рдХреЛ jQuery рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ред



рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ





рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ: рдореВрд╕рдбрд╛рдЙрди рдкрд░, рд╕реНрдЯреЗрдЯ рдХреЛ рд╕реЗрд╡ рдХрд░реЗрдВ, рдорд╛рдЙрд╕рдЕрдк рдкрд░, рд░реАрд╕реЗрдЯ рдХрд░реЗрдВред



 var self = this; this.canvas.addEventListener("mousedown", function(event){ self.mouse_down = true; self.value = event.offsetX; if(event.offsetX < self.padding_left_right){ self.value = self.padding_left_right; } if(event.offsetX > self._line_width - self.padding_left_right){ self.value = self._line_width - self.padding_left_right; } self._percent_value = self._get_percent(self.value); self.redraw(); self.onchange(self._percent_value, self.progress_value); }) this.canvas.addEventListener("mouseup", function(event){ self.mouse_down = false; self._percent_value = self._get_percent(self.value); self.redraw(); self.onchange(self._percent_value, self.progress_value); }) this.canvas.addEventListener("mousemove", function(event){ if (self.mouse_down){ self.value = event.offsetX; if(event.offsetX < self.padding_left_right){ self.value = self.padding_left_right; } if(event.offsetX > self._line_width - self.padding_left_right){ self.value = self._line_width - self.padding_left_right; } self._percent_value = self._get_percent(self.value); self.redraw(); self.onslide(self._percent_value, self.progress_value); } })
      
      







рдХрд╛рдлреА рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рдЪрд░ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЗрд╕ рдХреИрдирд╡рд╛рд╕ рдХреЗ рд╕рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдЬреЗрдЯ рдореЗрдВ, рдЗрд╕рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╕рдЯреАрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ - рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ рдФрд░ рд╕реНрд▓рд╛рдЗрдбрд░ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдпред рдореИрдВрдиреЗ рдХреИрдирд╡рд╛рд╕ рдХреЗ рдЕрдВрджрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рд╣рдо рдкрд╛рда рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╕рдордЭ рдореЗрдВ рдЖ рд░рд╣реЗ рд╣реИрдВред рдкрд╛рда рдЖрдЙрдЯрдкреБрдЯ - рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рджред



рдбреНрд░рд╛рдЗрдВрдЧ рд╢реБрд░реВ рдХрд░реЗрдВ





рд╕реНрд▓рд╛рдЗрдбрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдХреИрдирд╡рд╛рд╕ рд╕реЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛:





рдХреБрдЫ рдЗрд╕ рддрд░рд╣:



 this._draw_border = function(){ var b = this.padding_top_bottom; //     . var a = this.padding_left_right; var w = this._line_width - ( 2 * a ); var h = this.height - (2*b); this.ctx.beginPath(); this.ctx.moveTo(a,b); this.ctx.bezierCurveTo(a+(w/2), b, w-(w/2)+a, b, a+w, b ); this.ctx.bezierCurveTo(a+w+a, b, a+a+w, b+h, a+w, b+h ); this.ctx.bezierCurveTo( w/2+a, b+h, w/2+a,b+h, a, b+h); this.ctx.bezierCurveTo( 0, b+h, 0,b, a,b); this.ctx.closePath(); this.ctx.strokeStyle = this.border_color; this.ctx.stroke(); //     };
      
      





рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдмреЗрдЬрд┐рдпрд░ рд╡рдХреНрд░ рдореЗрдВ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рддреАрди рдмрд┐рдВрджреБ рд╣реИрдВред рдЪреМрдерд╛ рдмрд┐рдВрджреБ рд╡рд░реНрддрдорд╛рди рдПрдХ рд╣реИ, рд╣рдореЗрдВ рдореВрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рдХреНрд░ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрде:



рдЫрд╡рд┐



рд╣рдореЗрдВ рдЧреЛрд▓ рдЫреЛрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реБрдВрджрд░ рдлреНрд░реЗрдо рдорд┐рд▓рддрд╛ рд╣реИред



рдЕрдм рдЬрд╛рджреВ рд╢реБрд░реВ рдХрд░реЗрдВ:

рдирдХрд╛рд░рд╛рддреНрдордХ рдмреНрдпрд╛рдЬ рдХреЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдФрд░ afterburner рдХреЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреНрд▓рд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдПрдХ рдХреНрд▓рд┐рдк рд╕рд░рд▓ рд╣реИ, рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рдкрде рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдбреНрд░рд╛рдЗрдВрдЧ рд╣реЛрддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рд╕реАрдорд╛ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕ рдкрде рдХреЛ рд╕рд░реНрдХрд▓ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдВрджрд░ рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд░рдВрдЧ рд╕реЗ рднрд░ рджреЗрдВрдЧреЗред рдпрд╣ рдХреЙрд░реНрдирд░реА рдФрд░ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред



рдкрд╣рд▓реЗ рд╣рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдЦреАрдВрдЪрдирд╛ рд╣реИ, рд╡рд╣ рд╕рдм рд╢реВрдиреНрдп рд╣реИ - рд╣рдо рдПрдХ рдЕрд▓рдЧ рд░рдВрдЧ рдореЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред



  var zero = this._get_x(0); //        
      
      





рдбреНрд░рд╛рдЗрдВрдЧ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдПрдВ



  this.ctx.beginPath(); this.ctx.rect(0,0, zero, this.height); this.ctx.clip();
      
      







рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдмреЗрдЬрд╝рд┐рдпрд░ рднрд░реЗрдВред



  this.ctx.beginPath(); this.ctx.bezierCurveTo(a+(w/2), b, w-(w/2)+a, b, a+w, b ); this.ctx.bezierCurveTo(a+w+a, b, a+a+w, b+h, a+w, b+h ); this.ctx.bezierCurveTo( w/2+a, b+h, w/2+a,b+h, a, b+h); this.ctx.bezierCurveTo( 0, b+h, 0,b, a,b); this.ctx.fillStyle = this.below_z_color; this.ctx.fill(); this.ctx.closePath(); this.ctx.restore();
      
      







рд╕рд╛рджреГрд╢реНрдп рд╕реЗ, рд╣рдо 100% рд╕реЗ рдКрдкрд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред



рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛





рд╣рдореЗрдВ рд╡рд┐рдЬреЗрдЯ рдкрд░ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд╛рд░реНрдп рд▓рд┐рдЦреЗ:

  this._get_percent = function(x){ var a = this.padding_left_right; //     var w = this._line_width - (2*a); //   return ((x - a) * this._range/ w)+this.starting_percent ; //      ,        ,        . }; this._get_x = function(p){ var a = this.padding_left_right; var w = this._line_width - (2*a); return a+ (p - this.starting_percent) * w / this._range; //  };
      
      







рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдбреНрд░рд╛рдЗрдВрдЧ рдкрд╛рда рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛





рджреГрд╢реНрдп рдФрд░ рд╕рдЯреАрдХ рджреЛрдиреЛрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдХреГрдкрдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдк рдкрд╛рда рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рд╣рдо рд╕рдВрдХреЗрддрдХ рд░реЗрдЦрд╛ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдкрд╛рда рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЕрд▓рдЧ рд╕реЗ, рд╣рдо рд╕реНрд▓рд╛рдЗрдбрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ рдЗрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддрд┐рд╢рдд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рди рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрдВрджрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЕрд░реНрдерд╛рдд, рд╣рдо рдПрдХ рд╕реМ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВред

  var val = this._percent_value * 100 var int = Math.floor(val); var frac = Math.floor((val - int)*100);
      
      





рдпрд╣реА рд╣реИ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреВрд░реЗ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдореЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреМрди рд╕рд╛ рдлрд╝реЙрдиреНрдЯ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирд┐рд░реНрднрд░рддрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ:

  var base_font_size = this.height - (this.padding_top_bottom*2) ; //     var add_font_size = Math.floor(base_font_size / 2); //     var base_marg = base_font_size *2; //  
      
      



рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдЕрдВрдд рдореЗрдВ - рдкрд╛рда рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб



  this.ctx.save() this.ctx.translate(this._line_width+ this.padding_top_bottom, this.height-this.padding_top_bottom); this.ctx.fillStyle = "#000"; this.ctx.font = base_font_size + "pt Arial"; this.ctx.textAlign = "end"; //     this.ctx.fillText("" + (int), base_marg, 0 ) this.ctx.textAlign = "center"; this.ctx.font = (base_font_size -2) + "pt Arial"; this.ctx.fillText(",", base_marg+1,0 ) this.ctx.font = add_font_size + "pt Arial"; this.ctx.textAlign = "start"; //     this.ctx.fillText("" + (frac), base_marg+3, 0 ) this.ctx.restore();
      
      





рдирд┐рд╖реНрдХрд░реНрд╖





рддреИрдпрд╛рд░ рд╕рдВрдХреЗрддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд░рдВрдЧреАрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реАрдзреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреИрдирд╡рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдиреЗ рд╣рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡реНрдпрд╛рдкрдХ рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдХреИрдирд╡рд╛рд╕ рдХреЗ рдЕрдиреНрдп рдлрд╛рдпрджреЗ рд╣реИрдВ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рд╕реВрдЪрдХ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░реЛрдХ рдФрд░ рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдХреИрдирд╡рд╛рд╕ рдЬреНрдпрд╛рдорд┐рддреАрдп рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдмрд╣реБрдд рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рдЬреЛ рд▓реЛрдЧ рдЗрд╕реЗ рдЦреЛрджрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдореИрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА github.com/stavenko/power-control-widget рдХрд╛ рдкрддрд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред рдЖрдЬ рдЗрд╕ рд╡рд┐рдЬреЗрдЯ рдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ - Google Chrome рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдИрд╡реЗрдВрдЯреНрд╕ рдореЗрдВ рдСрдлрд╝рд╕реЗрдЯрдПрдХреНрд╕ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдорд╛рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ - рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдЙрдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдХрдВрдЯреЗрдирд░ рдХреЗ рд╢реАрд░реНрд╖-рдмрд╛рдПрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЖрдЬ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реА



All Articles