All pastes #405958 Raw Edit

Something

public text v1 · immutable
·published 2007-03-22 01:41 UTC
rendered paste body
menu * {
 Paint:/dialog -m Paint Paint
}
dialog -l Paint {
 title "Couch's Paint"
 size -1 -1 125 56
 option dbu
 text "Colour", 2, 2 3 16 8
 combo 1, 20 2 60 50, size drop sort
 text "Brush Size", 3, 82 3 25 8
 edit "5", 4, 110 2 13 10, limit 2
 radio "Line", 5, 2 29 37 12, push
 radio "Brush", 6, 2 15 37 12, push
 radio "Circle", 7, 2 43 37 12, push
 radio "Square", 8, 41 15 37 12, push
 radio "Spider", 9, 41 29 37 12, push
 radio "Polygon", 10, 80 15 37 12, push
 radio "Erase", 11, 80 29 37 12, push
 radio "Text", 12, 41 43 37 12, push
 radio "Other", 13, 80 43 37 12, push
}
on *:Dialog:Paint:*:*:{
 if ($devent == init) {
   window -p +l @Paint
   did -c $dname 5
   did -a $dname 1 Indigo
   did -a $dname 1 Aquamarine
   did -a $dname 1 Gold
   did -a $dname 1 Blue/Violet
   did -a $dname 1 Dark red
   did -a $dname 1 Silver
   did -a $dname 1 Yellow
   did -a $dname 1 Red
   did -a $dname 1 Green
   did -a $dname 1 Blue
   did -a $dname 1 Pink
   did -a $dname 1 Purple
   did -a $dname 1 Black
   did -a $dname 1 Cornsilk
   did -a $dname 1 Orange
   did -a $dname 1 White
   WPT Settings Size $did(4).text
 }
 elseif ($devent == close) {
   window -c @Paint
   remini Paint.ini Settings
   remini Paint.ini Color
 }
 elseif ($devent == sclick) {
   if ($did == 1) {
     if ($color($did(1).seltext)) /Color $did(1).seltext
   }
   elseif ($did >= 5) && ($did <= 12) {
     WPT Settings Select $did($did).text
   }
   elseif ($did == 13) {
     dialog -x Paint Paint
     dialog -mdv Options Options
   }
   remini Paint.ini Settings Num
 }
 elseif ($devent == edit) {
   if ($did == 4) WPT Settings Size $did(4).text
 }
}
menu @Paint {
 sclick: {
   if ($RPT(Settings,Select) != Spider && $RPT(Settings,Select) != Polygon && $RPT(Settings,Select) != Brush && $RPT(Settings,Select) != Erase) {
     WPT Settings Mouse $mouse.x $mouse.y
     remini Paint.ini Settings Num
   }
   if ($RPT(Settings,Select) == Text) {
     var %Text = $$?="What would you like to write?"
     //drawtext -pr @Paint $RPT(Color,Color) $RPT(Settings,Mouse) $(%Text,2)
   }
   if ($RPT(Settings,Select) == Spider) {
     if (!$RPT(Settings,Num)) {
       WPT Settings Num Spider
       if (!$RPT(Settings,Mouse)) WPT Settings Mouse $mouse.x $mouse.y
       halt
     }
     elseif ($RPT(Settings,Num) == Spider) {
       drawline -r @Paint $RPT(Color,Color) $RPT(Settings,Size) $RPT(Settings,Mouse) $mouse.x $mouse.y
     }
   }
   if ($RPT(Settings,Select) == Polygon) {
     if (!$RPT(Settings,Num)) {
       WPT Settings Num Polygon
       if (!$RPT(Settings,Mouse)) WPT Settings Mouse $mouse.x $mouse.y
       halt
     }
     elseif ($RPT(Settings,Num) == Polygon) {
       drawline -r @Paint $RPT(Color,Color) $RPT(Settings,Size) $RPT(Settings,Mouse) $mouse.x $mouse.y
       WPT Settings Mouse $mouse.x $mouse.y
     }
   }
   if ($RPT(Settings,Select) == Brush) {
     WPT Settings Num Brush
     drawdot -r @Paint $RPT(Color,Color) $RPT(Settings,Size) $mouse.x $mouse.y $mouse.x $mouse.y
   }
   if ($RPT(Settings,Select) == Erase) {
     var %size = $int($calc($RPT(Settings,Size) /2))
     drawrect -fr @Paint $Rgb(255,255,255) $RPT(Settings,Size) $calc($mouse.x - %size) $calc($mouse.y - %size) $RPT(Settings,Size) $RPT(Settings,Size)
     WPT Settings Num Erase
   }
 }
 drop: {
   if ($RPT(Settings,Select) == Line) {
     drawline -r @Paint $RPT(Color,Color) $RPT(Settings,Size) $RPT(Settings,Mouse) $mouse.x $mouse.y
   }
   elseif ($RPT(Settings,Select) == square) {
     tokenize 32 $RPT(Settings,Mouse)
     drawrect -r @Paint $RPT(Color,Color) $RPT(Settings,Size) $1- $calc($mouse.x - $1) $calc($mouse.y - $2)
   }
   elseif ($RPT(Settings,Select) == Circle) {
     tokenize 32 $RPT(Settings,Mouse)
     drawrect -er @Paint $RPT(Color,Color) $RPT(Settings,Size) $1- $calc($mouse.x - $1) $calc($mouse.y - $2)
   }
   elseif ($RPT(Settings,Select) == Erase) {
     var %size = $int($calc($RPT(Settings,Size) /2))
     drawrect -fr @Paint $Rgb(255,255,255) $RPT(Settings,Size) $calc($mouse.x - %size) $calc($mouse.y - %size) $RPT(Settings,Size) $RPT(Settings,Size)
   }
 }
 mouse {
   if ($RPT(Settings,Num) == Brush) {
     drawdot -r @Paint $RPT(Color,Color) $RPT(Settings,Size) $mouse.x $mouse.y
   }
   elseif ($RPT(Settings,Num) == Erase) {
     var %size = $int($calc($RPT(Settings,Size) /2))
     drawrect -fr @Paint $Rgb(255,255,255) $RPT(Settings,Size) $calc($mouse.x - %size) $calc($mouse.y - %size) $RPT(Settings,Size) $RPT(Settings,Size)
   }
 }
 uclick {
   if ($RPT(Settings,Num) == Brush) {
     remini Paint.ini Settings Num
   }
   elseif ($RPT(Settings,Num) == Erase) {
     remini Paint.ini Settings Num
   }
 }
}
alias WPT writeini -n Paint.ini $1 $2 $3-
alias RPT return $readini(Paint.ini,n,$1,$2)
alias Color {
 if ($1 == White) WPT Color Color $rgb(255,255,255)
 elseif ($1 == Yellow) WPT Color Color $rgb(255,255,0)
 elseif ($1 == Red) WPT Color Color $rgb(255,0,0)
 elseif ($1 == Pink) WPT Color Color $rgb(255,105,180)
 elseif ($1 == Purple) WPT Color Color $rgb(128,0,128)
 elseif ($1 == Green) WPT Color Color $rgb(0,128,0)
 elseif ($1 == Cornsilk) WPT Color Color $rgb(255,248,220)
 elseif ($1 == Blue) WPT Color Color $rgb(0,0,255)
 elseif ($1 == Black) WPT Color Color $rgb(0,0,0)
 elseif ($1 == Orange) WPT Color Color $rgb(255,69,0)
 elseif ($1 == Indigo) WPT Color Color $rgb(75,0,130)
 elseif ($1 == Aquamarine) WPT Color Color $rgb(127,255,212)
 elseif ($1 == Gold) WPT Color Color $rgb(255,215,0)
 elseif ($1 == Blue/Violet) WPT Color Color $rgb(138,43,226)
 elseif ($1 == Dark red) WPT Color Color $rgb(139,0,0)
 elseif ($1 == Silver) WPT Color Color $rgb(192,192,192)
}
dialog -l Options {
 title "Other Options"
 size -1 -1 125 89
 option dbu
 button "Save As", 1, 4 74 25 12
 button "Open", 2, 32 74 25 12
 button "New", 3, 61 74 25 12
 box "Save/Open", 4, 2 65 122 23
 box "SlideShow", 5, 2 0 122 65
 check "Enable SlideShow", 6, 5 7 51 9
 list 7, 59 5 63 49, disable size vsbar
 button "Add Slide", 8, 62 54 27 9, disable
 button "Del Slide", 9, 92 54 27 9, disable
 button "New", 10, 4 54 27 9, disable
 button "Delete", 11, 33 54 27 9, disable
 list 12, 4 26 55 26, disable size vsbar
 text "Seconds apart:", 13, 5 16 37 8, disable
 edit "", 14, 44 15 14 10, disable
 button "Preview Slideshow", 15, 89 71 31 15, multi disable
}
alias WSS writeini SlideShow.ini $1 $2 $3-
alias RSS return $readini(SlideShow.ini,$1,$2)
on *:Dialog:Options:*:*: {
 if ($devent == sclick) {
   if ($did == 10) {
     var %Name = $$?="What would you like to call your slideshow?"
     var %Slide = $$sfile(*.jpg,Select a Picture,open)
     WSS %Name $replace(%Slide,$chr(32),_) %Slide
     WPT Slide Dir $mircdir
     /Slide $dname
   }
   elseif ($did == 11) {
     if ($did(12).seltext) {
       var %yes = $$!="Are you sure you want to delete $qt($did(12).seltext)"
       if (%yes == $true) {
         remini SlideShow.ini $did(12).seltext
       }
     }
   }
   elseif ($did == 1) {
     var %File = $qt($$sfile(*.jpg,Paint,Save) $+ .jpg)
     if (%File) drawsave -q $+ 100 @Paint %File
   }
   elseif ($did == 2) {
     var %File = $qt($$sfile(*.jpg,Select a Picture,open))
     if (%File) { 
       /window -c @Paint
       /window -p +l @Paint
       /drawpic @Paint 0 0 %File
     }
   }
   elseif ($did == 12) {
     if ($did(12).seltext) {
       did -r $dname 7
       /SS $dname $did(12).seltext
     }
   }
   elseif ($did == 6) {
     if ($did(6).state == 1) did -e $dname 7-15
     elseif ($did(6).state == 0) did -b $dname 7-15
   }
   elseif ($did == 3) {
     window -c @Paint
     window -p +l @Paint
   }
   elseif ($did == 8) {
     if ($did(12).seltext) {
       var %slide = $$sfile(*.jpg,Select a Slide,open)
       WSS $did(12).seltext $replace(%slide,$chr(32),_) %slide
       did -r $dname 12
       /Slide $dname
     }
   }
   elseif ($did == 9) {
     if ($did(12).seltext) {
       if ($did(7).seltext) remini SlideShow.ini $did(12).seltext $+($RPT(Slide,Dir),\,$did(7).seltext)
       did -r $dname 12
       /Slide $dname
     }
   }
   elseif ($did == 15) {
     dialog -i Options
     if (!$window(@SlideShow)) window -p +l @SlideShow
     drawfill -r @SlideShow $rgb(138,43,226) $rgb(138,43,226) 0 0
     drawtext -r @SlideShow $rgb(75,0,130) 200 200 SlideShow made by: $me
     drawtext -r @SlideShow $rgb(75,0,130) 200 212 Length: $ini(SlideShow.ini,$did(12).seltext,0) slides.
     var %x = 1
     while ($ini(SlideShow.ini,$did(12).seltext,%x)) {
       timer 1 $calc($RPT(Settings,Timer) * %x) $+(/,slideshow,$chr(32),$did(12).seltext,$chr(32),%x)
       inc %x
     }
   }
 }
 elseif ($devent == close) {
   if ($window(@Paint)) window -c @Paint
   if ($window(@SlideShow)) window -c @SlideShow
 }
 elseif ($devent == init) {
   /Slide $dname
   did -ar $dname 14 $RPT(Settings,Timer)
 }
 elseif ($devent == edit) {
   if ($did == 14) WPT Settings Timer $did(14).text
 }
}
alias -l Slide {
 var %dname = $1, %x = 1
 while ($ini(slideshow.ini,%x)) {
   did -a %dname 12 $v1
   inc %x
 }
 did -r %dname 7
 /SS %dname $did(%dname,12).seltext
}
alias -l SS {
 var %dname = $1, %Text = $2, %x = 1
 while ($ini(SlideShow.ini,%Text,%x)) {
   did -a %dname 7 $nopath($left($RSS(%Text,$v1),-4))
   inc %x
 }
}
alias -l SlideShow {
 if (!$window(@SlideShow)) window -p +l @SlideShow
 //drawpic @SlideShow 0 0 $nopath($ini(SlideShow.ini,$1,$2))
 if ($ini(SlideShow.ini,$1,0) == $2) {
   timer 1 $RPT(Settings,Timer) $+(/,Finished)
 }
}
alias -l Finished {
 if (!$window(@SlideShow)) halt
 drawfill -r @SlideShow $rgb(138,43,226) $rgb(138,43,226) 0 0
 drawtext -r @SlideShow $rgb(75,0,130) 200 200 Fin
 timer 1 4 $+(/,window,$chr(32),-c,$chr(32),@SlideShow)
 timer 1 4 $+(/,dialog,$chr(32),-ev,$chr(32),Options)
}