UNPKG

easy-api.ts

Version:

A powerful library to create your own API with ease.

1 lines 2.16 kB
Object.defineProperty(exports,"__esModule",{value:!0});let tslib_1=require("tslib"),APIFunction_1=require("../../classes/structures/APIFunction"),canvas_1=require("@napi-rs/canvas"),Error_1=require("../../classes/structures/Error"),createCanvas_1=tslib_1.__importDefault(require("./createCanvas")),Util_1=require("../../classes/internal/Util"),ALIGN_POSITIONS=["left","center","right"],VERTICAL_ALIGN_POSITIONS=["top","middle","bottom"];class DrawText extends APIFunction_1.APIFunction{name="$drawText";description="Draws a text over the canvas.";parameters=[{name:"Text",description:"The text to be placed in the canvas.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null},{name:"X",description:"X coordinate to place the text to.",type:APIFunction_1.ParamType.Number,required:!0,rest:!1,defaultValue:null},{name:"Y",description:"Y coordinate to place the text to.",type:APIFunction_1.ParamType.Number,required:!0,rest:!1,defaultValue:null},{name:"Width",description:"Textbox width.",type:APIFunction_1.ParamType.Number,required:!0,rest:!1,defaultValue:null},{name:"Height",description:"Textbox height.",type:APIFunction_1.ParamType.Number,required:!0,rest:!1,defaultValue:null},{name:"Align",description:"Text align.",type:APIFunction_1.ParamType.String,required:!1,rest:!1,defaultValue:"left",allowedValues:ALIGN_POSITIONS},{name:"Vertical Align",description:"Text vertical align.",type:APIFunction_1.ParamType.String,required:!1,rest:!1,defaultValue:"top",allowedValues:VERTICAL_ALIGN_POSITIONS}];usage="$drawText[text;x;y;width;height;align?;vAlign?]";returns=APIFunction_1.ParamType.Unknown;aliases=[];compile=!0;parent=new createCanvas_1.default;async run(e,[t,r,a,n,i,l="left",u="top"]){if([r,a,n,i].some(e=>!Util_1.Util.isNumber(e)))throw new Error_1.InvalidField("Number",e.function);if(!(e.parent.getInternalVar("NodeJS.Canvas")instanceof canvas_1.Canvas))throw new Error_1.EATS_Error("Unable to find a valid Canvas instance, you must start it using $setDimensions[...args]!");e=e.parent.getInternalVar("NodeJS.CanvasContext"),Util_1.Util.fillText(e,t,Number(r),Number(a),Number(n),Number(i),l,u)}}exports.default=DrawText;