diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2017-09-29 21:00:25 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2017-10-02 17:07:46 +0900 |
commit | 381755e4686a08e766316aaf40e8fdfa202d48d4 (patch) | |
tree | 52cdc8421fec6f467f35489c04336c4e69a72727 /homescreen/src/layouthandler.cpp | |
parent | d32141ad4cdff0c53194b90c54dc92324cd0c31c (diff) |
Add homescreen-2017eel_4.99.1eel/4.99.14.99.1
Add new homescreen-2017 with agl-service-windowmanaeger-2017
and agl-service-homescreen-2017.
About this information see JIRA SPEC-871.
[PatchSet2]
Use aglwgt make package.
Delete homescreensimulator and sampleapptimedate beacuse not use them.
Change-Id: I402134d0386e76b2127ca95b9b0b48c1721b4086
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'homescreen/src/layouthandler.cpp')
-rw-r--r-- | homescreen/src/layouthandler.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/homescreen/src/layouthandler.cpp b/homescreen/src/layouthandler.cpp new file mode 100644 index 0000000..d16b5e7 --- /dev/null +++ b/homescreen/src/layouthandler.cpp @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <QDebug> +#include "layouthandler.h" + +#define HOMESCREEN "HomeScreen" + +LayoutHandler::LayoutHandler(QObject *parent) : + QObject(parent), + mp_wm(NULL) +{ + isActived = false; +} + +LayoutHandler::~LayoutHandler() +{ +} + +void LayoutHandler::init(int port, const char* token) +{ + if (mp_wm != NULL) exit(EXIT_FAILURE); + + mp_wm = new LibWindowmanager(); + + if (mp_wm->init(port, token) != 0) { + exit(EXIT_FAILURE); + } + + mp_wm->requestSurface(HOMESCREEN); + + mp_wm->set_event_handler(LibWindowmanager::Event_Active, [this](const char* label) { + this->isActived = true; + qDebug("Surface %s got activated!", label); + }); + + mp_wm->set_event_handler(LibWindowmanager::Event_Inactive, [this](const char* label) { + this->isActived = false; + qDebug("Surface %s got deactivated!", label); + }); + + mp_wm->set_event_handler(LibWindowmanager::Event_Visible, [](char const *label) { + qDebug("Surface %s got visibled!", label); + }); + + mp_wm->set_event_handler(LibWindowmanager::Event_Invisible, [](char const *label) { + qDebug("Surface %s got invisibled!", label); + }); + + mp_wm->set_event_handler(LibWindowmanager::Event_SyncDraw, [this](const char* label) { + qDebug("Surface %s got syncDraw!", label); + qDebug("Try to endDraw Surface %s Start!", label); + this->mp_wm->endDraw(HOMESCREEN); + qDebug("Try to endDraw Surface %s End!", label); + }); + + mp_wm->set_event_handler(LibWindowmanager::Event_FlushDraw, [](char const *label) { + qDebug("Surface %s got flushDraw!", label); + }); +} + +void LayoutHandler::activateSurface() +{ + mp_wm->activateSurface(HOMESCREEN); +} + +void LayoutHandler::slotActivateSurface() +{ + if(isActived) + return; + qDebug(__FUNCTION__); + this->activateSurface(); +} + +void LayoutHandler::slotHomeButton() +{ + qDebug(__FUNCTION__); + this->activateSurface(); +} |