Lua: Some fixes related to sysrc.lua
[lsnes.git] / include / lua / bitmap.hpp
blobe7f25813a2d163d5db116b81ef1a658858609967
1 #ifndef _lua__bitmap__hpp__included__
2 #define _lua__bitmap__hpp__included__
4 #include <vector>
5 #include <string>
6 #include <cstdint>
7 #include "core/window.hpp"
8 #include "library/lua-base.hpp"
9 #include "library/framebuffer.hpp"
10 #include "library/threadtypes.hpp"
11 #include "library/string.hpp"
13 struct lua_palette
15 std::vector<framebuffer::color> colors;
16 lua_palette(lua::state& L);
17 ~lua_palette();
18 mutex_class palette_mutex;
19 std::string print();
20 int set(lua::state& L, const std::string& fname);
21 int hash(lua::state& L, const std::string& fname);
22 int debug(lua::state& L, const std::string& fname);
23 int adjust_transparency(lua::state& L, const std::string& fname);
26 struct lua_bitmap
28 lua_bitmap(lua::state& L, uint32_t w, uint32_t h);
29 ~lua_bitmap();
30 size_t width;
31 size_t height;
32 std::vector<uint16_t> pixels;
33 std::vector<char> save_png(const lua_palette& pal) const;
34 std::string print();
35 int draw(lua::state& L, const std::string& fname);
36 int _draw(lua::state& L, const std::string& fname, bool is_method);
37 int pset(lua::state& L, const std::string& fname);
38 int pget(lua::state& L, const std::string& fname);
39 int size(lua::state& L, const std::string& fname);
40 int hash(lua::state& L, const std::string& fname);
41 template<bool scaled, bool porterduff> int blit(lua::state& L, const std::string& fname);
42 template<bool scaled> int blit_priority(lua::state& L, const std::string& fname);
43 int save_png(lua::state& L, const std::string& fname);
44 int _save_png(lua::state& L, const std::string& fname, bool is_method);
47 struct lua_dbitmap
49 lua_dbitmap(lua::state& L, uint32_t w, uint32_t h);
50 ~lua_dbitmap();
51 size_t width;
52 size_t height;
53 std::vector<framebuffer::color> pixels;
54 std::vector<char> save_png() const;
55 std::string print();
56 int draw(lua::state& L, const std::string& fname);
57 int _draw(lua::state& L, const std::string& fname, bool is_method);
58 int pset(lua::state& L, const std::string& fname);
59 int pget(lua::state& L, const std::string& fname);
60 int size(lua::state& L, const std::string& fname);
61 int hash(lua::state& L, const std::string& fname);
62 template<bool scaled, bool porterduff> int blit(lua::state& L, const std::string& fname);
63 int save_png(lua::state& L, const std::string& fname);
64 int adjust_transparency(lua::state& L, const std::string& fname);
65 int _save_png(lua::state& L, const std::string& fname, bool is_method);
68 struct lua_loaded_bitmap
70 size_t w;
71 size_t h;
72 bool d;
73 std::vector<int64_t> bitmap;
74 std::vector<int64_t> palette;
75 static struct lua_loaded_bitmap load(std::istream& stream);
76 static struct lua_loaded_bitmap load(const std::string& name);
80 #endif