File indexing completed on 2024-05-12 07:33:40
0001 /* GCompris - simplepaint.js 0002 * 0003 * SPDX-FileCopyrightText: 2014 Bruno Coudoin 0004 * 0005 * Authors: 0006 * Christof Petig and Ingo Konrad (GTK+ version) 0007 * Bruno Coudoin <bruno.coudoin@gcompris.net> (Qt Quick port) 0008 * 0009 * SPDX-License-Identifier: GPL-3.0-or-later 0010 */ 0011 .pragma library 0012 .import QtQuick 2.12 as Quick 0013 .import "qrc:/gcompris/src/core/core.js" as Core 0014 0015 var url = "qrc:/gcompris/src/activities/simplepaint/resource/" 0016 0017 var colorsSimple = [ 0018 '#00FFFFFF', 0019 '#FF550000', 0020 '#FFaa0000', 0021 '#FFffaaaa', 0022 '#FFffdd55', 0023 '#FF918a6f', 0024 '#FFccff00', 0025 '#FFe5ff80', 0026 '#FF330080', 0027 '#FF9955ff', 0028 '#FFe9afdd', 0029 '#FFff2a7f' 0030 ] 0031 0032 var colorsAdvanced = [ 0033 '#00FFFFFF', 0034 '#FF550000', 0035 '#FF800000', 0036 '#FFaa0000', 0037 '#FFd40000', 0038 '#FFff0000', 0039 '#FFff2a2a', 0040 '#FFff8080', 0041 '#FFffaaaa', 0042 '#FFffd5d5', 0043 '#FFc83737', 0044 '#FFd35f5f', 0045 '#FFde8787', 0046 '#FFaa4400', 0047 '#FFd45500', 0048 '#FFff7f2a', 0049 '#FFff9955', 0050 '#FFffccaa', 0051 '#FFaa8800', 0052 '#FFffcc00', 0053 '#FFffdd55', 0054 '#FFffe680', 0055 '#FFc8ab37', 0056 '#FFd3bc5f', 0057 '#FF918a6f', 0058 '#FFaca793', 0059 '#FFaad400', 0060 '#FFccff00', 0061 '#FFe5ff80', 0062 '#FFf6ffd5', 0063 '#FF00d455', 0064 '#FF80ffb3', 0065 '#FF00ffcc', 0066 '#FF80ffe6', 0067 '#FF2ad4ff', 0068 '#FFaaeeff', 0069 '#FF0066ff', 0070 '#FF5555ff', 0071 '#FF87aade', 0072 '#FF80b3ff', 0073 '#FF0000ff', 0074 '#FF330080', 0075 '#FF9955ff', 0076 '#FFdd55ff', 0077 '#FFff2ad4', 0078 '#FFe9afdd', 0079 '#FFff2a7f', 0080 '#FFff80b2', 0081 '#FFd35f8d' 0082 ] 0083 0084 var backgrounds = [ 0085 'qrc:/gcompris/src/activities/menu/resource/background.svg', 0086 'qrc:/gcompris/src/activities/colors/resource/background.svg', 0087 'qrc:/gcompris/src/activities/wordsgame/resource/background.svg', 0088 'qrc:/gcompris/src/activities/sudoku/resource/background.svg', 0089 'qrc:/gcompris/src/activities/mosaic/resource/background.svg', 0090 'qrc:/gcompris/src/activities/algebra_by/resource/background.svg', 0091 'qrc:/gcompris/src/activities/scalesboard/resource/background.svg', 0092 'qrc:/gcompris/src/activities/redraw/resource/background.svg', 0093 'qrc:/gcompris/src/activities/color_mix/resource/background.svg', 0094 'qrc:/gcompris/src/activities/missing-letter/resource/background.svg', 0095 'qrc:/gcompris/src/activities/enumerate/resource/background.svg', 0096 'qrc:/gcompris/src/activities/football/resource/background.svg', 0097 'qrc:/gcompris/src/activities/hanoi_real/resource/background.svg', 0098 'qrc:/gcompris/src/activities/gravity/resource/background.svg', 0099 'qrc:/gcompris/src/activities/instruments/resource/background.svg', 0100 'qrc:/gcompris/src/activities/gletters/resource/background.svg', 0101 'qrc:/gcompris/src/activities/braille_alphabets/resource/background.svg', 0102 'qrc:/gcompris/src/activities/followline/resource/background.svg', 0103 'qrc:/gcompris/src/activities/bargame/resource/background.svg', 0104 'qrc:/gcompris/src/activities/menu/resource/background.svg', 0105 'qrc:/gcompris/src/activities/smallnumbers2/resource/background.svg', 0106 'qrc:/gcompris/src/activities/align4_2players/resource/background.svg', 0107 'qrc:/gcompris/src/activities/smallnumbers/resource/background.svg', 0108 'qrc:/gcompris/src/activities/magic-hat-minus/resource/background.svg', 0109 'qrc:/gcompris/src/activities/tic_tac_toe/resource/background.svg', 0110 'qrc:/gcompris/src/activities/click_on_letter/resource/background.svg', 0111 'qrc:/gcompris/src/activities/fifteen/resource/background.svg', 0112 'qrc:/gcompris/src/activities/crane/resource/background.svg', 0113 'qrc:/gcompris/src/activities/hangman/resource/background.svg', 0114 'qrc:/gcompris/src/activities/land_safe/resource/background.svg', 0115 'qrc:/gcompris/src/activities/target/resource/target_background.svg', 0116 ] 0117 0118 var items 0119 0120 // The size of the array 0121 var nbx 0122 var nby 0123 0124 var numberOfLevel = backgrounds.length 0125 0126 var background 0127 0128 function start(items_, _background) { 0129 background = _background 0130 items = items_ 0131 Core.getInitialLevel(numberOfLevel); 0132 initLevel() 0133 } 0134 0135 function stop() { 0136 } 0137 0138 function initLevel() { 0139 items.paintModel.clear() 0140 items.current_color = 1 0141 items.selectedColor = items.colors[1] 0142 items.colorSelector.positionViewAtBeginning() 0143 nbx = 20 + items.currentLevel 0144 nby = Math.floor(nbx * (items.gridLayout.height / items.gridLayout.width)) 0145 background.refreshCursor() 0146 0147 var model = [] 0148 for(var ix = 0; ix < nbx; ++ix) { 0149 for(var iy = 0; iy < nby; ++iy) { 0150 items.paintModel.append( { 0151 "m_ix": ix, "m_iy": iy, "m_nbx": nbx, "m_nby": nby, 0152 } ) 0153 } 0154 } 0155 } 0156 0157 function nextLevel() { 0158 items.currentLevel = Core.getNextLevel(items.currentLevel, numberOfLevel); 0159 initLevel(); 0160 } 0161 0162 function previousLevel() { 0163 items.currentLevel = Core.getPreviousLevel(items.currentLevel, numberOfLevel); 0164 initLevel(); 0165 } 0166 0167 function getColor() { 0168 return items.selectedColor 0169 }