📄 lua_bmp.c
字号:
get_bitmap_userdata();
lua_pushnumber(L,bitmap_color_depth(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int bitmap_mask_color(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_bitmap_mask_color(lua_State *L)
{
get_bitmap_userdata();
lua_pushnumber(L,bitmap_mask_color(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_linear_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_linear_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_linear_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_planar_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_planar_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_planar_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_memory_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_memory_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_memory_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_screen_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_screen_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_screen_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_sub_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_sub_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_sub_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_system_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_system_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_system_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_video_bitmap(BITMAP *bmp);
//---------------------------------------------------------------------------------------------
static int l_is_video_bitmap(lua_State *L)
{
get_bitmap_userdata();
lua_pushboolean(L,is_video_bitmap(bitmap));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_inside_bitmap(BITMAP *bmp, int x, int y, int clip);
//---------------------------------------------------------------------------------------------
static int l_is_inside_bitmap(lua_State *L)
{
int x = lua_tonumber (L,2);
int y = lua_tonumber (L,3);
int clip = lua_toboolean(L,4);
get_bitmap_userdata();
lua_pushboolean(L,is_inside_bitmap(bitmap,x,y,clip));
return 1;
}
//---------------------------------------------------------------------------------------------
//int is_same_bitmap(BITMAP *bmp1, BITMAP *bmp2);
//---------------------------------------------------------------------------------------------
static int l_is_same_bitmap(lua_State *L)
{
AUD* au_bitmap2;
BITMAP* bitmap2;
get_bitmap_userdata();
au_bitmap2 = (AUD*) lua_touserdata (L,2);
if (au_bitmap2 && au_bitmap2->DataType==AL_BITMAP) bitmap2 = (BITMAP*) au_bitmap2->DataPtr;
else bitmap2 = screen;
lua_pushboolean(L,is_same_bitmap(bitmap,bitmap2));
return 1;
}
//---------------------------------------------------------------------------------------------
//void lock_bitmap(BITMAP *bitmap);
//---------------------------------------------------------------------------------------------
static int l_lock_bitmap(lua_State *L)
{
get_bitmap_userdata();
lock_bitmap(bitmap);
return 0;
}
//---------------------------------------------------------------------------------------------
//int SCREEN_H()
//---------------------------------------------------------------------------------------------
static int l_SCREEN_H(lua_State *L)
{
lua_pushnumber(L,SCREEN_H);
return 1;
}
//---------------------------------------------------------------------------------------------
//int SCREEN_W()
//---------------------------------------------------------------------------------------------
static int l_SCREEN_W(lua_State *L)
{
lua_pushnumber(L,SCREEN_W);
return 1;
}
//---------------------------------------------------------------------------------------------
//int VIRTUAL_H()
//---------------------------------------------------------------------------------------------
static int l_VIRTUAL_H(lua_State *L)
{
lua_pushnumber(L,VIRTUAL_H);
return 1;
}
//---------------------------------------------------------------------------------------------
//int VIRTUAL_W()
//---------------------------------------------------------------------------------------------
static int l_VIRTUAL_W(lua_State *L)
{
lua_pushnumber(L,VIRTUAL_W);
return 1;
}
//---------------------------------------------------------------------------------------------
//w,h,clip,cl,cr,ct,cb=get_bitmap_info(bitmap)
//---------------------------------------------------------------------------------------------
static int l_get_bitmap_info(lua_State *L)
{
get_bitmap_userdata();
lua_pushnumber(L,bitmap->w);
lua_pushnumber(L,bitmap->h);
lua_pushboolean(L,bitmap->clip);
lua_pushnumber(L,bitmap->cl);
lua_pushnumber(L,bitmap->cr);
lua_pushnumber(L,bitmap->ct);
lua_pushnumber(L,bitmap->cb);
return 7;
}
//---------------------------------------------------------------------------------------------
static const struct luaL_reg allegro_bmp_lib [] = {
{"create_bitmap", l_create_bitmap},
{"create_bitmap_ex", l_create_bitmap_ex},
{"create_sub_bitmap", l_create_sub_bitmap},
{"create_system_bitmap", l_create_system_bitmap},
{"create_video_bitmap", l_create_video_bitmap},
{"get_clip_rect", l_get_clip_rect},
{"get_clip_state", l_get_clip_state},
{"set_clip_rect", l_set_clip_rect},
{"add_clip_rect", l_add_clip_rect},
{"set_clip_state", l_set_clip_state},
{"bitmap_color_depth", l_bitmap_color_depth},
{"bitmap_mask_color", l_bitmap_mask_color},
{"is_linear_bitmap", l_is_linear_bitmap},
{"is_planar_bitmap", l_is_planar_bitmap},
{"is_memory_bitmap", l_is_memory_bitmap},
{"is_screen_bitmap", l_is_screen_bitmap},
{"is_system_bitmap", l_is_system_bitmap},
{"is_video_bitmap", l_is_video_bitmap},
{"is_sub_bitmap", l_is_sub_bitmap},
{"is_inside_bitmap", l_is_inside_bitmap},
{"lock_bitmap", l_lock_bitmap},
{"SCREEN_H", l_SCREEN_H},
{"SCREEN_W", l_SCREEN_W},
{"VIRTUAL_H", l_VIRTUAL_H},
{"VIRTUAL_W", l_VIRTUAL_W},
{"get_bitmap_info", l_get_bitmap_info},
{"acquire_bitmap", l_acquire_bitmap},
{"acquire_screen", l_acquire_screen},
{"release_bitmap", l_release_bitmap},
{"release_screen", l_release_screen},
{NULL, NULL} /* sentinel */
};
//-----------------------------------------------------------------------------------------------
int luaopen_allegro_bmp(lua_State *L)
{
luaL_openlib(L, "allegro", allegro_bmp_lib, 0);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -