Fonctions de toile
La classe Canvas est utilisée pour présenter des stimuli visuels. Vous créez généralement un objet Canvas avec la fonction de fabrique Canvas(). Comme Canvas() est une fonction, vous n'avez pas besoin d'utiliser new lors de son appel.
La classe JavaScript Canvas imite la classe Python Canvas correspondante.
Les mots-clés de style peuvent être passés à toutes les fonctions qui acceptent styleArgs.
Les mots-clés de style peuvent également être définis comme propriétés de l'objet Canvas. Pour un
aperçu des mots-clés de style, voir la documentation Python Canvas.
Important : JavaScript ne prend pas en charge les paramètres nommés (ou : les mots-clés).
Par conséquent, les paramètres sont passés via un Object avec des propriétés nommées et
des valeurs par défaut. Comme ceci :
var myCanvas = Canvas()
// (correct) passez des paramètres comme un Object ...
myCanvas.fixdot({color: 'red'})
// (incorrect) ... et *non* comme des paramètres nommés
// myCanvas.fixdot(color='red')
myCanvas.show()
Canvas.arrow(obj)
Dessine une flèche. Une flèche est un polygone composé de 7 sommets, avec une pointe de flèche pointant vers (ex, ey).
| Param | Type | Default | 
|---|---|---|
| obj | Object | |
| obj.sx | Number | 0 | 
| obj.sy | Number | 0 | 
| obj.ex | Number | 50 | 
| obj.ey | Number | 0 | 
| obj.body_length | Number | 0.8 | 
| obj.body_width | Number | 0.5 | 
| obj.head_width | Number | 30 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
var w = vars.width / 2
var h = vars.height / 2
// Important : les paramètres sont passés comme un Object
myCanvas.arrow({sx: 0, sy: 0, w: w, h: h, head_width:100, body_length:0.5})
Canvas.clear([styleArgs])
Efface le canevas avec la couleur d'arrière-plan actuelle. Notez qu'il est généralement plus rapide d'utiliser un canevas différent pour chaque affichage expérimental plutôt que d'utiliser un seul canevas et de le effacer et le redessiner à plusieurs reprises.
| Param | Type | Default | 
|---|---|---|
| [styleArgs] | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.fixdot({color: 'green'})
myCanvas.show()
// faire quelque chose
myCanvas.clear()
myCanvas.fixdot({color: 'red'})
myCanvas.show()
Canvas.circle(obj)
Dessine un cercle.
| Param | Type | Default | 
|---|---|---|
| obj | Object | |
| obj.x | Number | 0 | 
| obj.y | Number | 0 | 
| obj.r | Number | 50 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.circle({x: 100, y: 100, r: 50, fill: true, color:'red'})
Canvas.ellipse(obj)
Dessine une ellipse.
| Param | Type | Default | 
|---|---|---|
| obj | Object | |
| obj.x | Number | -50 | 
| obj.y | Number | -25 | 
| obj.w | Number | 100 | 
| obj.h | Number | 50 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.ellipse({x: -10, y: -10, w: 20, h: 20, fill:true})
Canvas.fixdot(obj)
Dessine un point de fixation. Le style par défaut est moyen-ouvert.
- 'large-filled' est un cercle rempli avec un rayon de 16px.
- 'medium-filled' est un cercle rempli avec un rayon de 8px.
- 'small-filled' est un cercle rempli avec un rayon de 4px.
- 'large-open' est un cercle rempli avec un rayon de 16px et un trou de 2px.
- 'medium-open' est un cercle rempli avec un rayon de 8px et un trou de 2px.
- 'small-open' est un cercle rempli avec un rayon de 4px et un trou de 2px.
- 'large-cross' est une croix de 16px.
- 'medium-cross' est une croix de 8px.
- 'small-cross' est une croix de 4px.
| Param | Type | Par défaut | 
|---|---|---|
| obj | Object | |
| obj.x | Number | 0 | 
| obj.y | Number | 0 | 
| obj.style | String | 'default' | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.fixdot()
Canvas.gabor(obj)
Dessine un patch Gabor.
| Param | Type | Par défaut | 
|---|---|---|
| obj | Object | |
| obj.x | Number | 0 | 
| obj.y | Number | 0 | 
| obj.orient | Number | 0 | 
| obj.freq | Number | .1 | 
| obj.env | String | 'gaussian' | 
| obj.size | Number | 96 | 
| obj.stdev | Number | 12 | 
| obj.phase | Number | 0 | 
| obj.col1 | String | 'white' | 
| obj.col2 | String | 'black' | 
| obj.bgmode | String | 'avg' | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.gabor({x: 100, y: 100, orient: 45, freq: .05})
Canvas.image(obj)
Dessine une image à partir d'un fichier dans le pool de fichiers.
| Param | Type | Par défaut | 
|---|---|---|
| obj | Object | |
| obj.fname | String | |
| obj.center | Boolean | true | 
| obj.x | Number | 0 | 
| obj.y | Number | 0 | 
| obj.scale | Number | 1 | 
| obj.rotation | Number | 0 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.image({fname: 'image_in_pool.png'})
Canvas.line(obj)
Dessine une ligne.
| Param | Type | Par défaut | 
|---|---|---|
| obj | Object | |
| obj.sx | Number | 0 | 
| obj.sy | Number | 0 | 
| obj.ex | Number | 50 | 
| obj.ey | Number | 0 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
var ex = vars.width / 2
var ey = vars.height / 2
myCanvas.line({sx: 0, sy: 0, ex: ex, ey: ey})
Canvas.noise_patch(obj)
Dessine un patch de bruit, avec une enveloppe.
| Param | Type | Par défaut | 
|---|---|---|
| obj | Object | |
| obj.x | Number | 0 | 
| obj.y | Number | 0 | 
| obj.env | String | 'gaussian' | 
| obj.size | Number | 96 | 
| obj.stdev | Number | 12 | 
| obj.col1 | String | 'white' | 
| obj.col2 | String | 'black' | 
| obj.bgmode | String | 'avg' | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.noise_patch({x: 100, y: 100, env: 'circular'})
Canvas.polygon(obj)
Dessine un polygone défini par une liste de sommets. C'est-à-dire une forme de points reliés par des lignes.
| Param | Type | Valeur par défaut | 
|---|---|---|
| obj | Object | |
| obj.vertices | Array.<Array.<Number>> | |
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
var n1 = [0,0]
var n2 = [100, 100]
var n3 = [0, 100]
myCanvas.polygon({vertices: [n1, n2, n3]})
Canvas.rect(obj)
Dessine un rectangle.
| Param | Type | Valeur par défaut | 
|---|---|---|
| obj | Object | |
| obj.x | Number | -50 | 
| obj.y | Number | -25 | 
| obj.w | Number | 100 | 
| obj.h | Number | 50 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.rect({x: -10, y: -10, w: 20, h: 20, fill:true})
Canvas.show() ⇒ Number
Affiche, ou 'retourne', le canevas à l'écran.
Renvoie: Number - Un horodatage du moment où le canevas est apparu sur
    l'écran.
Canvas.text(obj)
Dessine du texte.
| Param | Type | Valeur par défaut | 
|---|---|---|
| obj | Object | |
| obj.text | String | |
| obj.center | Boolean | true | 
| obj.x | Number | 0 | 
| obj.y | Number | 0 | 
| ..obj.styleArgs | Object | {} | 
Exemple
var myCanvas = Canvas()
myCanvas.text({text: 'Du texte'})

 
