Skip to content

Commit 4a0d068

Browse files
committed
Harmony port: review changes
1 parent af96018 commit 4a0d068

File tree

4 files changed

+20
-18
lines changed

4 files changed

+20
-18
lines changed

src/core/ohos/SDL_ohos.c

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@
1515
#include "SDL3/SDL_mutex.h"
1616
#include "../../video/ohos/SDL_ohoskeyboard.h"
1717

18-
OHNativeWindow *nativeWindow;
18+
OHNativeWindow *g_ohosNativeWindow;
1919
SDL_Mutex *g_ohosPageMutex = NULL;
2020
static OH_NativeXComponent_Callback callback;
2121
static OH_NativeXComponent_MouseEvent_Callback mouseCallback;
2222
SDL_WindowData windowData;
23-
SDL_VideoData videoData;
24-
struct
23+
static struct
2524
{
2625
napi_env env;
2726
napi_threadsafe_function func;
@@ -103,7 +102,7 @@ static napi_value sdlCallbackInit(napi_env env, napi_callback_info info)
103102

104103
static void OnSurfaceCreatedCB(OH_NativeXComponent *component, void *window)
105104
{
106-
nativeWindow = (OHNativeWindow *)window;
105+
g_ohosNativeWindow = (OHNativeWindow *)window;
107106

108107
uint64_t width;
109108
uint64_t height;
@@ -112,10 +111,8 @@ static void OnSurfaceCreatedCB(OH_NativeXComponent *component, void *window)
112111
OH_NativeXComponent_GetXComponentSize(component, window, &width, &height);
113112
OH_NativeXComponent_GetXComponentOffset(component, window, &offsetX, &offsetY);
114113

115-
SDL_Log("Native Window: %p", nativeWindow);
116-
117114
SDL_LockMutex(g_ohosPageMutex);
118-
windowData.native_window = nativeWindow;
115+
windowData.native_window = g_ohosNativeWindow;
119116
windowData.width = width;
120117
windowData.height = height;
121118
windowData.x = offsetX;
@@ -124,7 +121,7 @@ static void OnSurfaceCreatedCB(OH_NativeXComponent *component, void *window)
124121
}
125122
static void OnSurfaceChangedCB(OH_NativeXComponent *component, void *window)
126123
{
127-
nativeWindow = (OHNativeWindow *)window;
124+
g_ohosNativeWindow = (OHNativeWindow *)window;
128125

129126
uint64_t width;
130127
uint64_t height;
@@ -133,10 +130,8 @@ static void OnSurfaceChangedCB(OH_NativeXComponent *component, void *window)
133130
OH_NativeXComponent_GetXComponentSize(component, window, &width, &height);
134131
OH_NativeXComponent_GetXComponentOffset(component, window, &offsetX, &offsetY);
135132

136-
SDL_Log("Native Window: %p", nativeWindow);
137-
138133
SDL_LockMutex(g_ohosPageMutex);
139-
windowData.native_window = nativeWindow;
134+
windowData.native_window = g_ohosNativeWindow;
140135
windowData.width = width;
141136
windowData.height = height;
142137
windowData.x = offsetX;
@@ -184,12 +179,14 @@ static void onKeyEvent(OH_NativeXComponent *component, void *window)
184179
}
185180
}
186181
}
182+
183+
// TODO
187184
static void onNativeTouch(OH_NativeXComponent *component, void *window) {}
188185
static void onNativeMouse(OH_NativeXComponent *component, void *window) {}
189186
static void OnDispatchTouchEventCB(OH_NativeXComponent *component, void *window) {}
190-
void OnHoverEvent(OH_NativeXComponent *component, bool isHover) {}
191-
void OnFocusEvent(OH_NativeXComponent *component, void *window) {}
192-
void OnBlurEvent(OH_NativeXComponent *component, void *window) {}
187+
static void OnHoverEvent(OH_NativeXComponent *component, bool isHover) {}
188+
static void OnFocusEvent(OH_NativeXComponent *component, void *window) {}
189+
static void OnBlurEvent(OH_NativeXComponent *component, void *window) {}
193190

194191
static napi_value SDL_OHOS_NAPI_Init(napi_env env, napi_value exports)
195192
{

src/core/ohos/SDL_ohos.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66
#include <native_window/external_window.h>
77

88
extern SDL_Mutex *g_ohosPageMutex;
9-
extern OHNativeWindow *nativeWindow;
9+
extern OHNativeWindow *g_ohosNativeWindow;
1010
extern SDL_WindowData windowData;
11-
extern SDL_VideoData videoData;
1211

1312
typedef struct SDL_VideoData {
1413
SDL_Rect textRect;

src/video/ohos/SDL_ohosvideo.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,19 @@ void OHOS_DeviceFree(SDL_VideoDevice *device)
2121
static SDL_VideoDevice *OHOS_CreateDevice(void)
2222
{
2323
SDL_VideoDevice *device;
24+
SDL_VideoData *data;
2425

2526
device = (SDL_VideoDevice *)SDL_calloc(1, sizeof(SDL_VideoDevice));
2627
if (!device) {
2728
return NULL;
2829
}
2930

30-
device->internal = &videoData;
31+
data = (SDL_VideoData *)SDL_calloc(1, sizeof(SDL_VideoData));
32+
if (!data) {
33+
return NULL;
34+
}
35+
36+
device->internal = data;
3137
device->free = OHOS_DeviceFree;
3238

3339
device->VideoInit = OHOS_VideoInit;

src/video/ohos/SDL_ohosvulkan.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ bool OHOS_Vulkan_CreateSurface(SDL_VideoDevice *_this,
111111
createInfo.sType = VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS;
112112
createInfo.pNext = NULL;
113113
createInfo.flags = 0;
114-
createInfo.window = nativeWindow;
114+
createInfo.window = g_ohosNativeWindow;
115115
result = vkCreateSurfaceOHOS(instance, &createInfo, NULL, surface);
116116
if (result != VK_SUCCESS) {
117117
SDL_SetError("vkCreateSurfaceOHOS failed: %d", result);

0 commit comments

Comments
 (0)