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;
 | |
|     }
 | |
| 
 | |
| } |