修改底层渲染为OpenGL

This commit is contained in:
2025-10-23 15:21:12 +08:00
parent 1fe898e09c
commit f9a2300b5a
37 changed files with 2782 additions and 3761 deletions

View File

@@ -16,12 +16,59 @@ void Scene_MainUi::Enter()
sq_call(v, 2, SQFalse, SQTrue);
}
sq_settop(v, top);
}
void Scene_MainUi::HandleEvents(SDL_Event *e)
void Scene_MainUi::HandleEvents(SDL_Event *event)
{
Scene::HandleEvents(e);
SQInteger EventType = -1;
std::vector<SQInteger> EventData;
switch (event->type)
{
// 鼠标移动
case SDL_MOUSEMOTION:
{
EventType = 0;
EventData.push_back(event->motion.x);
EventData.push_back(event->motion.y);
break;
}
// 鼠标按键按下
case SDL_MOUSEBUTTONDOWN:
{
EventType = 1;
EventData.push_back(event->button.button);
break;
}
// 鼠标按键释放
case SDL_MOUSEBUTTONUP:
{
EventType = 2;
EventData.push_back(event->button.button);
break;
}
// 鼠标滚轮
case SDL_MOUSEWHEEL:
{
EventType = 3;
EventData.push_back(event->wheel.y);
break;
}
// 键盘按键按下
case SDL_KEYDOWN:
{
EventType = 4;
EventData.push_back(event->key.keysym.sym);
break;
}
// 键盘按键释放
case SDL_KEYUP:
{
EventType = 5;
EventData.push_back(event->key.keysym.sym);
break;
}
}
HSQUIRRELVM v = SquirrelEx::GetInstance().GetSquirrelVM();
SQInteger top = sq_gettop(v);
sq_pushroottable(v);
@@ -29,8 +76,14 @@ void Scene_MainUi::HandleEvents(SDL_Event *e)
if (SQ_SUCCEEDED(sq_get(v, -2)))
{
sq_pushroottable(v);
sq_pushinteger(v, 1);
sq_call(v, 2, SQFalse, SQTrue);
sq_pushinteger(v, EventType);
sq_newarray(v, 0);
for (SQInteger i = 0; i < EventData.size(); i++)
{
sq_pushinteger(v, EventData[i]);
sq_arrayappend(v, -2);
}
sq_call(v, 3, SQFalse, SQTrue);
}
sq_settop(v, top);
}