2023-03-22 09:47:27 +01:00
//scale_bouton_commencer_avertissement = 0.6
h _bouton _avertissement = 0.1 * window . innerHeight
num _avertissement = 0
function affichage _texte _avertissement ( texte , font , color , xt , yt , l _max _texte ) {
// Texte
ctx . strokeStyle = color // Pour que le contour soit rouge
ctx . fillStyle = color // Pour que l'intérieur soit bleu
ctx . font = font
print _text ( handle _text ( texte , xt , yt , font , l _max _texte , color = "#FFFFFF" , interligne = 0.045 * window . innerHeight ) , false )
}
////////////////////////////////////////////////////////////////////
///// BOUTON COMMENCER
function action _bouton _commencer _avertissement ( ) {
page _avertissement = false
page _contexte = true
//page_vues = true
2023-03-29 18:10:51 +02:00
interactions . push ( { "time" : new Date ( ) . getTime ( ) , "type" : get _message ( "fin_avertissement" , [ ] ) } )
2023-03-22 09:47:27 +01:00
}
function afficher _bouton _commencer _avertissement ( ) {
w _bouton _commencer = w _bouton _suivant
h _bouton _commencer = h _bouton _suivant
x _bouton _commencer = x _bouton _suivant
y _bouton _commencer = y _bouton _suivant
// Bouton commencer
ctx . drawImage ( boutons [ "commencer_petit" ] , x _bouton _commencer , y _bouton _commencer , w _bouton _commencer , h _bouton _commencer )
// Survol
if ( xyMouseMove . x >= x _bouton _commencer && xyMouseMove . x <= x _bouton _commencer + w _bouton _commencer && xyMouseMove . y > y _bouton _commencer && xyMouseMove . y < y _bouton _commencer + h _bouton _commencer ) {
draw _rectangle ( x _bouton _commencer , y _bouton _commencer , w _bouton _commencer , h _bouton _commencer , "rgb(200, 200, 200)" , 0.6 )
}
}
////////////////////////////////////////////////////////////////////
///// BOUTON Next
function action _bouton _suivant _avertissement ( ) {
num _avertissement = num _avertissement + 1
avertissements _a _afficher . push ( avertissements [ "texte" + num _avertissement ] )
}
function action _bouton _avant _avertissement ( ) {
if ( num _avertissement > 0 ) {
avertissements _a _afficher . pop ( ) }
num _avertissement = num _avertissement - 1
}
function afficher _bouton _suivant _avertissement ( ) {
ratio _bouton _avertissement = h _bouton _avertissement / boutons [ "suivant" ] . height
w _bouton _suivant = ratio _bouton _avertissement * boutons [ "suivant" ] . width
h _bouton _suivant = h _bouton _contexte
x _bouton _suivant = ( window . innerWidth / 2 ) + 5
y _bouton _suivant = window . innerHeight - h _bouton _suivant - 20
// Bouton commencer
ctx . drawImage ( boutons [ "suivant" ] , x _bouton _suivant , y _bouton _suivant , w _bouton _suivant , h _bouton _suivant )
// Survol
if ( xyMouseMove . x >= x _bouton _suivant && xyMouseMove . x <= x _bouton _suivant + w _bouton _suivant && xyMouseMove . y > y _bouton _suivant && xyMouseMove . y < y _bouton _suivant + h _bouton _suivant ) {
draw _rectangle ( x _bouton _suivant , y _bouton _suivant , w _bouton _suivant , h _bouton _suivant , "rgb(200, 200, 200)" , 0.6 )
}
}
function afficher _bouton _avant _avertissement ( ) {
w _bouton _avant = w _bouton _suivant
h _bouton _avant = h _bouton _suivant
x _bouton _avant = ( window . innerWidth / 2 ) - ( w _bouton _avant ) - 5
y _bouton _avant = y _bouton _suivant
// Bouton commencer
ctx . drawImage ( boutons [ "avant" ] , x _bouton _avant , y _bouton _avant , w _bouton _avant , h _bouton _avant )
// Survol
if ( xyMouseMove . x >= x _bouton _avant && xyMouseMove . x <= x _bouton _avant + w _bouton _avant && xyMouseMove . y > y _bouton _avant && xyMouseMove . y < y _bouton _avant + h _bouton _avant ) {
draw _rectangle ( x _bouton _avant , y _bouton _avant , w _bouton _avant , h _bouton _avant , "rgb(200, 200, 200)" , 0.6 )
}
}
////////////////////////////////////////////////////////////////////
///// MAIN
function traitement _avertissements ( ) {
ctx . clearRect ( 0 , 0 , canvas . width , canvas . height )
draw _rectangle ( 0 , 0 , canvas . width , canvas . height , "rgb(3, 26, 33)" , 1 ) // ou + clair 4, 38, 48
// variable position
x _texte = window . innerWidth * ( 1 / 10 )
w _texte = window . innerWidth * ( 8 / 10 )
font _texte = ( 0.012 * window . innerWidth ) + "pt Courier"
// titre commun à chaque page
affichage _titre ( titre , ( 0.018 * window . innerWidth ) + "pt Courier" , "#EF476F" )
// affichage warning
w _avertissement = 0.15 * window . innerHeight
h _avertissement = w _avertissement
ctx . drawImage ( imgs [ 'avertissement' ] , window . innerWidth / 2 - w _avertissement / 2 , avertissements [ 'texte0' ] . y - ( h _avertissement * 1.4 ) , w _avertissement , h _avertissement )
ctx . drawImage ( imgs [ 'avertissement' ] , window . innerWidth / 4 - w _avertissement / 2 , avertissements [ 'texte0' ] . y - ( h _avertissement * 1.4 ) , w _avertissement , h _avertissement )
ctx . drawImage ( imgs [ 'avertissement' ] , window . innerWidth * ( 3 / 4 ) - w _avertissement / 2 , avertissements [ 'texte0' ] . y - ( h _avertissement * 1.4 ) , w _avertissement , h _avertissement )
// affichage texte
for ( let p = 0 ; p < avertissements _a _afficher . length ; p ++ ) {
dict _texte = avertissements _a _afficher [ p ]
affichage _texte _avertissement ( dict _texte . t , font _texte , dict _texte . c , x _texte , dict _texte . y , w _texte )
}
if ( num _avertissement < ( avertissements _page _1 . length ) - 1 ) {
// affichage bouton next
afficher _bouton _suivant _avertissement ( )
// si on clique sur next
if ( clicked && click _inside ( xyMouseDown , x _bouton _suivant , y _bouton _suivant , w _bouton _suivant , h _bouton _suivant ) ) {
// on passe aux texte suivant
action _bouton _suivant _avertissement ( )
}
} else {
// affichage bouton next
afficher _bouton _commencer _avertissement ( )
// si on clique sur next
if ( clicked && click _inside ( xyMouseDown , x _bouton _commencer , y _bouton _commencer , w _bouton _commencer , h _bouton _commencer ) ) {
// on passe aux texte suivant
action _bouton _commencer _avertissement ( )
2023-03-22 10:42:08 +01:00
clicked = false
2023-03-22 09:47:27 +01:00
}
}
//affichage bouton previous dès le deuxièeme texte
if ( num _avertissement > 0 ) {
// affichage bouton next
afficher _bouton _avant _avertissement ( )
//si on clique sur previous
if ( clicked && click _inside ( xyMouseDown , x _bouton _avant , y _bouton _avant , w _bouton _avant , h _bouton _avant ) ) {
// on passe aux texte suivant
action _bouton _avant _avertissement ( )
}
}
}
////////////////////////////////////////////////////////////////////
///// Textes
function init _textes _avertissements ( ) {
y _titre = 50
titre = "BEFORE TO START --> User study : Best view selection"
color _blanc = "rgb(255,255,255)"
color _rouge = "rgb(239, 71, 111)"
avertissements = {
2023-03-22 10:05:15 +01:00
"texte0" : { "t" : "Before we begin, make sure your BROWSER WINDOW IS BIG ENOUGH, and if you are using multiple displays, place your window on the display you will work on." , "y" : window . innerHeight * 0.32 , "c" : color _blanc } ,
"texte1" : { "t" : "If necessary, you can REFRESH this page to resize everything but doing so will lose all of your progress, so make sure everything feels right before proceding." , "y" : window . innerHeight * 0.52 , "c" : color _blanc } ,
2023-03-22 09:47:27 +01:00
"texte2" : { "t" : "All your data will be sent at the very end, so losing your progress will not mess up our data, but you will have do start from the begining." , "y" : window . innerHeight * 0.72 , "c" : color _blanc } ,
}
avertissements _page _1 = [ avertissements [ "texte0" ] , avertissements [ "texte1" ] , avertissements [ "texte2" ] ]
avertissements _a _afficher = [ avertissements [ "texte0" ] ]
}