From 6eb7329a06f39781753b2c24639bffa6ee737686 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Tue, 25 Nov 2025 15:41:42 +0800 Subject: [PATCH] Add love.themechanged() event. Called when the system theme is changed (e.g. switching from light theme to dark and vice versa). --- src/modules/event/sdl/Event.cpp | 3 +++ src/modules/love/callbacks.lua | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/modules/event/sdl/Event.cpp b/src/modules/event/sdl/Event.cpp index fa66d3b78..2c4bb5beb 100644 --- a/src/modules/event/sdl/Event.cpp +++ b/src/modules/event/sdl/Event.cpp @@ -573,6 +573,9 @@ Message *Event::convert(const SDL_Event &e) case SDL_EVENT_LOCALE_CHANGED: msg = new Message("localechanged"); break; + case SDL_EVENT_SYSTEM_THEME_CHANGED: + msg = new Message("themechanged"); + break; case SDL_EVENT_SENSOR_UPDATE: sensorInstance = Module::getInstance(M_SENSOR); if (sensorInstance) diff --git a/src/modules/love/callbacks.lua b/src/modules/love/callbacks.lua index cfeca41c8..4ccc5824a 100644 --- a/src/modules/love/callbacks.lua +++ b/src/modules/love/callbacks.lua @@ -150,6 +150,9 @@ function love.createhandlers() sensorupdated = function (sensorType, x, y, z) if love.sensorupdated then return love.sensorupdated(sensorType, x, y, z) end end, + themechanged = function () + if love.themechanged then return love.themechanged() end + end, }, { __index = function(self, name) error("Unknown event: " .. name)