Warning, /education/gcompris/src/activities/babymatch/DropAnswerItem.qml is written in an unsupported language. File is not indexed.
0001 /* gcompris - DropAnswerItem.qml
0002 *
0003 * SPDX-FileCopyrightText: 2015 Pulkit Gupta <pulkitgenius@gmail.com>
0004 *
0005 * Authors:
0006 * Pulkit Gupta <pulkitgenius@gmail.com>
0007 *
0008 * SPDX-License-Identifier: GPL-3.0-or-later
0009 */
0010 import QtQuick 2.12
0011 import GCompris 1.0
0012 import "babymatch.js" as Activity
0013
0014 Rectangle {
0015 id: dropCircle
0016
0017 property string dropCircleColor: currentTileImageItem ? 'transparent' : 'pink'
0018 property string text
0019 property double posX
0020 property double posY
0021 property string imgName
0022 property double xCenter: x + width / 2
0023 property double yCenter: y + height / 2
0024 property Item currentTileImageItem
0025
0026 width: parent.width >= parent.height ? parent.height/35 : parent.width/35
0027 height: width
0028 radius: width/2
0029 z: 200
0030
0031 border.width: 1
0032 color: Activity.displayDropCircle ? dropCircleColor : "transparent"
0033 border.color: dropCircle.color == "#000000" ? "transparent" : "red"
0034
0035 x: posX * parent.width - width/2
0036 y: posY * parent.height - height/2
0037
0038 // Display a shadow of image, when the image is hovered over a target area
0039 Image {
0040 id: targetImage
0041 fillMode: Image.PreserveAspectFit
0042 anchors.centerIn: parent
0043 z: -1
0044 }
0045
0046 function imageRemove() {
0047 if(currentTileImageItem)
0048 currentTileImageItem.imageRemove()
0049 currentTileImageItem = null
0050 }
0051
0052 function imageAdd(tileImageItem) {
0053 currentTileImageItem = tileImageItem
0054 dropCircle.color = dropCircleColor
0055 }
0056
0057 function show(tileImageItem) {
0058 if(Activity.displayDropCircle)
0059 dropCircle.color = "lightgreen"
0060
0061 targetImage.source = tileImageItem.source
0062 targetImage.width = tileImageItem.fullWidth
0063 targetImage.height = tileImageItem.fullHeight
0064 targetImage.sourceSize.width = tileImageItem.fullWidth
0065 targetImage.sourceSize.height = tileImageItem.fullHeight
0066 if(currentTileImageItem) {
0067 currentTileImageItem.opacity = 0
0068 }
0069 if (tileImageItem.parentIsTile) {
0070 targetImage.opacity = 1
0071 tileImageItem.opacity = 0.5
0072 dropCircle.z = 100
0073 }
0074 else
0075 targetImage.opacity = 0.5
0076 }
0077
0078 function hide() {
0079 dropCircle.color = Activity.displayDropCircle ? dropCircleColor : "transparent"
0080 targetImage.opacity = 0
0081 dropCircle.z = 200
0082 if(currentTileImageItem)
0083 currentTileImageItem.opacity = 1
0084 }
0085 }