1 /*
2 * Copyright (c) 2025 Shenzhen Kaihong Digital Industry Development Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <stdio.h>
17
18 #include "app_main.h"
19
20 #include "ohos_context_i.h"
21
22 namespace OHOS
23 {
24 class AppContext : public OHOS::OhosContextI
25 {
26 public:
AppContext()27 AppContext() {}
28 bool SetConfig(int32_t w, int32_t h, RCI_GLES_VERSION ver, RCI_PIXEL_FORMAT pf, RCI_SURFACE_TYPE st, RCI_PROFILE tp, RCI_CONTEXT_FLAG flags) override;
29 bool InitNativeWindow() override;
30 bool InitEglSurface() override;
31 bool InitEglContext() override;
32
33 void MakeCurrent() override;
34 void SwapBuffer() override;
35
36 int32_t GetAttrib(int32_t attrType) override;
37
38 uint64_t CreateWindow(uint32_t x, uint32_t y, uint32_t width, uint32_t height) override;
39 void *GetNativeWindow(uint64_t windowId) override;
40 void DestoryWindow(uint64_t windowId) override;
41
42
43 void *GetNativeWindowEx() override;
44 void OhosWindowResize(int32_t w,int32_t h) override;
45 void* EglGetConfig() override;
46
47 uint32_t OH_bindAPI(uint32_t api) override;
48 uint32_t OH_bindTexImage(void* dpy, void* surface, int32_t buffer) override;
49 uint32_t OH_chooseConfig(void* dpy, const int32_t *attrib_list, void* *configs, int32_t config_size, int32_t *num_config) override;
50 int32_t OH_clientWaitSync(void* dpy, void* sync, int32_t flags, uint64_t timeout) override;
51 int32_t OH_clientWaitSyncKHR(void* dpy, void* sync, int32_t flags, uint64_t timeout) override;
52 uint32_t OH_copyBuffers(void* dpy, void* surface, void* target) override;
53 void* OH_createContext(void* dpy, void* config, void* share_context, const int32_t *attrib_list) override;
54 void* OH_createImage(void* dpy, void* ctx, uint32_t target, void* buffer, const int *attrib_list) override;
55 void* OH_createImageKHR(void* dpy, void* ctx, uint32_t target, void* buffer, const int32_t *attrib_list) override;
56 void* OH_createPbufferFromClientBuffer(void* dpy, uint32_t buftype, void* buffer, void* config, const int32_t *attrib_list) override;
57 void* OH_createPbufferSurface(void* dpy, void* config, const int32_t *attrib_list) override;
58 void* OH_createPixmapSurface(void* dpy, void* config, void* pixmap, const int32_t *attrib_list) override;
59 void* OH_createPlatformPixmapSurface(void* dpy, void* config, void *native_pixmap, const int *attrib_list) override;
60 void* OH_createPlatformPixmapSurfaceEXT(void* dpy, void* config, void *native_pixmap, const int32_t *attrib_list) override;
61 void* OH_createPlatformWindowSurface(void* dpy, void* config, void *native_window, const int *attrib_list) override;
62 void* OH_createPlatformWindowSurfaceEXT(void* dpy, void* config, void *native_window, const int32_t *attrib_list) override;
63 void* OH_createSync(void* dpy, uint32_t type, const int *attrib_list) override;
64 void* OH_createSyncKHR(void* dpy, uint32_t type, const int32_t *attrib_list) override;
65 void* OH_createWindowSurface(void* dpy, void* config, void* win, const int32_t *attrib_list) override;
66 uint32_t OH_destroyContext(void* dpy, void* ctx) override;
67 uint32_t OH_destroyImage(void* dpy, void* image) override;
68 uint32_t OH_destroyImageKHR(void* dpy, void* image) override;
69 uint32_t OH_destroySurface(void* dpy, void* surface) override;
70 uint32_t OH_destroySync(void* dpy, void* sync) override;
71 uint32_t OH_destroySyncKHR(void* dpy, void* sync) override;
72 uint32_t OH_getConfigAttrib(void* dpy, void* config, int32_t attribute, int32_t *value) override;
73 uint32_t OH_getConfigs(void* dpy, void* *configs, int32_t config_size, int32_t *num_config) override;
74 void* OH_getCurrentContext() override;
75 void* OH_getCurrentDisplay() override;
76 void* OH_getCurrentSurface(int32_t readdraw) override;
77 void* OH_getDisplay(void* display_id) override;
78 int32_t OH_getError() override;
79 void* OH_getPlatformDisplay(uint32_t platform, void *native_display, const int *attrib_list) override;
80 void* OH_getPlatformDisplayEXT(uint32_t platform, void *native_display, const int32_t *attrib_list) override;
81 FunctionPointer OH_getProcAddress(const char *procname) override;
82 uint32_t OH_getSyncAttrib(void* dpy, void* sync, int32_t attribute, int *value) override;
83 uint32_t OH_getSyncAttribKHR(void* dpy, void* sync, int32_t attribute, int32_t *value) override;
84 uint32_t OH_initialize(void* dpy, int32_t *major, int32_t *minor) override;
85 uint32_t OH_lockSurfaceKHR(void* dpy, void* surface, const int32_t *attrib_list) override;
86 uint32_t OH_makeCurrent(void* dpy, void* draw, void* read, void* ctx) override;
87 uint32_t OH_queryAPI() override;
88 uint32_t OH_queryContext(void* dpy, void* ctx, int32_t attribute, int32_t *value) override;
89 const char* OH_queryString(void* dpy, int32_t name) override;
90 uint32_t OH_querySurface(void* dpy, void* surface, int32_t attribute, int32_t *value) override;
91 uint32_t OH_releaseTexImage(void* dpy, void* surface, int32_t buffer) override;
92 uint32_t OH_releaseThread() override;
93 uint32_t OH_setDamageRegionKHR(void* dpy, void* surface, int32_t *rects, int32_t n_rects) override;
94 uint32_t OH_signalSyncKHR(void* dpy, void* sync, uint32_t mode) override;
95 uint32_t OH_surfaceAttrib(void* dpy, void* surface, int32_t attribute, int32_t value) override;
96 uint32_t OH_swapBuffers(void* dpy, void* surface) override;
97 uint32_t OH_swapBuffersWithDamageKHR(void* dpy, void* surface, int32_t *rects, int32_t n_rects) override;
98 uint32_t OH_swapInterval(void* dpy, int32_t interval) override;
99 uint32_t OH_terminate(void* dpy) override;
100 uint32_t OH_unlockSurfaceKHR(void* dpy, void* surface) override;
101 uint32_t OH_waitClient() override;
102 uint32_t OH_waitGL() override;
103 uint32_t OH_waitNative(int32_t engine) override;
104 uint32_t OH_waitSync(void* dpy, void* sync, int32_t flags) override;
105 int32_t OH_waitSyncKHR(void* dpy, void* sync, int32_t flags) override;
106 };
SetConfig(int32_t w,int32_t h,RCI_GLES_VERSION ver,RCI_PIXEL_FORMAT pf,RCI_SURFACE_TYPE st,RCI_PROFILE tp,RCI_CONTEXT_FLAG flags)107 bool AppContext::SetConfig(int32_t w, int32_t h, RCI_GLES_VERSION ver, RCI_PIXEL_FORMAT pf, RCI_SURFACE_TYPE st, RCI_PROFILE tp, RCI_CONTEXT_FLAG flags)
108 {
109 printf("!!!!!!!!!!!!!!!!!!!!!!SetConfig\n");
110 printf("%d,%d,%d,%d,%d,%d,%d\n",w,h,ver,pf.redBits,st,tp,flags);
111 return true;
112 }
InitNativeWindow()113 bool AppContext::InitNativeWindow()
114 {
115 return true;
116 }
InitEglSurface()117 bool AppContext::InitEglSurface()
118 {
119 return true;
120 }
InitEglContext()121 bool AppContext::InitEglContext()
122 {
123 return true;
124 }
MakeCurrent()125 void AppContext::MakeCurrent()
126 {
127 }
SwapBuffer()128 void AppContext::SwapBuffer()
129 {
130 }
GetAttrib(int32_t attrType)131 int32_t AppContext::GetAttrib(int32_t attrType)
132 {
133 printf("attrType:%d\n",attrType);
134 return 0;
135 }
CreateWindow(uint32_t x,uint32_t y,uint32_t width,uint32_t height)136 uint64_t AppContext::CreateWindow(uint32_t x, uint32_t y, uint32_t width, uint32_t height)
137 {
138 printf("x:%d,y:%d,width:%d,height:%d\n",x,y,width,height);
139 return 0;
140 }
GetNativeWindow(uint64_t windowId)141 void *AppContext::GetNativeWindow(uint64_t windowId)
142 {
143 printf("windowId:%llu\n",windowId);
144 return nullptr;
145 }
DestoryWindow(uint64_t windowId)146 void AppContext::DestoryWindow(uint64_t windowId)
147 {
148 printf("windowId:%llu\n",windowId);
149 }
150
GetNativeWindowEx()151 void *AppContext::GetNativeWindowEx()
152 {
153 return nullptr;
154 }
OhosWindowResize(int32_t w,int32_t h)155 void AppContext::OhosWindowResize(int32_t w,int32_t h)
156 {
157 printf("w:%d,h:%d\n",w,h);
158 }
EglGetConfig()159 void* AppContext::EglGetConfig()
160 {
161 return nullptr;
162 }
163
OH_bindAPI(uint32_t api)164 uint32_t AppContext::OH_bindAPI(uint32_t api)
165 {
166 printf("api:%d\n",api);
167 return 0;
168 }
OH_bindTexImage(void * dpy,void * surface,int32_t buffer)169 uint32_t AppContext::OH_bindTexImage(void* dpy, void* surface, int32_t buffer)
170 {
171 printf("dpy:%p,surface:%p,buffer:%d\n",dpy,surface,buffer);
172 return 0;
173 }
OH_chooseConfig(void * dpy,const int32_t * attrib_list,void ** configs,int32_t config_size,int32_t * num_config)174 uint32_t AppContext::OH_chooseConfig(void* dpy, const int32_t *attrib_list, void* *configs, int32_t config_size, int32_t *num_config)
175 {
176 printf("dpy:%p,attrib_list:%p,configs:%p,config_size:%d,num_config:%p\n",dpy,attrib_list,configs,config_size,num_config);
177 return 0;
178 }
OH_clientWaitSync(void * dpy,void * sync,int32_t flags,uint64_t timeout)179 int32_t AppContext::OH_clientWaitSync(void* dpy, void* sync, int32_t flags, uint64_t timeout)
180 {
181 printf("dpy:%p,sync:%p,flags:%d,timeout:%llu\n",dpy,sync,flags,timeout);
182 return 0;
183 }
OH_clientWaitSyncKHR(void * dpy,void * sync,int32_t flags,uint64_t timeout)184 int32_t AppContext::OH_clientWaitSyncKHR(void* dpy, void* sync, int32_t flags, uint64_t timeout)
185 {
186 printf("dpy:%p,sync:%p,flags:%d,timeout:%llu\n",dpy,sync,flags,timeout);
187 return 0;
188 }
OH_copyBuffers(void * dpy,void * surface,void * target)189 uint32_t AppContext::OH_copyBuffers(void* dpy, void* surface, void* target)
190 {
191 printf("dpy:%p,surface:%p,target:%p\n",dpy,surface,target);
192 return 0;
193 }
OH_createContext(void * dpy,void * config,void * share_context,const int32_t * attrib_list)194 void* AppContext::OH_createContext(void* dpy, void* config, void* share_context, const int32_t *attrib_list)
195 {
196 printf("dpy:%p,config:%p,share_context:%p,attrib_list:%p\n",dpy,config,share_context,attrib_list);
197 return nullptr;
198 }
OH_createImage(void * dpy,void * ctx,uint32_t target,void * buffer,const int * attrib_list)199 void* AppContext::OH_createImage(void* dpy, void* ctx, uint32_t target, void* buffer, const int *attrib_list)
200 {
201 printf("dpy:%p,ctx:%p,target:%d,buffer:%p,attrib_list:%p\n",dpy,ctx,target,buffer,attrib_list);
202 return nullptr;
203 }
OH_createImageKHR(void * dpy,void * ctx,uint32_t target,void * buffer,const int32_t * attrib_list)204 void* AppContext::OH_createImageKHR(void* dpy, void* ctx, uint32_t target, void* buffer, const int32_t *attrib_list)
205 {
206 printf("dpy:%p,ctx:%p,target:%d,buffer:%p,attrib_list:%p\n",dpy,ctx,target,buffer,attrib_list);
207 return nullptr;
208 }
OH_createPbufferFromClientBuffer(void * dpy,uint32_t buftype,void * buffer,void * config,const int32_t * attrib_list)209 void* AppContext::OH_createPbufferFromClientBuffer(void* dpy, uint32_t buftype, void* buffer, void* config, const int32_t *attrib_list)
210 {
211 printf("dpy:%p,buftype:%d,buffer:%p,config:%p,attrib_list:%p\n",dpy,buftype,buffer,config,attrib_list);
212 return nullptr;
213 }
OH_createPbufferSurface(void * dpy,void * config,const int32_t * attrib_list)214 void* AppContext::OH_createPbufferSurface(void* dpy, void* config, const int32_t *attrib_list)
215 {
216 printf("dpy:%p,config:%p,attrib_list:%p\n",dpy,config,attrib_list);
217 return nullptr;
218 }
OH_createPixmapSurface(void * dpy,void * config,void * pixmap,const int32_t * attrib_list)219 void* AppContext::OH_createPixmapSurface(void* dpy, void* config, void* pixmap, const int32_t *attrib_list)
220 {
221 printf("dpy:%p,config:%p,pixmap:%p,attrib_list:%p\n",dpy,config,pixmap,attrib_list);
222 return nullptr;
223 }
OH_createPlatformPixmapSurface(void * dpy,void * config,void * native_pixmap,const int * attrib_list)224 void* AppContext::OH_createPlatformPixmapSurface(void* dpy, void* config, void *native_pixmap, const int *attrib_list)
225 {
226 printf("dpy:%p,config:%p,native_pixmap:%p,attrib_list:%p\n",dpy,config,native_pixmap,attrib_list);
227 return nullptr;
228 }
OH_createPlatformPixmapSurfaceEXT(void * dpy,void * config,void * native_pixmap,const int32_t * attrib_list)229 void* AppContext::OH_createPlatformPixmapSurfaceEXT(void* dpy, void* config, void *native_pixmap, const int32_t *attrib_list)
230 {
231 printf("dpy:%p,config:%p,native_pixmap:%p,attrib_list:%p\n",dpy,config,native_pixmap,attrib_list);
232 return nullptr;
233 }
OH_createPlatformWindowSurface(void * dpy,void * config,void * native_window,const int * attrib_list)234 void* AppContext::OH_createPlatformWindowSurface(void* dpy, void* config, void *native_window, const int *attrib_list)
235 {
236 printf("dpy:%p,config:%p,native_window:%p,attrib_list:%p\n",dpy,config,native_window,attrib_list);
237 return nullptr;
238 }
OH_createPlatformWindowSurfaceEXT(void * dpy,void * config,void * native_window,const int32_t * attrib_list)239 void* AppContext::OH_createPlatformWindowSurfaceEXT(void* dpy, void* config, void *native_window, const int32_t *attrib_list)
240 {
241 printf("dpy:%p,config:%p,native_window:%p,attrib_list:%p\n",dpy,config,native_window,attrib_list);
242 return nullptr;
243 }
OH_createSync(void * dpy,uint32_t type,const int * attrib_list)244 void* AppContext::OH_createSync(void* dpy, uint32_t type, const int *attrib_list)
245 {
246 printf("dpy:%p,type:%d,attrib_list:%p\n",dpy,type,attrib_list);
247 return nullptr;
248 }
OH_createSyncKHR(void * dpy,uint32_t type,const int32_t * attrib_list)249 void* AppContext::OH_createSyncKHR(void* dpy, uint32_t type, const int32_t *attrib_list)
250 {
251 printf("dpy:%p,type:%d,attrib_list:%p\n",dpy,type,attrib_list);
252 return nullptr;
253 }
OH_createWindowSurface(void * dpy,void * config,void * win,const int32_t * attrib_list)254 void* AppContext::OH_createWindowSurface(void* dpy, void* config, void* win, const int32_t *attrib_list)
255 {
256 printf("dpy:%p,config:%p,win:%p,attrib_list:%p\n",dpy,config,win,attrib_list);
257 return nullptr;
258 }
OH_destroyContext(void * dpy,void * ctx)259 uint32_t AppContext::OH_destroyContext(void* dpy, void* ctx)
260 {
261 printf("dpy:%p,ctx:%p\n",dpy,ctx);
262 return 0;
263 }
OH_destroyImage(void * dpy,void * image)264 uint32_t AppContext::OH_destroyImage(void* dpy, void* image)
265 {
266 printf("dpy:%p,image:%p\n",dpy,image);
267 return 0;
268 }
OH_destroyImageKHR(void * dpy,void * image)269 uint32_t AppContext::OH_destroyImageKHR(void* dpy, void* image)
270 {
271 printf("dpy:%p,image:%p\n",dpy,image);
272 return 0;
273 }
OH_destroySurface(void * dpy,void * surface)274 uint32_t AppContext::OH_destroySurface(void* dpy, void* surface)
275 {
276 printf("dpy:%p,surface:%p\n",dpy,surface);
277 return 0;
278 }
OH_destroySync(void * dpy,void * sync)279 uint32_t AppContext::OH_destroySync(void* dpy, void* sync)
280 {
281 printf("dpy:%p,sync:%p\n",dpy,sync);
282 return 0;
283 }
OH_destroySyncKHR(void * dpy,void * sync)284 uint32_t AppContext::OH_destroySyncKHR(void* dpy, void* sync)
285 {
286 printf("dpy:%p,sync:%p\n",dpy,sync);
287 return 0;
288 }
OH_getConfigAttrib(void * dpy,void * config,int32_t attribute,int32_t * value)289 uint32_t AppContext::OH_getConfigAttrib(void* dpy, void* config, int32_t attribute, int32_t *value)
290 {
291 printf("dpy:%p,config:%p,attribute:%d,value:%p\n",dpy,config,attribute,value);
292 return 0;
293 }
OH_getConfigs(void * dpy,void ** configs,int32_t config_size,int32_t * num_config)294 uint32_t AppContext::OH_getConfigs(void* dpy, void* *configs, int32_t config_size, int32_t *num_config)
295 {
296 printf("dpy:%p,configs:%p,config_size:%d,num_config:%p\n",dpy,configs,config_size,num_config);
297 return 0;
298 }
OH_getCurrentContext()299 void* AppContext::OH_getCurrentContext()
300 {
301 printf("OH_getCurrentContext\n");
302 return nullptr;
303 }
OH_getCurrentDisplay()304 void* AppContext::OH_getCurrentDisplay()
305 {
306 printf("OH_getCurrentDisplay\n");
307 return nullptr;
308 }
OH_getCurrentSurface(int32_t readdraw)309 void* AppContext::OH_getCurrentSurface(int32_t readdraw)
310 {
311 printf("readdraw:%d\n",readdraw);
312 return nullptr;
313 }
OH_getDisplay(void * display_id)314 void* AppContext::OH_getDisplay(void* display_id)
315 {
316 printf("display_id:%p\n",display_id);
317 return nullptr;
318 }
OH_getError()319 int32_t AppContext::OH_getError()
320 {
321 printf("OH_getError\n");
322 return 0;
323 }
OH_getPlatformDisplay(uint32_t platform,void * native_display,const int * attrib_list)324 void* AppContext::OH_getPlatformDisplay(uint32_t platform, void *native_display, const int *attrib_list)
325 {
326 printf("platform:%d,native_display:%p,attrib_list:%p\n",platform,native_display,attrib_list);
327 return nullptr;
328 }
OH_getPlatformDisplayEXT(uint32_t platform,void * native_display,const int32_t * attrib_list)329 void* AppContext::OH_getPlatformDisplayEXT(uint32_t platform, void *native_display, const int32_t *attrib_list)
330 {
331 printf("platform:%d,native_display:%p,attrib_list:%p\n",platform,native_display,attrib_list);
332 return nullptr;
333 }
OH_getProcAddress(const char * procname)334 FunctionPointer AppContext::OH_getProcAddress(const char *procname)
335 {
336 printf("procname:%s\n",procname);
337 return nullptr;
338 }
OH_getSyncAttrib(void * dpy,void * sync,int32_t attribute,int * value)339 uint32_t AppContext::OH_getSyncAttrib(void* dpy, void* sync, int32_t attribute, int *value)
340 {
341 printf("dpy:%p,sync:%p,attribute:%d,value:%p\n",dpy,sync,attribute,value);
342 return 0;
343 }
OH_getSyncAttribKHR(void * dpy,void * sync,int32_t attribute,int32_t * value)344 uint32_t AppContext::OH_getSyncAttribKHR(void* dpy, void* sync, int32_t attribute, int32_t *value)
345 {
346 printf("dpy:%p,sync:%p,attribute:%d,value:%p\n",dpy,sync,attribute,value);
347 return 0;
348 }
OH_initialize(void * dpy,int32_t * major,int32_t * minor)349 uint32_t AppContext::OH_initialize(void* dpy, int32_t *major, int32_t *minor)
350 {
351 printf("dpy:%p,major:%p,minor:%p\n",dpy,major,minor);
352 return 0;
353 }
OH_lockSurfaceKHR(void * dpy,void * surface,const int32_t * attrib_list)354 uint32_t AppContext::OH_lockSurfaceKHR(void* dpy, void* surface, const int32_t *attrib_list)
355 {
356 printf("dpy:%p,surface:%p,attrib_list:%p\n",dpy,surface,attrib_list);
357 return 0;
358 }
OH_makeCurrent(void * dpy,void * draw,void * read,void * ctx)359 uint32_t AppContext::OH_makeCurrent(void* dpy, void* draw, void* read, void* ctx)
360 {
361 printf("dpy:%p,draw:%p,read:%p,ctx:%p\n",dpy,draw,read,ctx);
362 return 0;
363 }
OH_queryAPI()364 uint32_t AppContext::OH_queryAPI()
365 {
366 printf("OH_queryAPI\n");
367 return 0;
368 }
OH_queryContext(void * dpy,void * ctx,int32_t attribute,int32_t * value)369 uint32_t AppContext::OH_queryContext(void* dpy, void* ctx, int32_t attribute, int32_t *value)
370 {
371 printf("dpy:%p,ctx:%p,attribute:%d,value:%p\n",dpy,ctx,attribute,value);
372 return 0;
373 }
OH_queryString(void * dpy,int32_t name)374 const char* AppContext::OH_queryString(void* dpy, int32_t name)
375 {
376 printf("dpy:%p,name:%d\n",dpy,name);
377 return nullptr;
378 }
OH_querySurface(void * dpy,void * surface,int32_t attribute,int32_t * value)379 uint32_t AppContext::OH_querySurface(void* dpy, void* surface, int32_t attribute, int32_t *value)
380 {
381 printf("dpy:%p,surface:%p,attribute:%d,value:%p\n",dpy,surface,attribute,value);
382 return 0;
383 }
OH_releaseTexImage(void * dpy,void * surface,int32_t buffer)384 uint32_t AppContext::OH_releaseTexImage(void* dpy, void* surface, int32_t buffer)
385 {
386 printf("dpy:%p,surface:%p,buffer:%d\n",dpy,surface,buffer);
387 return 0;
388 }
OH_releaseThread()389 uint32_t AppContext::OH_releaseThread()
390 {
391 printf("OH_releaseThread\n");
392 return 0;
393 }
OH_setDamageRegionKHR(void * dpy,void * surface,int32_t * rects,int32_t n_rects)394 uint32_t AppContext::OH_setDamageRegionKHR(void* dpy, void* surface, int32_t *rects, int32_t n_rects)
395 {
396 printf("dpy:%p,surface:%p,rects:%p,n_rects:%d\n",dpy,surface,rects,n_rects);
397 return 0;
398 }
OH_signalSyncKHR(void * dpy,void * sync,uint32_t mode)399 uint32_t AppContext::OH_signalSyncKHR(void* dpy, void* sync, uint32_t mode)
400 {
401 printf("dpy:%p,sync:%p,mode:%d\n",dpy,sync,mode);
402 return 0;
403 }
OH_surfaceAttrib(void * dpy,void * surface,int32_t attribute,int32_t value)404 uint32_t AppContext::OH_surfaceAttrib(void* dpy, void* surface, int32_t attribute, int32_t value)
405 {
406 printf("dpy:%p,surface:%p,attribute:%d,value:%d\n",dpy,surface,attribute,value);
407 return 0;
408 }
OH_swapBuffers(void * dpy,void * surface)409 uint32_t AppContext::OH_swapBuffers(void* dpy, void* surface)
410 {
411 printf("dpy:%p,surface:%p\n",dpy,surface);
412 return 0;
413 }
OH_swapBuffersWithDamageKHR(void * dpy,void * surface,int32_t * rects,int32_t n_rects)414 uint32_t AppContext::OH_swapBuffersWithDamageKHR(void* dpy, void* surface, int32_t *rects, int32_t n_rects)
415 {
416 printf("dpy:%p,surface:%p,rects:%p,n_rects:%d\n",dpy,surface,rects,n_rects);
417 return 0;
418 }
OH_swapInterval(void * dpy,int32_t interval)419 uint32_t AppContext::OH_swapInterval(void* dpy, int32_t interval)
420 {
421 printf("dpy:%p,interval:%d\n",dpy,interval);
422 return 0;
423 }
OH_terminate(void * dpy)424 uint32_t AppContext::OH_terminate(void* dpy)
425 {
426 printf("dpy:%p\n",dpy);
427 return 0;
428 }
OH_unlockSurfaceKHR(void * dpy,void * surface)429 uint32_t AppContext::OH_unlockSurfaceKHR(void* dpy, void* surface)
430 {
431 printf("dpy:%p,surface:%p\n",dpy,surface);
432 return 0;
433 }
OH_waitClient()434 uint32_t AppContext::OH_waitClient()
435 {
436 printf("OH_waitClient\n");
437 return 0;
438 }
OH_waitGL()439 uint32_t AppContext::OH_waitGL()
440 {
441 printf("OH_waitGL\n");
442 return 0;
443 }
OH_waitNative(int32_t engine)444 uint32_t AppContext::OH_waitNative(int32_t engine)
445 {
446 printf("engine:%d\n",engine);
447 return 0;
448 }
OH_waitSync(void * dpy,void * sync,int32_t flags)449 uint32_t AppContext::OH_waitSync(void* dpy, void* sync, int32_t flags)
450 {
451 printf("dpy:%p,sync:%p,flags:%d\n",dpy,sync,flags);
452 return 0;
453 }
OH_waitSyncKHR(void * dpy,void * sync,int32_t flags)454 int32_t AppContext::OH_waitSyncKHR(void* dpy, void* sync, int32_t flags)
455 {
456 printf("dpy:%p,sync:%p,flags:%d\n",dpy,sync,flags);
457 return 0;
458 }
459 }
460
main(int argc,char ** argv)461 int main(int argc, char **argv)
462 {
463 OHOS::AppContext appContext;
464 OHOS::OhosContextI::SetInstance((void *)&appContext);
465 // main1(argc, argv);
466 // 构造argc和argv
467 int32_t argCount = 1;
468 char *argArray[1] = {"glcts"};
469 // 调用main1函数
470 main1(argCount, argArray);
471 return 0;
472 }