Top

mIRC Paint


mIRC Code
+ 0 likes
Please Register to submit score.
Bookmark and Share
Average Score  8.3 (of 3 scores)
Date Added  Oct 05, 2009
Last Updated  Oct 09, 2009
Tags  dialog  dot  draw  line  mirc  paint  picture  picwin  rect  rot  window 

Introduction

its been done before, i know but this is my first real attempt at using picwins.
besides who doesn't love paint? :)

it has all of the /draw commands:Dot Line Rectangle Fill Text and replace it also allows you to save/open pics

Grab the Code

dialog paint {
  title "mIRC Paint"
  size 25 100 58 154
  option dbu
  box "Options", 7, 0 0 57 101
  radio "Draw Dot", 8, 5 10 50 8
  radio "Draw Line", 9, 5 20 50 8
  radio "Draw Rectangle", 10, 5 30 50 8
  radio "Draw Fill", 11, 5 40 50 8
  radio "Draw Text", 12, 5 50 50 8
  button "Rotate", 13, 5 60 50 10
  button "Change Colors", 14, 5 70 50 10
  text "Size:", 15, 5 81 12 8
  edit "5", 16, 20 80 35 10
  text "Color:", 17, 4 91 15 8
  edit "4", 18, 20 90 35 10
  button "Save", 19, 1 102 23 10
  button "Open", 20, 32 102 23 10
  button "Close", 21, 32 113 23 10
  box "Mouse Position", 22, 1 124 56 30
  text "X:", 23, 5 134 7 8
  edit "", 24, 30 133 25 10, read
  text "Y:", 25, 5 144 8 8
  edit "", 26, 29 143 25 10, read
  button "Clear", 27, 1 113 23 10
  menu "&File", 1
  item "&New", 2, 1
  item "&Open", 3, 1
  item "&Save As", 4, 1
  item "break", 5, 1
  item "Close", 6, 1
}
on *:dialog:paint:*:*: {
  if ($devent == init) {
    if ($window(@Paint)) window -c $v1
    window -apk0 @Paint
    did -c $dname 8
  }
  elseif ($devent == menu) {
    if ($did == 2) clear @Paint
    elseif ($did == 3) { clear @Paint | drawpic @Paint 1 1 $qt($$sfile($mircdirPaint\*.*,Open Image...)) }
    elseif ($did == 4) drawsave @Paint $qt($$sfile($mircdirPaint\*.bmp,Save File As...))
    elseif ($did == 6) { dialog -x $dname | window -c @Paint }
  }
  elseif ($devent == sclick) {
    if ($istok(8 9 10 11 12,$did,32)) unset %paint.*
    if ($did == 13) drawrot @paint $input(How many Degrees?,e,Rotate) 0 0
    elseif ($did == 14) drawreplace @paint $$?="What color do you want to change? $crlf 1-15" $$?="What color do you want to change it to? $crlf 1-15"
    elseif ($did == 19) drawsave @Paint $qt($$sfile($mircdirPaint\*.bmp,Save File As...))
    elseif ($did == 20) { clear @Paint | drawpic @Paint 1 1 $qt($$sfile($mircdirPaint\*.*,Open Image...)) }
    elseif ($did == 21) { dialog -x $dname | window -c @Paint }
    elseif ($did == 27) Clear @paint
  }
  elseif ($devent == close && $window(@Paint)) { window -c $v1 }
}
menu @paint {
  sclick:{
    var %dlg = Paint,%col = $did(%dlg,18),%size = $did(%dlg,16),%x = $did(%dlg,24),%y = $did(%dlg,26)
    if ($did(%dlg,8).state) drawdot @Paint %col %size %x %y
    elseif ($did(%dlg,9).state) {
      if (!%paint.click) set %paint.click %x %y
      else { drawline @Paint %col %size %paint.click %x %y | unset %paint.click }
    }
    elseif ($did(%dlg,10).state) {
      if ($numtok(%paint.rect,32) < 3) set %paint.rect $addtok(%paint.rect,$+(%x,|,%y),32)
      else { 
        drawline @paint %col %size $replace(%paint.rect,$chr(124),$chr(32)) $str(%x %y $chr(32),2) $replace($gettok(%paint.rect,1,32),$chr(124),$chr(32))
        unset %paint.rect 
      }
    }
    elseif ($did(%dlg,11).state) drawfill @Paint %col 0 0 0 0
    elseif ($did(%dlg,12).state) drawtext @paint %col %x %y $$?="What do you want to type?"
  }
  mouse: {
    if ($mouse.key & 1) drawdot @paint $did(paint,18) $did(paint,16) $mouse.x $mouse.y
    paint.mupdate
  }
}
on *:close:@Paint:if ($dialog(Paint)) dialog -x $v1
menu channel,status,menu { 
  mIRC Paint:paint
}
alias paint dialog $+(-,$iif($dialog(Paint),-v,mo paint)) paint
alias -l paint.mupdate { did -ra Paint 24 $mouse.x | did -ra Paint 26 $mouse.y }
on *:load:if (!$isdir(Paint)) mkdir Paint
 

Comments

  (6)  RSS
blitzz
Comments: 122
 
mIRC Snippet:  mIRC Paint
Posted on Oct 5, 2009 11:18 pm
I like how you set the Mouse Position :)..not really useful but good to see you try to make something with mIRC that windows already have..one problem..a bit slower when drawing..need 1sec - 2sec for the result/draw appear..9/10 dude..
sunslayer
Comments: 266
 
mIRC Snippet:  mIRC Paint
Posted on Oct 6, 2009 5:13 am
what are you trying to draw?
if your trying to draw a line or a rectangle it will only show once you give enough parameters, e.g. a line needs 2 clicks and a rect needs 4
PATX
Comments: 390
 
mIRC Snippet:  mIRC Paint
Posted on Oct 6, 2009 5:55 pm
very coo. good job.
sunslayer
Comments: 266
 
mIRC Snippet:  mIRC Paint
Posted on Oct 6, 2009 8:05 pm
thanks :)
knoeki
Comments: 120
 
mIRC Snippet:  mIRC Paint
Posted on Oct 9, 2009 6:01 pm
Heh, much nicer than my version in a way, but it has some issues...

1) draw dot only draws one dot at the time, I was hoping it'd be freehand drawing like in mine.

2) draw fill seems to fill the whole screen, rather than the rectangle I clicked inside :x

Very nice regardless. :_)
sunslayer
Comments: 266
 
mIRC Snippet:  mIRC Paint
Posted on Oct 9, 2009 6:58 pm
added freehand draw
but i have no idea how to do the second one, any ideas?

Commenting Options

Register or Login to Hawkee.com or use your Facebook or Twitter account by clicking the corresponding button below.

  
Bottom