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
|
|
@ -15,4 +15,4 @@ return {
|
||||||
["keyword.control"] = hex(0xF92672FF),
|
["keyword.control"] = hex(0xF92672FF),
|
||||||
["keyword.operator"] = hex(0xF92672FF),
|
["keyword.operator"] = hex(0xF92672FF),
|
||||||
["support.function"] = hex(0x66D9EFFF)
|
["support.function"] = hex(0x66D9EFFF)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,13 @@ local coloredLines = syntax(lines, color)
|
||||||
|
|
||||||
-- Variables
|
-- Variables
|
||||||
local lineHeight = 10
|
local lineHeight = 10
|
||||||
|
local fontSize = 9
|
||||||
local cursorX, cursorY = 1, 1
|
local cursorX, cursorY = 1, 1
|
||||||
local scrollX, scrollY = 0, 0
|
local scrollX, scrollY = 0, 0
|
||||||
|
|
||||||
-- Helper functions
|
-- Helper functions
|
||||||
local function displayedText(text)
|
local function displayedText(text)
|
||||||
return text:gsub("\t", " ")
|
return text:gsub("\t", " "), nil
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Set defaults
|
-- Set defaults
|
||||||
|
|
@ -48,6 +49,7 @@ gfx.set3D(false)
|
||||||
gfx.color.setDefault(color.default)
|
gfx.color.setDefault(color.default)
|
||||||
gfx.color.setBackground(color.background)
|
gfx.color.setBackground(color.background)
|
||||||
gfx.font.setDefault(font)
|
gfx.font.setDefault(font)
|
||||||
|
gfx.font.setSize(fontSize)
|
||||||
|
|
||||||
while ctr.run() do
|
while ctr.run() do
|
||||||
hid.read()
|
hid.read()
|
||||||
|
|
@ -157,11 +159,7 @@ while ctr.run() do
|
||||||
|
|
||||||
for _,colored in ipairs(coloredLines[i]) do
|
for _,colored in ipairs(coloredLines[i]) do
|
||||||
local str = displayedText(colored[1])
|
local str = displayedText(colored[1])
|
||||||
|
gfx.text(x, y, str, fontSize, colored[2])
|
||||||
gfx.color.setDefault(colored[2])
|
|
||||||
gfx.text(x, y, str)
|
|
||||||
gfx.color.setDefault(color.default)
|
|
||||||
|
|
||||||
x = x + font:width(str)
|
x = x + font:width(str)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -184,4 +182,4 @@ while ctr.run() do
|
||||||
gfx.render()
|
gfx.render()
|
||||||
end
|
end
|
||||||
|
|
||||||
font:unload()
|
font:unload()
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ local syntax = {
|
||||||
return function(lines, color)
|
return function(lines, color)
|
||||||
local ret = {}
|
local ret = {}
|
||||||
|
|
||||||
for _,line in ipairs(lines) do
|
for _, line in ipairs(lines) do
|
||||||
local colored = { { line, color.default } }
|
local colored = { { line, color.default } }
|
||||||
|
|
||||||
for _, patterns in ipairs(syntax) do
|
for _, patterns in ipairs(syntax) do
|
||||||
|
|
@ -87,4 +87,4 @@ return function(lines, color)
|
||||||
end
|
end
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ local function displayError(err, trace)
|
||||||
gfx.set3D(false)
|
gfx.set3D(false)
|
||||||
gfx.color.setBackground(0xFF0000B3)
|
gfx.color.setBackground(0xFF0000B3)
|
||||||
gfx.color.setDefault(0xFFFDFDFD)
|
gfx.color.setDefault(0xFFFDFDFD)
|
||||||
gfx.setTextSize(12)
|
gfx.font.setSize(12)
|
||||||
gfx.font.setDefault(gfx.font.load(ctr.root .. "resources/VeraMono.ttf"))
|
gfx.font.setDefault(gfx.font.load(ctr.root .. "resources/VeraMono.ttf"))
|
||||||
|
|
||||||
while ctr.run() do
|
while ctr.run() do
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ The `font` module
|
||||||
|
|
||||||
#include "font.h"
|
#include "font.h"
|
||||||
|
|
||||||
|
u32 textSize = 9;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
Load a TTF font.
|
Load a TTF font.
|
||||||
@function load
|
@function load
|
||||||
|
|
@ -70,6 +72,28 @@ static int font_getDefault(lua_State *L) {
|
||||||
return 1;
|
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
|
font object
|
||||||
@section Methods
|
@section Methods
|
||||||
|
|
@ -79,6 +103,7 @@ font object
|
||||||
Return the width of a string with a font.
|
Return the width of a string with a font.
|
||||||
@function :width
|
@function :width
|
||||||
@tparam string text the text to test
|
@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)
|
@treturn number the width of the text (in pixels)
|
||||||
*/
|
*/
|
||||||
static int font_object_width(lua_State *L) {
|
static int font_object_width(lua_State *L) {
|
||||||
|
|
@ -127,6 +152,8 @@ static const struct luaL_Reg font_lib[] = {
|
||||||
{ "load", font_load },
|
{ "load", font_load },
|
||||||
{ "setDefault", font_setDefault },
|
{ "setDefault", font_setDefault },
|
||||||
{ "getDefault", font_getDefault },
|
{ "getDefault", font_getDefault },
|
||||||
|
{ "setSize", font_setSize },
|
||||||
|
{ "getSize", font_getSize },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,6 @@ typedef struct {
|
||||||
sftd_font *font;
|
sftd_font *font;
|
||||||
} font_userdata;
|
} font_userdata;
|
||||||
|
|
||||||
|
extern u32 textSize;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
23
source/gfx.c
23
source/gfx.c
|
|
@ -26,7 +26,6 @@ typedef struct {
|
||||||
|
|
||||||
bool isGfxInitialized = false;
|
bool isGfxInitialized = false;
|
||||||
bool is3DEnabled = false; //TODO: add a function for this in the ctrulib/sf2dlib.
|
bool is3DEnabled = false; //TODO: add a function for this in the ctrulib/sf2dlib.
|
||||||
u32 textSize = 9;
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
The `ctr.gfx.color` module.
|
The `ctr.gfx.color` module.
|
||||||
|
|
@ -373,26 +372,6 @@ static int gfx_calcBoundingBox(lua_State *L) {
|
||||||
return 2;
|
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.
|
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.
|
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 },
|
{ "text", gfx_text },
|
||||||
{ "wrappedText", gfx_wrappedText },
|
{ "wrappedText", gfx_wrappedText },
|
||||||
{ "calcBoundingBox", gfx_calcBoundingBox },
|
{ "calcBoundingBox", gfx_calcBoundingBox },
|
||||||
{ "setTextSize", gfx_setTextSize },
|
|
||||||
{ "getTextSize", gfx_getTextSize },
|
|
||||||
{ "scissor", gfx_scissor },
|
{ "scissor", gfx_scissor },
|
||||||
{ "target", gfx_target },
|
{ "target", gfx_target },
|
||||||
{ "console", gfx_console },
|
{ "console", gfx_console },
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue