diff options
author | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-11-03 20:23:10 +0100 |
---|---|---|
committer | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-11-03 20:23:10 +0100 |
commit | ec688535558c31989e7da221b858328b2e0766c8 (patch) | |
tree | 4ca00a485bdb4ecd8aebe87398e324510400b4c0 /SampleHomeScreenInterfaceApp | |
parent | 6656309e1ddf27c3e62fe5d599bee2beeddcbff1 (diff) |
New concept of dynamically placing surfaces in static defined layout areas.v0.4.0
This is useful if an application wants to render more than one surface.
By default, one surface is placed in one layout render area. With the new homescreen.xml
introspection, apps can place their surfaces as they wish (limited to the boundries
of the assigned layou render area!).
The functionality is not fully implemented, but the shared lib already provides the interface.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'SampleHomeScreenInterfaceApp')
-rw-r--r-- | SampleHomeScreenInterfaceApp/src/main.cpp | 12 | ||||
-rw-r--r-- | SampleHomeScreenInterfaceApp/src/sampleclass.cpp | 15 | ||||
-rw-r--r-- | SampleHomeScreenInterfaceApp/src/sampleclass.hpp | 4 |
3 files changed, 28 insertions, 3 deletions
diff --git a/SampleHomeScreenInterfaceApp/src/main.cpp b/SampleHomeScreenInterfaceApp/src/main.cpp index 1e83d80..b9b3efa 100644 --- a/SampleHomeScreenInterfaceApp/src/main.cpp +++ b/SampleHomeScreenInterfaceApp/src/main.cpp @@ -6,13 +6,25 @@ using namespace std; int main() { cout << "SampleHomeScreenInterfaceApp" << endl; + cout << "v0.4.0" << endl; SampleClass *sampleClass = new SampleClass(); + //sRectangle test = sampleClass->getLayoutRenderAreaForSurfaceId(1); + sampleClass->hardKeyPressed(100); sampleClass->hardKeyPressed(101); sampleClass->hardKeyPressed(102); + /*sRectangle renderArea; + renderArea.x = 0; + renderArea.y = 1; + renderArea.width = 12; + renderArea.height = 13; + sampleClass->renderSurfaceToArea(1, renderArea);*/ + + //sampleClass->requestSurfaceIdToFullScreen(1); + delete sampleClass; return 0; diff --git a/SampleHomeScreenInterfaceApp/src/sampleclass.cpp b/SampleHomeScreenInterfaceApp/src/sampleclass.cpp index 0d373d1..6a46f2b 100644 --- a/SampleHomeScreenInterfaceApp/src/sampleclass.cpp +++ b/SampleHomeScreenInterfaceApp/src/sampleclass.cpp @@ -11,12 +11,23 @@ SampleClass::~SampleClass() delete mp_libHomeScreen; } + +sRectangle SampleClass::getLayoutRenderAreaForSurfaceId(int surfaceId) +{ + mp_libHomeScreen->getLayoutRenderAreaForSurfaceId(surfaceId); +} + void SampleClass::hardKeyPressed(int key) { mp_libHomeScreen->hardKeyPressed(key); } -void SampleClass::toggleFullScreen() +void SampleClass::renderSurfaceToArea(int surfaceId, const sRectangle &renderArea) +{ + mp_libHomeScreen->renderSurfaceToArea(surfaceId, renderArea); +} + +void SampleClass::requestSurfaceIdToFullScreen(int surfaceId) { - mp_libHomeScreen->toggleFullScreen(); + mp_libHomeScreen->requestSurfaceIdToFullScreen(surfaceId); } diff --git a/SampleHomeScreenInterfaceApp/src/sampleclass.hpp b/SampleHomeScreenInterfaceApp/src/sampleclass.hpp index aa5f376..acffcf6 100644 --- a/SampleHomeScreenInterfaceApp/src/sampleclass.hpp +++ b/SampleHomeScreenInterfaceApp/src/sampleclass.hpp @@ -9,8 +9,10 @@ public: SampleClass(); ~SampleClass(); + sRectangle getLayoutRenderAreaForSurfaceId(int surfaceId); void hardKeyPressed(int key); - void toggleFullScreen(); + void renderSurfaceToArea(int surfaceId, const sRectangle &renderArea); + void requestSurfaceIdToFullScreen(int surfaceId); private: LibHomeScreen *mp_libHomeScreen; |