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) }