diff --git a/src/activities/crane/Crane.qml b/src/activities/crane/Crane.qml index 95668c9ac..a5a8e4868 100755 --- a/src/activities/crane/Crane.qml +++ b/src/activities/crane/Crane.qml @@ -1,378 +1,390 @@ /* GCompris - Crane.qml * * Copyright (C) 2016 Stefan Toncu * * Authors: * (GTK+ version) * Stefan Toncu (Qt Quick port) * * This program 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. * * This program 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 this program; if not, see . */ import QtQuick 2.1 import "../../core" import "crane.js" as Activity /* TODOs 1. add grid for first levels 2. change images from png to svg */ ActivityBase { id: activity onStart: focus = true onStop: {} pageComponent: Rectangle { id: background anchors.fill: parent color: "white" signal start signal stop Component.onCompleted: { activity.start.connect(start) activity.stop.connect(stop) } // Add here the QML items you need to access in javascript QtObject { id: items property Item main: activity.main property alias background: background property alias bar: bar property alias bonus: bonus property alias board: board property alias grid: grid property alias repeater: repeater property alias modelRepeater: modelRepeater property int selected property int columns property int rows property bool ok: true property int sensivity: 80 property bool gameFinished: false } onStart: { Activity.start(items) } onStop: { Activity.stop() } property bool portrait: height > width ? true : false Keys.onPressed: { if (event.key === Qt.Key_Left) Activity.move("left") else if (event.key === Qt.Key_Right) Activity.move("right") else if (event.key === Qt.Key_Up) Activity.move("up") else if (event.key === Qt.Key_Down) Activity.move("down") else if (event.key === Qt.Key_Space || event.key === Qt.Key_Tab || event.key === Qt.Key_Enter || event.key === Qt.Key_Return) Activity.move("next") } //implementation of Swipe effect MouseArea { anchors.fill: parent property int startX; property int startY; onPressed: { startX = mouse.x; startY = mouse.y; } onReleased: Activity.gesture(mouse.x - startX, mouse.y - startY) } Rectangle { id: board color: "lightblue" radius: width * 0.02 z: 1 anchors { verticalCenter: crane_vertical.verticalCenter right: crane_vertical.left margins: 15 } width: background.portrait ? parent.width * 0.65 : ((parent.width - anchors.margins * 3 - crane_vertical.width) / 2 ) * 0.9 height: background.portrait ? (parent.height - bar.height * 1.45 - crane_top.height - crane_body.height ) / 2 : (parent.height - bar.height * 1.45 - crane_top.height - crane_body.height) * 0.9 } Grid { id: grid columns: items.columns rows: items.rows z: 3 anchors.fill: board Repeater { id: repeater Image { id: figure + sourceSize.height: board.height/3 + sourceSize.width: board.width/3 + width: board.width/items.columns height: board.height/items.rows property bool showSelected: false property alias selected: selected property alias anim: anim property alias opac: selected.opacity property int distance property int indexChange property int startPoint property string animationProperty property int _index: index // make current index accessible from outside SequentialAnimation { id: anim PropertyAction { target: items; property: "ok"; value: "false"} NumberAnimation { target: figure; property: figure.animationProperty; from: figure.startPoint; to: figure.startPoint + distance; duration: 200 } PropertyAction { target: figure; property: "opacity"; value: 0 } PropertyAction { target: selected; property: "opacity"; value: 0 } NumberAnimation { target: figure; property: figure.animationProperty; from: figure.startPoint + distance; to: figure.startPoint; duration: 0; } PropertyAction { target: figure; property: "opacity"; value: 1 } PropertyAction { target: items.repeater.itemAt(items.selected + indexChange); property: "source"; value: figure.source } PropertyAction { target: items.repeater.itemAt(items.selected + indexChange); property: "opac"; value: 1 } PropertyAction { target: figure; property: "source"; value: "" } PropertyAction { target: items; property: "ok"; value: "true"} ScriptAction { script: Activity.checkAnswer() } } MouseArea { anchors.fill: parent // Swipe effect property int startX; property int startY; onPressed: { startX = mouse.x; startY = mouse.y; } onReleased: Activity.gesture(mouse.x - startX, mouse.y - startY) // Select a figure with mouse/touch - onClicked: source != "" ? items.selected = index : undefined + onClicked: { + if (source != "") { + items.repeater.itemAt(items.selected).opac = 0 + items.selected = index + items.repeater.itemAt(items.selected).opac = 1 + } + } + } // selected marker Image { id: selected source: "resource/selected.png" width: parent.width height: parent.height opacity: 0 } } } } Rectangle { id: modelBoard color: "pink" radius: width * 0.02 anchors { left: background.portrait ? board.left : crane_vertical.right top: background.portrait ? crane_body.bottom : parent.top topMargin: background.portrait ? board.anchors.margins : crane_top.height * 1.5 margins: board.anchors.margins } width: board.width height: board.height Grid { id: modelGrid columns: items.columns rows: items.rows Repeater { id: modelRepeater Image { id: modelFigure + sourceSize.height: board.height/items.rows + sourceSize.width: board.width/items.columns width: board.width/items.columns height: board.height/items.rows } } } } Image { id: crane_top source: "resource/crane_up.svg" sourceSize.width: background.portrait ? background.width * 0.8 : background.width * 0.5 sourceSize.height: background.portrait ? background.height * 0.03 : background.height * 0.06 width: background.portrait ? background.width * 0.8 : background.width * 0.5 height: background.portrait ? background.height * 0.03 : background.height * 0.06 z: 3 anchors { top: parent.top right: crane_vertical.right rightMargin: 0 margins: board.anchors.margins } } Image { id: crane_vertical source: "resource/crane_vertical.svg" sourceSize.width: background.width * 0.04 sourceSize.height: background.height * 0.73 width: background.width * 0.05 height: background.portrait ? background.height * 0.45 : background.height * 0.73 anchors { top: crane_top.top right: background.portrait ? parent.right : parent.horizontalCenter rightMargin: background.portrait ? width / 2 : - width / 2 topMargin: board.anchors.margins } } Image { id: crane_body source: "resource/crane_only.svg" sourceSize.width: parent.width / 6 sourceSize.height: parent.height/ 4 anchors { top: crane_vertical.bottom topMargin: - (height / 1.8) right: crane_vertical.right margins: board.anchors.margins } } Image { id: crane_wire source: "resource/crane-wire.svg" sourceSize.width: parent.width / 22 sourceSize.height: parent.width / 17 anchors { right: crane_body.left bottom: crane_command.verticalCenter } } Image { id: crane_command source: "resource/command.svg" sourceSize.width: parent.width / 4 sourceSize.height: parent.height/ 3.5 mirror: true anchors { top: crane_body.top bottom: crane_body.bottom right: crane_wire.left rightMargin: 0 margins: board.anchors.margins } Controls { id: up source: "resource/arrow_up.svg" anchors { left: parent.left leftMargin: parent.width / 10 } command: "up" } Controls { id: down source: "resource/arrow_down.svg" anchors { left: up.right leftMargin: parent.width / 20 } command: "down" } Controls { id: left source: "resource/arrow_left.svg" anchors { right: right.left rightMargin: parent.width / 20 } command: "left" } Controls { id: right source: "resource/arrow_right.svg" anchors { right: parent.right rightMargin: parent.width / 10 } command: "right" } } Rectangle { id: cable color: "black" width: 5 height: convert.y x: convert.x + items.repeater.itemAt(items.selected).width / 2 y: crane_top.height/2 z: 1 property var convert: items.repeater.mapToItem(background,items.repeater.itemAt(items.selected).x,items.repeater.itemAt(items.selected).y) Behavior on x { NumberAnimation { duration: 200 } } Behavior on height { NumberAnimation { duration: 200 } } } DialogHelp { id: dialogHelp onClose: home() } Bar { id: bar content: BarEnumContent { value: help | home | level } onHelpClicked: { displayDialog(dialogHelp) } onPreviousLevelClicked: Activity.previousLevel() onNextLevelClicked: Activity.nextLevel() onHomeClicked: activity.home() } Bonus { id: bonus Component.onCompleted: win.connect(Activity.nextLevel) } } } diff --git a/src/activities/crane/crane.js b/src/activities/crane/crane.js index 4982de663..70bec2a44 100755 --- a/src/activities/crane/crane.js +++ b/src/activities/crane/crane.js @@ -1,246 +1,299 @@ /* GCompris - crane.js * * Copyright (C) 2016 Stefan Toncu * * Authors: * (GTK+ version) * Stefan Toncu (Qt Quick port) * * This program 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. * * This program 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 this program; if not, see . */ .pragma library .import QtQuick 2.0 as Quick .import "qrc:/gcompris/src/core/core.js" as Core var currentLevel = 0 -var numberOfLevel = 6 +var numberOfLevel = 10 var items var url = "qrc:/gcompris/src/activities/crane/resource/" -var howManyFigures = [4,5,6,7,7,7] -var allNames = ["bulb.png","letter-a.png","letter-b.png", - "rectangle1.png","rectangle2.png","square1.png", - "square2.png","triangle1.png","triangle2.png", +var howManyFigures = [3,3,3,4,5,5,6,7,8,9,10,11,12,13] +var allNames = ["bulb.png","letter-a.svg","letter-b.svg", + "rectangle1.svg","rectangle2.svg","square1.png", + "square2.png","triangle1.svg","triangle2.svg", "tux.png","water_drop1.png","water_drop2.png", "water_spot1.png","water_spot2.png"] +var words = ["cat","dog","win","good","happy"] var names = [] var names2 = [] - function start(items_) { items = items_ currentLevel = 0 initLevel() } function stop() { } function initLevel() { items.bar.level = currentLevel + 1 init() } -function init() { +function init() { items.columns = 7 items.rows = 6 items.gameFinished = false setRandomModel() //select the first item in the grid - for(var i = 0; i < allNames.length; i++) + for(var i = 0; i < items.repeater.count; i++) { if (items.repeater.itemAt(i).source != "") { items.selected = i break } + } //set opacity for first item's "selection frame" items.repeater.itemAt(items.selected).selected.opacity = 1 } function setRandomModel(){ - // randomize the names - Core.shuffle(allNames) - var numbers = [] - for (var i = 0; i < items.columns * items.rows; i++){ names[i] = "" // reset the board names2[i] = "" numbers[i] = i; // generate columns*rows numbers } - //get "howManyFigures[currentLevel]" random numbers - Core.shuffle(numbers) + if (currentLevel >= words.length) { + // randomize the names + Core.shuffle(allNames) + + //get "howManyFigures[currentLevel]" random numbers + Core.shuffle(numbers) - for (i = 0; i < howManyFigures[currentLevel]; i++) - names[numbers[i]] = url + allNames[i] + for (i = 0; i < howManyFigures[currentLevel]; i++) + names[numbers[i]] = url + allNames[i] - Core.shuffle(numbers) + Core.shuffle(numbers) - for (i = 0; i < howManyFigures[currentLevel]; i++) - names2[numbers[i]] = url + allNames[i] + for (i = 0; i < howManyFigures[currentLevel]; i++) + names2[numbers[i]] = url + allNames[i] + + } else { + + var model = setModel() + + for (i = 0; i < model.length; i++) { + if (model[i] != "") { + names[i] = model[i] + names2[i] = model[i] + } + } - //DEBUGGING - // print("names: ",names) - // print("names2: ",names2) + Core.shuffle(names) + } items.repeater.model = names.length items.modelRepeater.model = names2.length for (i = 0; i < names.length; i++) { items.repeater.itemAt(i).source = names[i] + items.repeater.itemAt(i).opac = 0 items.modelRepeater.itemAt(i).source = names2[i] } } +function setModel() { + var model = [] + for (var i = 0; i < items.columns * items.rows; i++){ + model[i] = "" + } + + var randomRow = Math.floor(Math.random() * items.rows) + var randomCol = Math.floor(Math.random() * items.columns) + + if (items.columns - randomCol - words[currentLevel].length < 0) + randomCol = randomCol - Math.abs(items.columns - randomCol - words[currentLevel].length) + + for (i=0; i 40 || Math.abs(deltay) > 40) { if (deltax > 30 && Math.abs(deltay) < items.sensivity) { move("right") } else if (deltax < -30 && Math.abs(deltay) < items.sensivity) { move("left") } else if (Math.abs(deltax) < items.sensivity && deltay > 30) { move("down") } else if (Math.abs(deltax) < items.sensivity && deltay < 30) { move("up") } } } //depeding on the command, make a move to left/right/up/down or select next item function move(command) { if (items.ok == true && items.gameFinished == false) { var item = items.repeater.itemAt(items.selected) if (command === "left") { if (items.selected % items.columns != 0) makeMove(item,-item.width,item.x,-1,"x") } else if (command === "right") { if ((items.selected+1) % items.columns != 0) makeMove(item,item.width,item.x,1,"x") } else if (command === "up") { if (items.selected > items.columns-1) makeMove(item,-item.height,item.y,-items.columns,"y") } else if (command === "down") { if (items.selected < (items.repeater.count-items.columns)) makeMove(item,item.height,item.y,items.columns,"y") } else if (command === "next") { items.repeater.itemAt(items.selected).selected.opacity = 0 - items.selected = getNextIndex(items.repeater.itemAt(items.selected).source) + items.selected = (currentLevel < words.length) ? getNextIndex1(items.selected) : getNextIndex(items.repeater.itemAt(items.selected).source) items.repeater.itemAt(items.selected).selected.opacity = 1 } } } //set the environment for making a move and start the animation function makeMove(item,distance,startPoint,add,animationProperty) { if (items.repeater.itemAt(items.selected+add).source == "") { //setup the animation item.distance = distance item.indexChange = add item.startPoint = startPoint item.animationProperty = animationProperty //start the animation item.anim.start() //update the selected item items.selected += add; } } //check the answer; advance to next level if the answer is good function checkAnswer() { var count = 0 for (var i = 0; i < items.repeater.count; i++) { if (items.repeater.itemAt(i).source != items.modelRepeater.itemAt(i).source){ count = -1 } } if (count == 0) { items.bonus.good("flower") items.gameFinished = true } } function nextLevel() { if(numberOfLevel <= ++currentLevel ) { currentLevel = 0 } initLevel(); } function previousLevel() { if(--currentLevel < 0) { currentLevel = numberOfLevel - 1 } initLevel(); } diff --git a/src/activities/crane/resource/Letters/a.svg b/src/activities/crane/resource/Letters/a.svg new file mode 100644 index 000000000..1d04a2602 --- /dev/null +++ b/src/activities/crane/resource/Letters/a.svg @@ -0,0 +1,292 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/b.svg b/src/activities/crane/resource/Letters/b.svg new file mode 100644 index 000000000..c9c262ff1 --- /dev/null +++ b/src/activities/crane/resource/Letters/b.svg @@ -0,0 +1,288 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/c.svg b/src/activities/crane/resource/Letters/c.svg new file mode 100644 index 000000000..2780775c9 --- /dev/null +++ b/src/activities/crane/resource/Letters/c.svg @@ -0,0 +1,308 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/d.svg b/src/activities/crane/resource/Letters/d.svg new file mode 100644 index 000000000..0254a4ced --- /dev/null +++ b/src/activities/crane/resource/Letters/d.svg @@ -0,0 +1,264 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/e.svg b/src/activities/crane/resource/Letters/e.svg new file mode 100644 index 000000000..39bbaba17 --- /dev/null +++ b/src/activities/crane/resource/Letters/e.svg @@ -0,0 +1,296 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/f.svg b/src/activities/crane/resource/Letters/f.svg new file mode 100644 index 000000000..c3c415d44 --- /dev/null +++ b/src/activities/crane/resource/Letters/f.svg @@ -0,0 +1,276 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/g.svg b/src/activities/crane/resource/Letters/g.svg new file mode 100644 index 000000000..a73778d44 --- /dev/null +++ b/src/activities/crane/resource/Letters/g.svg @@ -0,0 +1,364 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/h.svg b/src/activities/crane/resource/Letters/h.svg new file mode 100644 index 000000000..08e2adc37 --- /dev/null +++ b/src/activities/crane/resource/Letters/h.svg @@ -0,0 +1,336 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/i.svg b/src/activities/crane/resource/Letters/i.svg new file mode 100644 index 000000000..737ca1ff2 --- /dev/null +++ b/src/activities/crane/resource/Letters/i.svg @@ -0,0 +1,232 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/j.svg b/src/activities/crane/resource/Letters/j.svg new file mode 100644 index 000000000..1ef2c7b77 --- /dev/null +++ b/src/activities/crane/resource/Letters/j.svg @@ -0,0 +1,268 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/k.svg b/src/activities/crane/resource/Letters/k.svg new file mode 100644 index 000000000..5bb6ccab8 --- /dev/null +++ b/src/activities/crane/resource/Letters/k.svg @@ -0,0 +1,290 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/l.svg b/src/activities/crane/resource/Letters/l.svg new file mode 100644 index 000000000..9bc627518 --- /dev/null +++ b/src/activities/crane/resource/Letters/l.svg @@ -0,0 +1,258 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/m.svg b/src/activities/crane/resource/Letters/m.svg new file mode 100644 index 000000000..1421237b9 --- /dev/null +++ b/src/activities/crane/resource/Letters/m.svg @@ -0,0 +1,360 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/n.svg b/src/activities/crane/resource/Letters/n.svg new file mode 100644 index 000000000..29a183226 --- /dev/null +++ b/src/activities/crane/resource/Letters/n.svg @@ -0,0 +1,226 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/o.svg b/src/activities/crane/resource/Letters/o.svg new file mode 100644 index 000000000..d0e4490f2 --- /dev/null +++ b/src/activities/crane/resource/Letters/o.svg @@ -0,0 +1,206 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/p.svg b/src/activities/crane/resource/Letters/p.svg new file mode 100644 index 000000000..9a983e467 --- /dev/null +++ b/src/activities/crane/resource/Letters/p.svg @@ -0,0 +1,198 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/q.svg b/src/activities/crane/resource/Letters/q.svg new file mode 100644 index 000000000..796216b32 --- /dev/null +++ b/src/activities/crane/resource/Letters/q.svg @@ -0,0 +1,262 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/r.svg b/src/activities/crane/resource/Letters/r.svg new file mode 100644 index 000000000..e31428df7 --- /dev/null +++ b/src/activities/crane/resource/Letters/r.svg @@ -0,0 +1,306 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/s.svg b/src/activities/crane/resource/Letters/s.svg new file mode 100644 index 000000000..8c908b42f --- /dev/null +++ b/src/activities/crane/resource/Letters/s.svg @@ -0,0 +1,306 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/t.svg b/src/activities/crane/resource/Letters/t.svg new file mode 100644 index 000000000..554ec35b0 --- /dev/null +++ b/src/activities/crane/resource/Letters/t.svg @@ -0,0 +1,270 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/u.svg b/src/activities/crane/resource/Letters/u.svg new file mode 100644 index 000000000..22dd58f27 --- /dev/null +++ b/src/activities/crane/resource/Letters/u.svg @@ -0,0 +1,270 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/v.svg b/src/activities/crane/resource/Letters/v.svg new file mode 100644 index 000000000..6e29edcd1 --- /dev/null +++ b/src/activities/crane/resource/Letters/v.svg @@ -0,0 +1,174 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/w.svg b/src/activities/crane/resource/Letters/w.svg new file mode 100644 index 000000000..cbfe5b788 --- /dev/null +++ b/src/activities/crane/resource/Letters/w.svg @@ -0,0 +1,278 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/x.svg b/src/activities/crane/resource/Letters/x.svg new file mode 100644 index 000000000..02f6d26b5 --- /dev/null +++ b/src/activities/crane/resource/Letters/x.svg @@ -0,0 +1,311 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/y.svg b/src/activities/crane/resource/Letters/y.svg new file mode 100644 index 000000000..5cf9c4989 --- /dev/null +++ b/src/activities/crane/resource/Letters/y.svg @@ -0,0 +1,250 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/Letters/z.svg b/src/activities/crane/resource/Letters/z.svg new file mode 100644 index 000000000..b240f9a2f --- /dev/null +++ b/src/activities/crane/resource/Letters/z.svg @@ -0,0 +1,267 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/bulb1.svg b/src/activities/crane/resource/bulb1.svg new file mode 100644 index 000000000..d575cbe9f --- /dev/null +++ b/src/activities/crane/resource/bulb1.svg @@ -0,0 +1,582 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + light bulb + 2012-01-22T07:48:24 + a not shining light bulb + https://openclipart.org/detail/167309/light-bulb-by-frankes + + + frankes + + + + + birne + bulb + glühbirne + leuchte + licht + light + + + + + + + + + + + diff --git a/src/activities/crane/resource/bulb2.svg b/src/activities/crane/resource/bulb2.svg new file mode 100644 index 000000000..2bdd6564c --- /dev/null +++ b/src/activities/crane/resource/bulb2.svg @@ -0,0 +1,336 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + + + + + + + + + + + Clipart by Nicu Buculei - nosmoke + + + Nicu Buculei + + + + + + + + + + + + + diff --git a/src/activities/crane/resource/letter-a.png b/src/activities/crane/resource/letter-a.png deleted file mode 100755 index 4850047ea..000000000 Binary files a/src/activities/crane/resource/letter-a.png and /dev/null differ diff --git a/src/activities/crane/resource/letter-a.svg b/src/activities/crane/resource/letter-a.svg new file mode 100644 index 000000000..1d04a2602 --- /dev/null +++ b/src/activities/crane/resource/letter-a.svg @@ -0,0 +1,292 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/letter-b.png b/src/activities/crane/resource/letter-b.png deleted file mode 100755 index 630bca81c..000000000 Binary files a/src/activities/crane/resource/letter-b.png and /dev/null differ diff --git a/src/activities/crane/resource/letter-b.svg b/src/activities/crane/resource/letter-b.svg new file mode 100644 index 000000000..c9c262ff1 --- /dev/null +++ b/src/activities/crane/resource/letter-b.svg @@ -0,0 +1,288 @@ + +image/svg+xml \ No newline at end of file diff --git a/src/activities/crane/resource/readme b/src/activities/crane/resource/readme new file mode 100644 index 000000000..531092636 --- /dev/null +++ b/src/activities/crane/resource/readme @@ -0,0 +1,8 @@ +triangle: https://openclipart.org/detail/3199/orange-triangle +bulb1: https://openclipart.org/detail/167309/light-bulb +bulb2: https://openclipart.org/detail/22067/light-bulb +water drop1: +water drop2: https://openclipart.org/detail/4063/water-drop +water drop3: https://openclipart.org/detail/237/water-drop +water drop4: https://openclipart.org/detail/26775/drop + diff --git a/src/activities/crane/resource/rectangle1.png b/src/activities/crane/resource/rectangle1.png deleted file mode 100755 index d3abc82a0..000000000 Binary files a/src/activities/crane/resource/rectangle1.png and /dev/null differ diff --git a/src/activities/crane/resource/rectangle1.svg b/src/activities/crane/resource/rectangle1.svg new file mode 100644 index 000000000..f6a832ed4 --- /dev/null +++ b/src/activities/crane/resource/rectangle1.svg @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xmlOpenclipartCustom color round square button2011-10-20T12:29:43I see you liked my last button so, here it another one for you. +\nA glossy round corners square button for you to use any way you wish. +\nI won't be uploading a multicolor preview for this button but you are still able to customize it to fit your project. +\nI won't remind you that as a vector graphic you can resize it, but it is good to know that it will look good on any sizes. *thinking* +\nAnyway, you can customize the color of the button, you only need to go to Base color layer, select the object there and thats it. +\nThats it for today, enjoy the graphics in here and get some good use to them. +\nBy the way, if you're still here, leave a comment and if you use the button I will like to know where, maybe it will get me some hints for other great vector graphics for you. +\n +\nP.S. I forgot. Share this with your friends too. +\nhttps://openclipart.org/detail/164215/custom-color-round-square-button-by-theboxmeistertheboxmeisterbuttoncolorcolorscustomcustomizeglossyiconroundsquare + + image/svg+xml + + + + + + diff --git a/src/activities/crane/resource/rectangle2.png b/src/activities/crane/resource/rectangle2.png deleted file mode 100755 index 89b18aaa1..000000000 Binary files a/src/activities/crane/resource/rectangle2.png and /dev/null differ diff --git a/src/activities/crane/resource/rectangle2.svg b/src/activities/crane/resource/rectangle2.svg new file mode 100644 index 000000000..2b3c140f7 --- /dev/null +++ b/src/activities/crane/resource/rectangle2.svg @@ -0,0 +1,581 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Big Preview + + image/svg+xmlOpenclipartCustom color round square button2011-10-20T12:29:43I see you liked my last button so, here it another one for you. +\nA glossy round corners square button for you to use any way you wish. +\nI won't be uploading a multicolor preview for this button but you are still able to customize it to fit your project. +\nI won't remind you that as a vector graphic you can resize it, but it is good to know that it will look good on any sizes. *thinking* +\nAnyway, you can customize the color of the button, you only need to go to Base color layer, select the object there and thats it. +\nThats it for today, enjoy the graphics in here and get some good use to them. +\nBy the way, if you're still here, leave a comment and if you use the button I will like to know where, maybe it will get me some hints for other great vector graphics for you. +\n +\nP.S. I forgot. Share this with your friends too. +\nhttps://openclipart.org/detail/164215/custom-color-round-square-button-by-theboxmeistertheboxmeisterbuttoncolorcolorscustomcustomizeglossyiconroundsquare + + image/svg+xml + + + + + + diff --git a/src/activities/crane/resource/triangle1.png b/src/activities/crane/resource/triangle1.png deleted file mode 100755 index c047d79b8..000000000 Binary files a/src/activities/crane/resource/triangle1.png and /dev/null differ diff --git a/src/activities/crane/resource/triangle1.svg b/src/activities/crane/resource/triangle1.svg new file mode 100644 index 000000000..8cd7bd13f --- /dev/null +++ b/src/activities/crane/resource/triangle1.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + 2007-02-13T16:42:40 + An orange triangle + https://openclipart.org/detail/3199/orange-triangle-by-nlyl + + + nlyl + + + + + orange + shape + triangle + + + + + + + + + + + diff --git a/src/activities/crane/resource/triangle2.png b/src/activities/crane/resource/triangle2.png deleted file mode 100755 index 6f10adc70..000000000 Binary files a/src/activities/crane/resource/triangle2.png and /dev/null differ diff --git a/src/activities/crane/resource/triangle2.svg b/src/activities/crane/resource/triangle2.svg new file mode 100644 index 000000000..a3958a9fc --- /dev/null +++ b/src/activities/crane/resource/triangle2.svg @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + orange triangle + 2007-02-13T16:42:40 + An orange triangle + https://openclipart.org/detail/3199/orange-triangle-by-nlyl + + + nlyl + + + + + orange + shape + triangle + + + + + + + + + + + diff --git a/src/activities/crane/resource/water_drop1.svg b/src/activities/crane/resource/water_drop1.svg new file mode 100644 index 000000000..f568f1873 --- /dev/null +++ b/src/activities/crane/resource/water_drop1.svg @@ -0,0 +1,92 @@ + + + + + + + +image/svg+xmlOpenclipartWater Droplet2013-03-06T11:57:45A water droplet.https://openclipart.org/detail/175574/water-droplet-by-jgm104-175574jgm104bluedropdropletfluidliquidwater diff --git a/src/activities/crane/resource/water_drop2.svg b/src/activities/crane/resource/water_drop2.svg new file mode 100644 index 000000000..2b3eb0cc9 --- /dev/null +++ b/src/activities/crane/resource/water_drop2.svg @@ -0,0 +1,221 @@ + + + + Drop + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + Drop + 2009-06-23T19:00:38 + A simple all-purpose water drop + https://openclipart.org/detail/26775/drop-by-raemi + + + raemi + + + + + colour + drop + rain + symbol + water + + + + + + + + + + + diff --git a/src/activities/crane/resource/water_drop3.svg b/src/activities/crane/resource/water_drop3.svg new file mode 100644 index 000000000..614ccd9cc --- /dev/null +++ b/src/activities/crane/resource/water_drop3.svg @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + Water Drop + 2007-04-23T19:05:17 + A nice water drop. I made it because I couldn't find any that I liked, much less in SVG format. It uses Inkscape 0.45's blur filter. + https://openclipart.org/detail/4063/water-drop-by-lagartoflojo + + + lagartoflojo + + + + + drop + h2o + nature + water + waterdrop + + + + + + + + + + + diff --git a/src/activities/crane/resource/water_drop4.svg b/src/activities/crane/resource/water_drop4.svg new file mode 100644 index 000000000..e83daa260 --- /dev/null +++ b/src/activities/crane/resource/water_drop4.svg @@ -0,0 +1,517 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + Set of water drops + 2008-11-28T10:45:32 + + https://openclipart.org/detail/20448/set-of-water-drops-by-rg1024 + + + rg1024 + + + + + cartoon + color + drop + liquid + water + + + + + + + + + + + diff --git a/src/activities/crane/resource/water_drop5.svg b/src/activities/crane/resource/water_drop5.svg new file mode 100644 index 000000000..d0331ee56 --- /dev/null +++ b/src/activities/crane/resource/water_drop5.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + water drop + 2006-09-30T05:26:46 + drop, blue, water \nDone in Skencil. + https://openclipart.org/detail/237/water-drop-by-tomas_arad + + + tomas_arad + + + + + blue + drop + no contour + remix problem + water + + + + + + + + + + +