Example #1
0
/** 改变视口大小
*/
bool MinimapEyeshot::ViewportSizeChanged(int nMultiple)
{
	int nViewWidth = m_Eyeshot.getViewWidth();
	int nViewHeight = m_Eyeshot.getViewHeight();
	nViewWidth += MINMAP_VIEW_CHANGE_SIZE * nMultiple;
	nViewHeight += MINMAP_VIEW_CHANGE_SIZE * nMultiple;
	return onViewportSizeChanged(nViewWidth,nViewHeight);
}
void QAndroidCameraFocusControl::onCameraOpened()
{
    connect(m_session->camera(), SIGNAL(previewSizeChanged()),
            this, SLOT(onViewportSizeChanged()));
    connect(m_session->camera(), SIGNAL(autoFocusStarted()),
            this, SLOT(onAutoFocusStarted()));
    connect(m_session->camera(), SIGNAL(autoFocusComplete(bool)),
            this, SLOT(onAutoFocusComplete(bool)));

    m_supportedFocusModes.clear();
    m_continuousPictureFocusSupported = false;
    m_continuousVideoFocusSupported = false;

    m_focusPointMode = QCameraFocus::FocusPointAuto;
    m_actualFocusPoint = QPointF(0.5, 0.5);
    m_customFocusPoint = QPointF();
    m_supportedFocusPointModes.clear();
    m_focusZones.clear();

    QStringList focusModes = m_session->camera()->getSupportedFocusModes();
    for (int i = 0; i < focusModes.size(); ++i) {
        const QString &focusMode = focusModes.at(i);
        if (focusMode == QLatin1String("auto")) {
            m_supportedFocusModes << QCameraFocus::AutoFocus;
        } else if (focusMode == QLatin1String("continuous-picture")) {
            m_supportedFocusModes << QCameraFocus::ContinuousFocus;
            m_continuousPictureFocusSupported = true;
        } else if (focusMode == QLatin1String("continuous-video")) {
            m_supportedFocusModes << QCameraFocus::ContinuousFocus;
            m_continuousVideoFocusSupported = true;
        } else if (focusMode == QLatin1String("edof")) {
            m_supportedFocusModes << QCameraFocus::HyperfocalFocus;
        } else if (focusMode == QLatin1String("fixed")) {
            m_supportedFocusModes << QCameraFocus::ManualFocus;
        } else if (focusMode == QLatin1String("infinity")) {
            m_supportedFocusModes << QCameraFocus::InfinityFocus;
        } else if (focusMode == QLatin1String("macro")) {
            m_supportedFocusModes << QCameraFocus::MacroFocus;
        }
    }

    m_supportedFocusPointModes << QCameraFocus::FocusPointAuto;
    if (m_session->camera()->getMaxNumFocusAreas() > 0)
        m_supportedFocusPointModes << QCameraFocus::FocusPointCenter << QCameraFocus::FocusPointCustom;

    emit focusModeChanged(focusMode());
    emit focusPointModeChanged(m_focusPointMode);
    emit customFocusPointChanged(m_customFocusPoint);
    emit focusZonesChanged();
}