Some API changes and playing w/ liblua

This commit is contained in:
Casey 2024-04-09 17:45:27 +03:00
parent 20cc7fcfc7
commit 6e9ea2dfbf
Signed by: hkc
GPG Key ID: F0F6CFE11CDB0960
4 changed files with 43 additions and 15 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
obj/* obj/*
livewp livewp
mess/cairo-xcb mess/*
!mess/*.*

View File

@ -1,37 +1,37 @@
local img = assert(image_load("/home/hkc/images/wallpapers/wallpaper.png")) local img = assert(Image.load("/home/hkc/images/wallpapers/wallpaper.png"))
local font = assert(font_load("/usr/share/fonts/TTF/TerminusTTF.ttf")) local font = assert(Font.load("/usr/share/fonts/TTF/TerminusTTF.ttf"))
function tick() function tick()
-- Background -- Background
clear_screen(0xFF131313) Screen.clear(0xFF131313)
-- Color ARGB, x, y -- Color ARGB, x, y
draw_pixel(0xFFFF0000, 30, 30) Draw.pixel(0xFFFF0000, 30, 30)
-- Color ARGB, thickness, x1, y1, x2, y2, xn, yn, ... -- Color ARGB, thickness, x1, y1, x2, y2, xn, yn, ...
draw_line(0xFFFF00FF, 8, 100, 100, 200, 400, 300, 600) --> { Vec2, ... } Draw.line(0xFFFF00FF, 8, 100, 100, 200, 400, 300, 600) --> { Vec2, ... }
-- Color ARGB, thickness, x1, y1, x2, y2, xn, yn, ... -- Color ARGB, thickness, x1, y1, x2, y2, xn, yn, ...
draw_poly(0xFFFF00FF, 8, 100, 100, 200, 400, 300, 600) --> Rect Draw.poly(0xFFFF00FF, 8, 100, 100, 200, 400, 300, 600) --> Rect
-- Color ARGB, radius, x, y, start, end -- Color ARGB, radius, x, y, start, end
draw_circle(0xFFFF0000, 20, 300, 300) --> Rect Draw.circle(0xFFFF0000, 20, 300, 300) --> Rect
-- Color ARGB, outer, inner, x, y, start, end -- Color ARGB, outer, inner, x, y, start, end
draw_ring(0xFF00FF00, 30, 20, 300, 300) --> Rect Draw.ring(0xFF00FF00, 30, 20, 300, 300) --> Rect
-- Color ARGB, x, y, w, h -- Color ARGB, x, y, w, h
draw_rect_fill(0xFF00FFFF, 100, 700, 320, 240) --> Rect Draw.rect_fill(0xFF00FFFF, 100, 700, 320, 240) --> Rect
-- Color ARGB, thickness, x, y, w, h -- Color ARGB, thickness, x, y, w, h
draw_rect(0xFFFF00FF, 8, 100, 700, 320, 240) --> Rect Draw.rect(0xFFFF00FF, 8, 100, 700, 320, 240) --> Rect
-- font, text, size, x, y, Color ARGB -- font, text, size, x, y, Color ARGB
draw_text(font, "Hello, world!", 32, 400, 400, 0xFFFF00FF) --> Rect Draw.text(font, "Hello, world!", 32, 400, 400, 0xFFFF00FF) --> Rect
-- image ptr x, y, w, h, src_x, src_y, src_w, src_h -- image ptr x, y, w, h, src_x, src_y, src_w, src_h
draw_image( img, 0, 0) --> Rect Draw.image( img, 0, 0) --> Rect
end end
function unload() function unload()
image_free(img) Image.free(img)
font_free(font) Font.free(font)
end end

25
mess/lua-api.c Normal file
View File

@ -0,0 +1,25 @@
// x-run: ~/scripts/runc.sh % -lm -llua
#include <stdlib.h>
#include <lua5.2/lua.h>
#include <lua5.2/lualib.h>
#include <lua5.2/lauxlib.h>
int meow(lua_State *state) {
printf("meow!\n");
return 0;
}
int main(void) {
lua_State *lua = luaL_newstate();
luaL_openlibs(lua);
lua_pushcfunction(lua, meow);
lua_setglobal(lua, "meow");
luaL_dofile(lua, "./lua-api.lua");
lua_close(lua);
return EXIT_SUCCESS;
}

2
mess/lua-api.lua Normal file
View File

@ -0,0 +1,2 @@
meow()