matrix panel api mostly in place. no font selection however
This commit is contained in:
parent
6a2fc3fa2c
commit
e15650cb1f
1 changed files with 36 additions and 0 deletions
|
@ -148,6 +148,7 @@ static int matrixpanel_fillrect (lua_State *L) {
|
|||
static int matrixpanel_invertdisplay (lua_State *L) {
|
||||
bool flag = lua_isboolean(L, 1) ? lua_toboolean(L, 1) : false;
|
||||
matrixpanel.invertDisplay(flag);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color),
|
||||
|
@ -262,31 +263,66 @@ static int matrixpanel_drawchar (lua_State *L) {
|
|||
|
||||
// setCursor(int16_t x, int16_t y),
|
||||
static int matrixpanel_setcursor (lua_State *L) {
|
||||
int x = luaL_checkint(L, 1);
|
||||
int y = luaL_checkint(L, 2);
|
||||
matrixpanel.setCursor(x, y);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// setTextColor(uint16_t c),
|
||||
// setTextColor(uint16_t c, uint16_t bg),
|
||||
static int matrixpanel_settextcolor (lua_State *L) {
|
||||
int color = luaL_checkint(L, 1);
|
||||
// int y = luaL_checkint(L, 2);
|
||||
matrixpanel.setTextColor(color);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// setTextSize(uint8_t s),
|
||||
static int matrixpanel_settextsize (lua_State *L) {
|
||||
int size = luaL_checkint(L, 1);
|
||||
matrixpanel.setTextSize(size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// setTextWrap(boolean w),
|
||||
static int matrixpanel_settextwrap (lua_State *L) {
|
||||
bool flag = lua_isboolean(L, 1) ? lua_toboolean(L, 1) : false;
|
||||
matrixpanel.setTextWrap(flag);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// setRotation(uint8_t r),
|
||||
static int matrixpanel_setrotation (lua_State *L) {
|
||||
int rot = luaL_checkint(L, 1);
|
||||
matrixpanel.setRotation(rot);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// setFont(const GFXfont *f = NULL),
|
||||
static int matrixpanel_setfont (lua_State *L) {
|
||||
const char *font = luaL_checkstring(L, 1);
|
||||
// Need to do some kind of lookup based on the string.
|
||||
matrixpanel.setFont(&TomThumb);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// getTextBounds(char *string, int16_t x, int16_t y, int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h),
|
||||
static int matrixpanel_gettextbounds (lua_State *L) {
|
||||
char *string = (char *) luaL_checkstring(L, 1); // cast off the const, pointer won't actually be changed
|
||||
int x = luaL_checkint(L, 2);
|
||||
int y = luaL_checkint(L, 2);
|
||||
int16_t x1 = 0, y1 = 0;
|
||||
uint16_t w = 0, h = 0;
|
||||
|
||||
matrixpanel.getTextBounds(string, x, y, &x1, &y1, &w, &h);
|
||||
|
||||
lua_pushnumber(L, x1);
|
||||
lua_pushnumber(L, y1);
|
||||
lua_pushnumber(L, w);
|
||||
lua_pushnumber(L, h);
|
||||
|
||||
return 4;
|
||||
}
|
||||
|
||||
static const struct luaL_Reg matrixpanel_methods[] = {
|
||||
|
|
Loading…
Add table
Reference in a new issue