53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @file ui_rect.js
 | |
|  * @author frtk@tetalab
 | |
|  */
 | |
| 
 | |
| NPGClient.UIRect = function(n, o) { 
 | |
| 
 | |
|   //
 | |
|   NPGClient.UIShape.call(this);
 | |
|   // obj name
 | |
|   this.name = n !== undefined ? n : '';
 | |
|   // geom
 | |
|   this.pos = o.pos !== undefined ? o.pos : {};  
 | |
|   this.w = o.w !== undefined ? o.w : 0;
 | |
|   this.h = o.h !== undefined ? o.h : 0;
 | |
|   // style
 | |
|   this.style = o.style !== undefined ? o.style : new NPGClient.UIStyle(); 
 | |
| };
 | |
| 
 | |
| NPGClient.UIRect.prototype = {
 | |
|    
 | |
|   // Constructor
 | |
|   constructor: NPGClient.UIRect,
 | |
|     
 | |
|   //
 | |
|   draw: function(ctx) {
 | |
|     var self = this;
 | |
|     if (!self.style.fm) {
 | |
|       self.drawNoFill(ctx, self.pos.x, self.pos.y, self.w, self.h, self.style.lw, self.style.lc);
 | |
|     } else {
 | |
|       self.drawFill(ctx, self.pos.x, self.pos.y, self.w, self.h, self.style.fc);
 | |
|     }
 | |
|   },
 | |
| 
 | |
|   //
 | |
|   drawFill: function(ctx) {
 | |
|     var self = this;  
 | |
|     NPGClient.Utils.applyStyle(ctx, self.style);
 | |
|     ctx.fillRect(self.pos.x, self.pos.y, self.w, self.h);
 | |
|   },
 | |
| 
 | |
|   //
 | |
|   drawNoFill: function(ctx, x1, y1, w, h, lw, c) {
 | |
|     var self = this;      
 | |
|     ctx.beginPath();
 | |
|     NPGClient.Utils.applyStyle(ctx, self.style);
 | |
|     ctx.rect(self.pos.x, self.pos.y, self.w, self.h);
 | |
|     ctx.stroke();
 | |
|   },
 | |
| 
 | |
| };
 | |
| 
 |