void CardHostWindow::fullScreenEnabled(bool enabled) { g_message("Full screen %s", enabled ? "enabled" : "disabled"); HostBase::instance()->turboModeSubscription(enabled); if(!m_isIpcWindow || !m_channel) return; if (enabled) { AppDirectRenderingArbitrator::setLayerEnabled(this, true); m_channel->sendAsyncMessage(new View_FullScreenEnabled(m_data->key())); } else { SystemUiController::instance()->aboutToSendSyncMessage(); if(!m_channel->sendSyncMessage(new View_FullScreenDisabled(m_data->key()), kSyncCallTimeOutMs)){ g_critical("%s (%d): Synchronous call failed.", __PRETTY_FUNCTION__, __LINE__); } AppDirectRenderingArbitrator::setLayerEnabled(this, false); } if (enabled) { if (m_paused && m_winProps.hasPauseUi) { resumeCard(); } } else { if (!m_paused) { pauseCard(); } } }
void CardHostWindow::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) { event->accept(); if (!m_penInPlayButton) return; if (G_UNLIKELY(s_playButtonPixmap == 0)) return; int pw = s_playButtonPixmap->width(); int ph = s_playButtonPixmap->height() / 2; QRect rect(-pw/2, -ph/2, pw, ph); QPoint pos = event->pos().toPoint(); bool initial = m_penInPlayButton; #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) m_penInPlayButton = (rect.contains(pos) && !event->canceled()); #else m_penInPlayButton = (rect.contains(pos) && event->isAccepted()); #endif if (m_penInPlayButton) resumeCard(); m_penDownInPlayButton = false; m_penInPlayButton = false; }
void CardHostWindow::pause() { if (m_paused) return; pauseCard(); if (m_winProps.hasPauseUi) { resumeCard(); } }
void CardHostWindow::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { //painter->rotate(m_adjustmentAngle); CardWindow::paint(painter, option, widget); // Resume if needed on first draw after a display off. // this works in the scenario of pin lock/screen lock if (G_UNLIKELY(m_paused && m_pausedDueToDisplayOff && m_winProps.hasPauseUi)) { resumeCard(); } //painter->rotate(-m_adjustmentAngle); }
void CardHostWindow::focusEvent(bool enable) { if (m_focused == enable) return; if (!enable && !m_paused) { pauseCard(); } else if (enable && m_paused && m_winProps.hasPauseUi) { resumeCard(); } CardWindow::focusEvent(enable); }