summaryrefslogtreecommitdiffstats
path: root/libhomescreen
diff options
context:
space:
mode:
authorBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-11 10:49:52 +0100
committerBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-11 10:49:52 +0100
commit337319e30026b0bae453dc7363f27469fa2ab526 (patch)
tree6e6a50f7092a5b9941fa4b881211629ef2c2c9f7 /libhomescreen
parent0afa95451dbca6b9ef4e50d0c12a6ac17e68f87c (diff)
Add org.agl.homescreen function renderSurfaceToAreaAllowed.
This function can be used to request, if it is allowed to render a surface in a layout area in preparation of the real renderSurfaceToArea command. This call will not change anything, it is only a request. Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'libhomescreen')
-rw-r--r--libhomescreen/include/libhomescreen.hpp3
-rw-r--r--libhomescreen/src/libhomescreen.cpp21
2 files changed, 23 insertions, 1 deletions
diff --git a/libhomescreen/include/libhomescreen.hpp b/libhomescreen/include/libhomescreen.hpp
index f88b35f..6ec843f 100644
--- a/libhomescreen/include/libhomescreen.hpp
+++ b/libhomescreen/include/libhomescreen.hpp
@@ -26,10 +26,11 @@ public:
int getSurfaceStatus(int surfaceId);
void hardKeyPressed(int key);
void renderSurfaceToArea(int surfaceId, int layoutArea);
+ bool renderSurfaceToAreaAllowed(int surfaceId, int layoutArea);
void requestSurfaceIdToFullScreen(int surfaceId);
-
private:
LibHomeScreenHomescreen *mp_libHomeScreenHomescreen_Proxy;
};
#endif // LIBHOMESCREEN_HPP
+
diff --git a/libhomescreen/src/libhomescreen.cpp b/libhomescreen/src/libhomescreen.cpp
index 374cfe8..03c4baf 100644
--- a/libhomescreen/src/libhomescreen.cpp
+++ b/libhomescreen/src/libhomescreen.cpp
@@ -122,6 +122,27 @@ void LibHomeScreen::renderSurfaceToArea(int surfaceId, int layoutArea)
}
}
+bool LibHomeScreen::renderSurfaceToAreaAllowed(int surfaceId, int layoutArea)
+{
+ gboolean result = true;
+ GError *err = NULL;
+
+ lib_home_screen_homescreen_call_render_surface_to_area_allowed_sync(
+ mp_libHomeScreenHomescreen_Proxy,
+ surfaceId,
+ layoutArea,
+ &result,
+ NULL,
+ &err);
+
+ if (NULL != err)
+ {
+ fprintf(stderr, "Unable to call renderSurfaceToArea: %s\n", err->message);
+ }
+
+ return result;
+}
+
void LibHomeScreen::requestSurfaceIdToFullScreen(int surfaceId)
{
GError *err = NULL;