Skip to content
VideoTitle.qml 2.54 KiB
Newer Older
/*
    This file is part of Gabriel's Qt/QML CardBoard Sample (or short GQQCS)

    GQQCS is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    GQQCS is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Foobar.  If not, see <http://www.gnu.org/licenses/>.

    Updated: 07/08/2015 by: Gabriel F.
*/

import QtQuick 2.4

Item {
    id: root
    anchors.fill: parent
    visible: false
    opacity: 0.0

    property string titulo: ""
    property var fadeInEndCallback: function()  {   }
    property var fadeOutEndCallback: function() {   }

    NumberAnimation {
        id: fadeIn
        target: root
        property: "opacity"
        duration: 1000
        easing.type: Easing.InOutQuad
        to: 1.0

        onStarted: { root.visible = true }
        onStopped: { fadeInEndCallback() }
    }

    NumberAnimation {
        id: fadeOut
        target: root
        property: "opacity"
        duration: 1000
        easing.type: Easing.InOutQuad
        to: 0.0

        onStopped: {
            root.visible = false
            fadeOutEndCallback()
        }
    }

    function show() { fadeIn.start() }
    function hide() { fadeOut.start() }



    Rectangle {
        anchors.fill: parent
        color: "black"
    }

    Item {
        width: stereo ? parent.width*0.5 : parent.width
        height: parent.height
        anchors.top: parent.top
        anchors.left: parent.left

        Text {
            anchors.centerIn: parent
            text: titulo
            horizontalAlignment: Text.AlignHCenter
            width: parent.width*0.9
            wrapMode: Text.WordWrap
            font.pixelSize: parent.width*0.06
            color: "white"
        }
    }

    Item {
        visible: stereo
        width: parent.width*0.5
        height: parent.height
        anchors.top: parent.top
        anchors.right: parent.right

        Text {
            anchors.centerIn: parent
            text: titulo
            horizontalAlignment: Text.AlignHCenter
            width: parent.width*0.9
            wrapMode: Text.WordWrap
            font.pixelSize: parent.width*0.06
            color: "white"
        }
    }
}