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 }