aboutsummaryrefslogtreecommitdiffstats
path: root/SampleHomeScreenInterfaceApp
diff options
context:
space:
mode:
authorBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-03 20:23:10 +0100
committerBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-03 20:23:10 +0100
commitec688535558c31989e7da221b858328b2e0766c8 (patch)
tree4ca00a485bdb4ecd8aebe87398e324510400b4c0 /SampleHomeScreenInterfaceApp
parent6656309e1ddf27c3e62fe5d599bee2beeddcbff1 (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.cpp12
-rw-r--r--SampleHomeScreenInterfaceApp/src/sampleclass.cpp15
-rw-r--r--SampleHomeScreenInterfaceApp/src/sampleclass.hpp4
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;