mirror of
https://github.com/ctruLua/ctruLua.git
synced 2025-10-27 16:39:29 +00:00
Moved ctr.gfx.set|getTextSize to ctr.gfx.font.set|getSize, added missing documentation to font:width
Started working again on the editor
This commit is contained in:
parent
b798818e99
commit
347e480d5a
7 changed files with 38 additions and 34 deletions
|
|
@ -35,12 +35,13 @@ local coloredLines = syntax(lines, color)
|
|||
|
||||
-- Variables
|
||||
local lineHeight = 10
|
||||
local fontSize = 9
|
||||
local cursorX, cursorY = 1, 1
|
||||
local scrollX, scrollY = 0, 0
|
||||
|
||||
-- Helper functions
|
||||
local function displayedText(text)
|
||||
return text:gsub("\t", " ")
|
||||
return text:gsub("\t", " "), nil
|
||||
end
|
||||
|
||||
-- Set defaults
|
||||
|
|
@ -48,6 +49,7 @@ gfx.set3D(false)
|
|||
gfx.color.setDefault(color.default)
|
||||
gfx.color.setBackground(color.background)
|
||||
gfx.font.setDefault(font)
|
||||
gfx.font.setSize(fontSize)
|
||||
|
||||
while ctr.run() do
|
||||
hid.read()
|
||||
|
|
@ -157,11 +159,7 @@ while ctr.run() do
|
|||
|
||||
for _,colored in ipairs(coloredLines[i]) do
|
||||
local str = displayedText(colored[1])
|
||||
|
||||
gfx.color.setDefault(colored[2])
|
||||
gfx.text(x, y, str)
|
||||
gfx.color.setDefault(color.default)
|
||||
|
||||
gfx.text(x, y, str, fontSize, colored[2])
|
||||
x = x + font:width(str)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ local syntax = {
|
|||
return function(lines, color)
|
||||
local ret = {}
|
||||
|
||||
for _,line in ipairs(lines) do
|
||||
for _, line in ipairs(lines) do
|
||||
local colored = { { line, color.default } }
|
||||
|
||||
for _, patterns in ipairs(syntax) do
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ local function displayError(err, trace)
|
|||
gfx.set3D(false)
|
||||
gfx.color.setBackground(0xFF0000B3)
|
||||
gfx.color.setDefault(0xFFFDFDFD)
|
||||
gfx.setTextSize(12)
|
||||
gfx.font.setSize(12)
|
||||
gfx.font.setDefault(gfx.font.load(ctr.root .. "resources/VeraMono.ttf"))
|
||||
|
||||
while ctr.run() do
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ The `font` module
|
|||
|
||||
#include "font.h"
|
||||
|
||||
u32 textSize = 9;
|
||||
|
||||
/***
|
||||
Load a TTF font.
|
||||
@function load
|
||||
|
|
@ -70,6 +72,28 @@ static int font_getDefault(lua_State *L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/***
|
||||
Set the default text size.
|
||||
@function setSize
|
||||
@tparam number size new default text size
|
||||
*/
|
||||
static int font_setSize(lua_State *L) {
|
||||
textSize = luaL_checkinteger(L, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/***
|
||||
Return the default text size.
|
||||
@function getSize
|
||||
@treturn number the default text size
|
||||
*/
|
||||
static int font_getSize(lua_State *L) {
|
||||
lua_pushinteger(L, textSize);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/***
|
||||
font object
|
||||
@section Methods
|
||||
|
|
@ -79,6 +103,7 @@ font object
|
|||
Return the width of a string with a font.
|
||||
@function :width
|
||||
@tparam string text the text to test
|
||||
@tparam[opt=default size] integer font size, in pixels
|
||||
@treturn number the width of the text (in pixels)
|
||||
*/
|
||||
static int font_object_width(lua_State *L) {
|
||||
|
|
@ -127,6 +152,8 @@ static const struct luaL_Reg font_lib[] = {
|
|||
{ "load", font_load },
|
||||
{ "setDefault", font_setDefault },
|
||||
{ "getDefault", font_getDefault },
|
||||
{ "setSize", font_setSize },
|
||||
{ "getSize", font_getSize },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -5,4 +5,6 @@ typedef struct {
|
|||
sftd_font *font;
|
||||
} font_userdata;
|
||||
|
||||
extern u32 textSize;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
23
source/gfx.c
23
source/gfx.c
|
|
@ -26,7 +26,6 @@ typedef struct {
|
|||
|
||||
bool isGfxInitialized = false;
|
||||
bool is3DEnabled = false; //TODO: add a function for this in the ctrulib/sf2dlib.
|
||||
u32 textSize = 9;
|
||||
|
||||
/***
|
||||
The `ctr.gfx.color` module.
|
||||
|
|
@ -373,26 +372,6 @@ static int gfx_calcBoundingBox(lua_State *L) {
|
|||
return 2;
|
||||
}
|
||||
|
||||
/***
|
||||
Set the default text size.
|
||||
@function setTextSize
|
||||
@tparam number size new default text size
|
||||
*/
|
||||
static int gfx_setTextSize(lua_State *L) {
|
||||
textSize = luaL_checkinteger(L, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/***
|
||||
Return the default text size.
|
||||
@function getTextSize
|
||||
@treturn number the default text size
|
||||
*/
|
||||
static int gfx_getTextSize(lua_State *L) {
|
||||
lua_pushinteger(L, textSize);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/***
|
||||
Enables or disable the scissor test.
|
||||
When the scissor test is enabled, the drawing area will be limited to a specific rectangle, every pixel drawn outside will be discarded.
|
||||
|
|
@ -593,8 +572,6 @@ static const struct luaL_Reg gfx_lib[] = {
|
|||
{ "text", gfx_text },
|
||||
{ "wrappedText", gfx_wrappedText },
|
||||
{ "calcBoundingBox", gfx_calcBoundingBox },
|
||||
{ "setTextSize", gfx_setTextSize },
|
||||
{ "getTextSize", gfx_getTextSize },
|
||||
{ "scissor", gfx_scissor },
|
||||
{ "target", gfx_target },
|
||||
{ "console", gfx_console },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue