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