rendered paste bodymenu * {
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)
}