DOF/sqr/Core/BaseClass/TextObject/Font.nut

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