1 #ifndef _lua__bitmap__hpp__included__
2 #define _lua__bitmap__hpp__included__
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"
15 std::vector
<framebuffer::color
> colors
;
16 lua_palette(lua::state
& L
);
18 mutex_class palette_mutex
;
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
);
28 lua_bitmap(lua::state
& L
, uint32_t w
, uint32_t h
);
32 std::vector
<uint16_t> pixels
;
33 std::vector
<char> save_png(const lua_palette
& pal
) const;
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
);
49 lua_dbitmap(lua::state
& L
, uint32_t w
, uint32_t h
);
53 std::vector
<framebuffer::color
> pixels
;
54 std::vector
<char> save_png() const;
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
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
);