added support for vAlign modification for Labels
This commit is contained in:
		
							parent
							
								
									14c029e31f
								
							
						
					
					
						commit
						eb13a2d165
					
				| 
						 | 
					@ -72,6 +72,10 @@ export default class Label extends UIElement{
 | 
				
			||||||
		this.hAlign = align;
 | 
							this.hAlign = align;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						setVAlign(align: string): void {
 | 
				
			||||||
 | 
							this.vAlign = align;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Calculate the offset of the text - this is used for rendering text with different alignments
 | 
						 * Calculate the offset of the text - this is used for rendering text with different alignments
 | 
				
			||||||
	 * @param ctx The rendering context
 | 
						 * @param ctx The rendering context
 | 
				
			||||||
| 
						 | 
					@ -83,16 +87,16 @@ export default class Label extends UIElement{
 | 
				
			||||||
		let offset = new Vec2(0, 0);
 | 
							let offset = new Vec2(0, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		let hDiff = this.size.x - textWidth;
 | 
							let hDiff = this.size.x - textWidth;
 | 
				
			||||||
		if(this.hAlign === "center"){
 | 
							if(this.hAlign === HAlign.CENTER){
 | 
				
			||||||
			offset.x = hDiff/2;
 | 
								offset.x = hDiff/2;
 | 
				
			||||||
		} else if (this.hAlign === "right"){
 | 
							} else if (this.hAlign === HAlign.RIGHT){
 | 
				
			||||||
			offset.x = hDiff;
 | 
								offset.x = hDiff;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if(this.vAlign === "top"){
 | 
							if(this.vAlign === VAlign.TOP){
 | 
				
			||||||
			ctx.textBaseline = "top";
 | 
								ctx.textBaseline = "top";
 | 
				
			||||||
			offset.y = 0;
 | 
								offset.y = 0;
 | 
				
			||||||
		} else if (this.vAlign === "bottom"){
 | 
							} else if (this.vAlign === VAlign.BOTTOM){
 | 
				
			||||||
			ctx.textBaseline = "bottom";
 | 
								ctx.textBaseline = "bottom";
 | 
				
			||||||
			offset.y = this.size.y;
 | 
								offset.y = this.size.y;
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
| 
						 | 
					@ -134,3 +138,15 @@ export default class Label extends UIElement{
 | 
				
			||||||
		this.sizeAssigned = false;
 | 
							this.sizeAssigned = false;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export enum VAlign {
 | 
				
			||||||
 | 
						TOP = "top",
 | 
				
			||||||
 | 
						CENTER = "center",
 | 
				
			||||||
 | 
						BOTTOM = "bottom"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export enum HAlign {
 | 
				
			||||||
 | 
						LEFT = "left",
 | 
				
			||||||
 | 
						CENTER = "center",
 | 
				
			||||||
 | 
						RIGHT = "right"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user