This is an automated email from the git hooks/post-receive script.
git pushed a commit to reference refs/pull/124/head
in repository efl.
View the commit online.
commit 1a6bfe33a1cf0fb1d4999df536688ec93846c9a4
Author: Swagtoy <[email protected]>
AuthorDate: Mon Apr 27 01:28:44 2026 -0400
Migrate to SDL3
SDL2 wasn't even working before, but I've at least got it compiling
now.
Signed-off-by: Swagtoy <[email protected]>
---
src/lib/ecore_sdl/Ecore_Sdl_Keys.h | 58 +++++------
src/lib/ecore_sdl/ecore_sdl.c | 135 ++++++++++++--------------
src/lib/ecore_sdl/meson.build | 2 +-
src/modules/evas/engines/gl_sdl/evas_engine.c | 2 +-
4 files changed, 93 insertions(+), 104 deletions(-)
diff --git a/src/lib/ecore_sdl/Ecore_Sdl_Keys.h b/src/lib/ecore_sdl/Ecore_Sdl_Keys.h
index 2ca2069901..ce32db5521 100644
--- a/src/lib/ecore_sdl/Ecore_Sdl_Keys.h
+++ b/src/lib/ecore_sdl/Ecore_Sdl_Keys.h
@@ -19,11 +19,11 @@ static const struct _ecore_sdl_keys_s keystable[] =
{ SDLK_ESCAPE, "Escape", "\033" },
{ SDLK_SPACE, "space", " " },
{ SDLK_EXCLAIM, "exclam", "!" },
- { SDLK_QUOTEDBL, "quotedbl", "\"" },
+ { SDLK_DBLAPOSTROPHE,"quotedbl", "\"" },
{ SDLK_HASH, "numbersign", "#" },
{ SDLK_DOLLAR, "dollar", "$" },
{ SDLK_AMPERSAND, "ampersand", "&" },
- { SDLK_QUOTE, "apostrophe", "'" },
+ { SDLK_APOSTROPHE, "apostrophe", "'" },
{ SDLK_LEFTPAREN, "parenleft", "(" },
{ SDLK_RIGHTPAREN, "parenright", ")" },
{ SDLK_ASTERISK, "asterisk", "*" },
@@ -56,33 +56,33 @@ static const struct _ecore_sdl_keys_s keystable[] =
{ SDLK_RIGHTBRACKET, "bracketright", "]" },
{ SDLK_CARET, "asciicircumm", "^" },
{ SDLK_UNDERSCORE, "underscore", "_" },
- { SDLK_BACKQUOTE, "asciitilde", "`" },
- { SDLK_a, "a", "a" },
- { SDLK_b, "b", "b" },
- { SDLK_c, "c", "c" },
- { SDLK_d, "d", "d" },
- { SDLK_e, "e", "e" },
- { SDLK_f, "f", "f" },
- { SDLK_g, "g", "g" },
- { SDLK_h, "h", "h" },
- { SDLK_i, "i", "i" },
- { SDLK_j, "j", "j" },
- { SDLK_k, "k", "k" },
- { SDLK_l, "l", "l" },
- { SDLK_m, "m", "m" },
- { SDLK_n, "n", "n" },
- { SDLK_o, "o", "o" },
- { SDLK_p, "p", "p" },
- { SDLK_q, "q", "q" },
- { SDLK_r, "r", "r" },
- { SDLK_s, "s", "s" },
- { SDLK_t, "t", "t" },
- { SDLK_u, "u", "u" },
- { SDLK_v, "v", "v" },
- { SDLK_w, "w", "w" },
- { SDLK_x, "x", "x" },
- { SDLK_y, "y", "y" },
- { SDLK_z, "z", "z" },
+ { SDLK_GRAVE, "asciitilde", "`" },
+ { SDLK_A, "a", "a" },
+ { SDLK_B, "b", "b" },
+ { SDLK_C, "c", "c" },
+ { SDLK_D, "d", "d" },
+ { SDLK_E, "e", "e" },
+ { SDLK_F, "f", "f" },
+ { SDLK_G, "g", "g" },
+ { SDLK_H, "h", "h" },
+ { SDLK_I, "i", "i" },
+ { SDLK_J, "j", "j" },
+ { SDLK_K, "k", "k" },
+ { SDLK_L, "l", "l" },
+ { SDLK_M, "m", "m" },
+ { SDLK_N, "n", "n" },
+ { SDLK_O, "o", "o" },
+ { SDLK_P, "p", "p" },
+ { SDLK_Q, "q", "q" },
+ { SDLK_R, "r", "r" },
+ { SDLK_S, "s", "s" },
+ { SDLK_T, "t", "t" },
+ { SDLK_U, "u", "u" },
+ { SDLK_V, "v", "v" },
+ { SDLK_W, "w", "w" },
+ { SDLK_X, "x", "x" },
+ { SDLK_Y, "y", "y" },
+ { SDLK_Z, "z", "z" },
{ SDLK_DELETE, "Delete", "\177" },
/* End of ASCII mapped keysyms */
diff --git a/src/lib/ecore_sdl/ecore_sdl.c b/src/lib/ecore_sdl/ecore_sdl.c
index b711058ac4..519577021c 100644
--- a/src/lib/ecore_sdl/ecore_sdl.c
+++ b/src/lib/ecore_sdl/ecore_sdl.c
@@ -2,7 +2,7 @@
# include <config.h>
#endif
-#include <SDL2/SDL.h>
+#include <SDL3/SDL.h>
#include <Eina.h>
#include <Ecore.h>
@@ -116,14 +116,14 @@ _ecore_sdl_event_modifiers(int mod)
{
unsigned int modifiers = 0;
- if(mod & KMOD_LSHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
- if(mod & KMOD_RSHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
- if(mod & KMOD_LCTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
- if(mod & KMOD_RCTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
- if(mod & KMOD_LALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
- if(mod & KMOD_RALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
- if(mod & KMOD_NUM) modifiers |= ECORE_EVENT_LOCK_NUM;
- if(mod & KMOD_CAPS) modifiers |= ECORE_EVENT_LOCK_CAPS;
+ if(mod & SDL_KMOD_LSHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
+ if(mod & SDL_KMOD_RSHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
+ if(mod & SDL_KMOD_LCTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
+ if(mod & SDL_KMOD_RCTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
+ if(mod & SDL_KMOD_LALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
+ if(mod & SDL_KMOD_RALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
+ if(mod & SDL_KMOD_NUM) modifiers |= ECORE_EVENT_LOCK_NUM;
+ if(mod & SDL_KMOD_CAPS) modifiers |= ECORE_EVENT_LOCK_CAPS;
return modifiers;
}
@@ -145,7 +145,7 @@ _ecore_sdl_event_key(SDL_Event *event, double timestamp)
ev->compose = NULL;
for (i = 0; i < EINA_C_ARRAY_LENGTH(keystable); ++i)
- if (keystable[i].code == event->key.keysym.sym)
+ if (keystable[i].code == event->key.key)
{
ev->keyname = keystable[i].name;
ev->string = keystable[i].compose;
@@ -172,7 +172,7 @@ ecore_sdl_feed_events(void)
timestamp = (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff);
switch(event.type)
{
- case SDL_MOUSEMOTION:
+ case SDL_EVENT_MOUSE_MOTION:
{
Ecore_Event_Mouse_Move *ev;
@@ -197,7 +197,7 @@ ecore_sdl_feed_events(void)
ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
break;
}
- case SDL_MOUSEBUTTONDOWN:
+ case SDL_EVENT_MOUSE_BUTTON_DOWN:
{
Ecore_Event_Mouse_Button *ev;
@@ -221,7 +221,7 @@ ecore_sdl_feed_events(void)
ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
break;
}
- case SDL_MOUSEWHEEL:
+ case SDL_EVENT_MOUSE_WHEEL:
{
Ecore_Event_Mouse_Wheel *ev;
@@ -239,7 +239,7 @@ ecore_sdl_feed_events(void)
ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, ev, NULL, NULL);
break;
}
- case SDL_MOUSEBUTTONUP:
+ case SDL_EVENT_MOUSE_BUTTON_UP:
{
Ecore_Event_Mouse_Button *ev;
@@ -262,16 +262,16 @@ ecore_sdl_feed_events(void)
ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
break;
}
- case SDL_QUIT:
+ case SDL_EVENT_QUIT:
ecore_main_loop_quit();
break;
- case SDL_KEYDOWN:
+ case SDL_EVENT_KEY_DOWN:
{
Ecore_SDL_Pressed *entry;
Ecore_Event_Key *ev;
- entry = (Ecore_SDL_Pressed*) eina_rbtree_inline_lookup(repeat, &event.key.keysym.sym, sizeof (event.key.keysym.sym),
+ entry = (Ecore_SDL_Pressed*) eina_rbtree_inline_lookup(repeat, &event.key.key, sizeof (event.key.key),
EINA_RBTREE_CMP_KEY_CB(_ecore_sdl_pressed_node), NULL);
if (entry)
{
@@ -287,19 +287,19 @@ ecore_sdl_feed_events(void)
entry = malloc(sizeof (Ecore_SDL_Pressed));
if (!entry) break;
- entry->key = event.key.keysym.sym;
+ entry->key = event.key.key;
repeat = eina_rbtree_inline_insert(repeat, EINA_RBTREE_GET(entry),
EINA_RBTREE_CMP_NODE_CB(_ecore_sdl_pressed_key), NULL);
}
break;
}
- case SDL_KEYUP:
+ case SDL_EVENT_KEY_UP:
{
Ecore_Event_Key *ev;
Ecore_SDL_Pressed *entry;
- entry = (Ecore_SDL_Pressed*) eina_rbtree_inline_lookup(repeat, &event.key.keysym.sym, sizeof (event.key.keysym.sym),
+ entry = (Ecore_SDL_Pressed*) eina_rbtree_inline_lookup(repeat, &event.key.key, sizeof (event.key.key),
EINA_RBTREE_CMP_KEY_CB(_ecore_sdl_pressed_node), NULL);
if (entry)
{
@@ -312,67 +312,56 @@ ecore_sdl_feed_events(void)
if (ev) ecore_event_add(ECORE_EVENT_KEY_UP, ev, NULL, NULL);
break;
}
- case SDL_WINDOWEVENT:
- switch (event.window.event)
- {
- case SDL_WINDOWEVENT_RESIZED:
- {
- Ecore_Sdl_Event_Video_Resize *ev;
- ev = calloc(1, sizeof (Ecore_Sdl_Event_Video_Resize));
- ev->windowID = event.window.windowID;
- ev->w = event.window.data1;
- ev->h = event.window.data2;
+ case SDL_EVENT_WINDOW_RESIZED:
+ {
+ Ecore_Sdl_Event_Video_Resize *ev;
- ecore_event_add(ECORE_SDL_EVENT_RESIZE, ev, NULL, NULL);
- break;
- }
- case SDL_WINDOWEVENT_EXPOSED:
- {
- Ecore_Sdl_Event_Window *ev;
+ ev = calloc(1, sizeof (Ecore_Sdl_Event_Video_Resize));
+ ev->windowID = event.window.windowID;
+ ev->w = event.window.data1;
+ ev->h = event.window.data2;
- ev = calloc(1, sizeof (Ecore_Sdl_Event_Window));
- ev->windowID = event.window.windowID;
+ ecore_event_add(ECORE_SDL_EVENT_RESIZE, ev, NULL, NULL);
+ break;
+ }
+ case SDL_EVENT_WINDOW_EXPOSED:
+ {
+ Ecore_Sdl_Event_Window *ev;
- ecore_event_add(ECORE_SDL_EVENT_EXPOSE, ev, NULL, NULL);
- break;
- }
- case SDL_WINDOWEVENT_ENTER:
- case SDL_WINDOWEVENT_LEAVE:
- {
- Ecore_Event_Mouse_IO *ev;
+ ev = calloc(1, sizeof (Ecore_Sdl_Event_Window));
+ ev->windowID = event.window.windowID;
- ev = calloc(1, sizeof (Ecore_Event_Mouse_IO));
- ev->window = event.window.windowID;
- ev->event_window = event.window.windowID;
+ ecore_event_add(ECORE_SDL_EVENT_EXPOSE, ev, NULL, NULL);
+ break;
+ }
+ case SDL_EVENT_WINDOW_MOUSE_ENTER:
+ case SDL_EVENT_WINDOW_MOUSE_LEAVE:
+ {
+ Ecore_Event_Mouse_IO *ev;
- ecore_event_add(event.window.event == SDL_WINDOWEVENT_ENTER ?
- ECORE_EVENT_MOUSE_IN : ECORE_EVENT_MOUSE_OUT,
- ev, NULL, NULL);
- break;
- }
- case SDL_WINDOWEVENT_FOCUS_GAINED:
- case SDL_WINDOWEVENT_FOCUS_LOST:
- {
- Ecore_Sdl_Event_Window *ev;
+ ev = calloc(1, sizeof (Ecore_Event_Mouse_IO));
+ ev->window = event.window.windowID;
+ ev->event_window = event.window.windowID;
- ev = calloc(1, sizeof (Ecore_Sdl_Event_Window));
- ev->windowID = event.window.windowID;
+ ecore_event_add(event.type == SDL_EVENT_WINDOW_MOUSE_ENTER ?
+ ECORE_EVENT_MOUSE_IN : ECORE_EVENT_MOUSE_OUT,
+ ev, NULL, NULL);
+ break;
+ }
+ case SDL_EVENT_WINDOW_FOCUS_GAINED:
+ case SDL_EVENT_WINDOW_FOCUS_LOST:
+ {
+ Ecore_Sdl_Event_Window *ev;
- ecore_event_add(event.window.event == SDL_WINDOWEVENT_FOCUS_GAINED ?
- ECORE_SDL_EVENT_GOT_FOCUS : ECORE_SDL_EVENT_LOST_FOCUS,
- ev, NULL, NULL);
- break;
- }
- }
- break;
- case SDL_SYSWMEVENT:
- case SDL_USEREVENT:
- case SDL_JOYAXISMOTION:
- case SDL_JOYBALLMOTION:
- case SDL_JOYHATMOTION:
- case SDL_JOYBUTTONDOWN:
- case SDL_JOYBUTTONUP:
+ ev = calloc(1, sizeof (Ecore_Sdl_Event_Window));
+ ev->windowID = event.window.windowID;
+
+ ecore_event_add(event.type == SDL_EVENT_WINDOW_FOCUS_GAINED ?
+ ECORE_SDL_EVENT_GOT_FOCUS : ECORE_SDL_EVENT_LOST_FOCUS,
+ ev, NULL, NULL);
+ break;
+ }
default:
break;
}
diff --git a/src/lib/ecore_sdl/meson.build b/src/lib/ecore_sdl/meson.build
index f3cd70428d..939d33efdd 100644
--- a/src/lib/ecore_sdl/meson.build
+++ b/src/lib/ecore_sdl/meson.build
@@ -11,7 +11,7 @@ ecore_sdl_header_src = [
'Ecore_Sdl_Keys.h'
]
-ecore_sdl_ext_deps += dependency('sdl2')
+ecore_sdl_ext_deps += dependency('sdl3')
ecore_sdl_lib = library('ecore_sdl',
ecore_sdl_src,
diff --git a/src/modules/evas/engines/gl_sdl/evas_engine.c b/src/modules/evas/engines/gl_sdl/evas_engine.c
index 9e650f275e..9f02f3bba0 100644
--- a/src/modules/evas/engines/gl_sdl/evas_engine.c
+++ b/src/modules/evas/engines/gl_sdl/evas_engine.c
@@ -6,7 +6,7 @@
# include <dlfcn.h>
#endif
-#include <SDL2/SDL_opengl.h>
+#include <SDL3/SDL_opengl.h>
Evas_GL_Common_Context_New glsym_evas_gl_common_context_new = NULL;
Evas_GL_Common_Context_Call glsym_evas_gl_common_context_free = NULL;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.