2 * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
4 * Licensed under the LGPL License, Version 2.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * https://www.gnu.org/licenses/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #ifndef EFL_BETA_API_SUPPORT
21 #define EFL_BETA_API_SUPPORT
24 #ifndef EFL_EO_API_SUPPORT
25 #define EFL_EO_API_SUPPORT
32 #include <Ecore_Evas.h>
33 #include <Ecore_Input.h>
38 typedef void (*appCb)(void *userData, void *extra);
42 EvasApp(int w, int h);
44 void resize(int w, int h);
45 int width() const{ return mw;}
46 int height() const{ return mh;}
48 Ecore_Evas * ee() const{return mEcoreEvas;}
49 Evas * evas() const {return mEvas;}
50 void addExitCb(appCb exitcb, void *data) {mExitCb = exitcb; mExitData = data;}
51 void addResizeCb(appCb resizecb, void *data) {mResizeCb = resizecb; mResizeData = data;}
52 void addKeyCb(appCb keycb, void *data) {mKeyCb = keycb; mKeyData = data;}
53 void addRenderPreCb(appCb renderPrecb, void *data) {mRenderPreCb = renderPrecb; mRenderPreData = data;}
54 void addRenderPostCb(appCb renderPostcb, void *data) {mRenderPostCb = renderPostcb; mRenderPostData = data;}
55 static std::vector<std::string> jsonFiles(const std::string &dir, bool recurse=false);
59 Ecore_Evas *mEcoreEvas;
61 Evas_Object *mBackground;
71 void *mRenderPostData;