/**************************************************************************** ** ** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** ** This file is part of the QtQuick Enterprise Controls Add-on. ** ** $QT_BEGIN_LICENSE$ ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. ** ** If you have questions regarding the use of this file, please use ** contact form at http://qt.digia.com ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.0 import QtQuick.Enterprise.Controls.Styles 1.0 Item { // This enum is actually keyboard-related, but it serves its purpose // as an indication of direction for us. property int direction: Qt.LeftArrow property bool on: false property bool flashing: false scale: direction === Qt.LeftArrow ? 1 : -1 Timer { id: flashTimer interval: 500 running: on repeat: true onTriggered: flashing = !flashing } function paintOutlinePath(ctx) { ctx.beginPath(); ctx.moveTo(0, height * 0.5); ctx.lineTo(0.6 * width, 0); ctx.lineTo(0.6 * width, height * 0.28); ctx.lineTo(width, height * 0.28); ctx.lineTo(width, height * 0.72); ctx.lineTo(0.6 * width, height * 0.72); ctx.lineTo(0.6 * width, height); ctx.lineTo(0, height * 0.5); } Canvas { id: backgroundCanvas anchors.fill: parent onPaint: { var ctx = getContext("2d"); ctx.reset(); paintOutlinePath(ctx); ctx.lineWidth = 1; ctx.strokeStyle = "black"; ctx.stroke(); // ctx.fillStyle = "#552222"; // ctx.fill(); } } Canvas { id: foregroundCanvas anchors.fill: parent visible: on && flashing onPaint: { var ctx = getContext("2d"); ctx.reset(); paintOutlinePath(ctx); ctx.fillStyle = "green"; ctx.fill(); } } }