54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | /* | ||
|  | 文件名:Font.nut | ||
|  | 路径:Core/BaseClass/TextObject/Font.nut | ||
|  | 创建日期:2024-12-01	19:54 | ||
|  | 文件用途:字体对象 | ||
|  | */ | ||
|  | __Font__Map__ <- {}; | ||
|  | class Font extends CL_BaseObject { | ||
|  | 
 | ||
|  |     function _typeof() { | ||
|  |         return "font_data"; | ||
|  |     } | ||
|  | 
 | ||
|  |     /* | ||
|  |      * @函数作用: 构造函数 | ||
|  |      * @参数 不传参默认使用系统默认字体 | ||
|  |      * @参数 1: 字体名称 | ||
|  |      * @参数 2: 字体大小 | ||
|  |      * @参数 3: 字体粗细    (可选) | ||
|  |      * @参数 4: 字体倾斜    (可选) | ||
|  |      * @参数 5: 字体拉伸    (可选) | ||
|  |      * @返回值 | ||
|  |      */ | ||
|  |     constructor(...) { | ||
|  |         local vargc = vargv.len(); | ||
|  |         //通过参数构造字体 | ||
|  |         if (vargc > 0) { | ||
|  |             local family_name = vargv[0]; | ||
|  |             local size = vargv[1]; | ||
|  |             local weight = FontWeight.Normal; | ||
|  |             if (vargc >= 3) weight = vargv[2]; | ||
|  |             local posture = FontPosture.Normal; | ||
|  |             if (vargc >= 4) posture = vargv[3]; | ||
|  |             local stretch = FontStretch.Normal; | ||
|  |             if (vargc >= 5) stretch = vargv[4]; | ||
|  |             C_Object = Font_CreateFont(family_name, size, weight, posture, stretch); | ||
|  |         } | ||
|  |         //初始化系统默认字体 | ||
|  |         else { | ||
|  |             C_Object = Font_CreateFont(); | ||
|  |         } | ||
|  |         base.constructor(C_Object); | ||
|  |     } | ||
|  | 
 | ||
|  |     function PreLoad(name) { | ||
|  |         Font_PreloadFont(name); | ||
|  |     } | ||
|  | 
 | ||
|  |     //注册到全局表 | ||
|  |     function Register(Id) { | ||
|  |         __Font__Map__[Id] <- this; | ||
|  |     } | ||
|  | 
 | ||
|  | } |