Dessinatech, êtes-vous prêt à dessiner?

Contenu du snippet

Exemple de ce que l'on peut faire avec une @window...

Source / Exemple :


; Dessinatech par WarDoWn (WapsNest)
; Utilisation: /dtech et dessinez! =P

alias dtech {
  if ($window(@dtech)) { echo -s *** /dtech : En fonction }
  else {
    unset %pc , %pn , %pt , %pf
    set %pn @Dtech | set %pf $rgb(255,255,255)
    window -adChpkB +d %pn -1 -1 500 415
    drawrect -r %pn $rgb(100,100,100) 1 0 0 500 415
    drawrect -r %pn $rgb(0,0,0) 1 0 0 499 414
    drawfill -r %pn $rgb(220,220,220) $color(background) 1 23
    drawrect -r %pn $rgb(0,0,0) 1 0 0 499 22
    drawfill -r %pn $rgb(200,200,200) $rgb(0,0,0) 1 1
    drawtext -r %pn $rgb(0,0,0) verdana 16 4 2 Dessinatech, êtes-vous prêt à dessiner?
    pb %pn 461 3 16 16
    pb %pn 480 3 16 16
    drawrect -r %pn $rgb(0,0,0) 1 5 26 490 350
    drawfill -r %pn $rgb(255,255,255) $rgb(0,0,0) 6 27
    drawrect -r %pn $rgb(0,0,0) 1 5 380 30 30
    drawrect -fr %pn $rgb(255,0,0) 1 7 382 26 26
    drawrect -r %pn $rgb(0,0,0) 1 38 380 30 30
    drawrect -fr %pn $rgb(0,255,0) 1 40 382 26 26
    drawrect -r %pn $rgb(0,0,0) 1 71 380 30 30
    drawrect -fr %pn $rgb(0,0,255) 1 73 382 26 26
    drawrect -r %pn $rgb(0,0,0) 1 108 380 30 30
    drawrect -fr %pn %pf 1 110 382 26 26
    pb %pn 187 382 100 26 Ouvrir
    pb %pn 290 382 100 26 Nouveau
    pb %pn 393 382 100 26 Sauvegarder
  }
}
menu @dtech {
  sclick:{
    if ($pc(461,3,16,16)) { set %pc 461 3 16 16 | ppb }
    if ($pc(480,3,16,16)) { set %pc 480 3 16 16 | ppb }
    if ($pc(6,27,488,348)) { drawdot -r @dtech %pf 1 $mouse.x $mouse.y | set %pdr 1 }
    if ($pc(5,382,26,26)) { set %pf $rgb(255,0,0) }
    if ($pc(40,382,26,26)) { set %pf $rgb(0,255,0) }
    if ($pc(73,382,26,26)) { set %pf $rgb(0,0,255) }
    if ($pc(110,382,26,26)) { set %pf $rgb( [ $$?="Code RGB" ] ) | drawrect -fr %pn %pf 1 110 382 26 26 }
    if ($pc(187,382,100,26)) { set %pc 187 382 100 26 | set %pt Ouvrir | ppb }
    if ($pc(290,382,100,26)) { set %pc 290 382 100 26 | set %pt Nouveau | ppb }
    if ($pc(393,382,100,26)) { set %pc 187 382 100 26 | set %pt Sauvegarder | ppb }
  }
  uclick:{
    if ($pc(6,27,488,348)) && (%pdr) { unset %pdr }
    if (%pc == 461 3 16 16) { pub | window -n @dtech }
    if (%pc == 480 3 16 16) { pub | window -c @dtech }
    if (%pc == 187 382 100 26) { pub | po }
    if (%pc == 290 382 100 26) { pub | pn }
    if (%pc == 393 382 100 26) { pub | ps }
  }
  mouse:{ if ($pc(6,27,488,348)) && (%pdr) { drawdot -r @dtech %pf 1 $mouse.x $mouse.y } }
  leave:{ if ($pc(6,27,488,348)) && (%pdr) { unset %pdr } | if (%pc) { pub | unset %pc } }
  Ouvrir:po
  Nouveau:pn
  Sauvegarder:ps
}
alias -l pc { return $inrect($mouse.x,$mouse.y,$1,$2,$3,$4) }
alias -l pb {
  drawrect -r %pn $rgb(100,100,100) 1 $calc($2 + 1) $calc($3 + 1) $4-
  drawrect -r %pn $rgb(0,0,0) 1 $2-
  drawfill -r %pn $rgb(200,200,200) $rgb(0,0,0) $calc($2 + 1) $calc($3 + 1)
  if ($6) { drawtext -r %pn $rgb(0,0,0) verdana 16 $calc($2 + 4) $calc($3 + 4) $6- }
}
alias -l ppb { drawrect -r %pn $rgb(40,40,40) 1 %pc | drawrect -r %pn $rgb(0,0,0) 1 $calc($gettok(%pc,1,32) + 1) $calc($gettok(%pc,2,32) + 1) $gettok(%pc,3,32) $gettok(%pc,4,32) }
alias -l pub {
  drawrect -r %pn $rgb(100,100,100) 1 $calc($gettok(%pc,1,32) + 1) $calc($gettok(%pc,2,32) + 1) $gettok(%pc,3-,32)
  drawrect -r %pn $rgb(0,0,0) 1 %pc
  drawfill -r %pn $rgb(200,200,200) $rgb(0,0,0) $calc($gettok(%pc,1,32) + 1) $calc($gettok(%pc,2,32) + 1)
  if (%pt) { drawtext -r %pn $rgb(0,0,0) verdana 16 $calc($gettok(%pc,1,32) + 4) $calc($gettok(%pc,2,32) + 4) %pt | unset %pt }
}
alias -l po { pn | var %a = $sfile(c:\,Dessin en format Bmp seulement...) | if ($right(%a,4-) == .bmp) { drawpic -s %pn 6 27 488 348 $shortfn(%a) } }
alias -l pn { drawrect -fr %pn $rgb(255,255,255) 1 6 27 488 348 }
alias -l ps { window -aChpkB +d @a -1 -1 488 348 | drawcopy %pn 6 27 488 348 @a 0 0 | drawsave @a $$?="Nom de l'image" | window -c @a }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.