home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / e / EasyGUI_v33b2.lha / Src / Plugins / colorwheel.e < prev    next >
Text File  |  1997-02-02  |  3KB  |  115 lines

  1. OPT MODULE
  2.  
  3. MODULE 'tools/EasyGUI', 'tools/ghost',
  4.        'intuition/intuition', 'intuition/gadgetclass', 'intuition/screens',
  5.        'gadgets/colorwheel'
  6.  
  7. EXPORT OBJECT colorwheel OF plugin
  8.   rgb:PTR TO colorwheelrgb
  9.   hsb:PTR TO colorwheelhsb
  10.   disabled
  11. PRIVATE
  12.   colorwheel:PTR TO gadget
  13.   colorwheelbase
  14.   box
  15. ENDOBJECT
  16.  
  17. PROC colorwheel(rgb,hsb=NIL,box=FALSE,disabled=FALSE) OF colorwheel
  18.   self.colorwheelbase:=OpenLibrary('gadgets/colorwheel.gadget',39)
  19.   IF self.colorwheelbase=NIL THEN Raise("colw")
  20.   IF rgb
  21.     self.rgb:=rgb
  22.     self.hsb:=NIL
  23.   ELSE
  24.     self.rgb:=NIL
  25.     self.hsb:=hsb
  26.   ENDIF
  27.   self.box:=box
  28.   self.disabled:=disabled
  29. ENDPROC
  30.  
  31. PROC end() OF colorwheel
  32.   IF self.colorwheelbase THEN CloseLibrary(self.colorwheelbase)
  33. ENDPROC
  34.  
  35. PROC min_size(ta,fh) OF colorwheel
  36. ENDPROC 50,50
  37.  
  38. PROC will_resize() OF colorwheel IS RESIZEX OR RESIZEY
  39.  
  40. PROC render(ta,x,y,xs,ys,w:PTR TO window) OF colorwheel
  41.   self.colorwheel:=NewObjectA(NIL,'colorwheel.gadget',
  42.                          [GA_TOP,y+IF self.box THEN 0 ELSE 2,
  43.                           GA_LEFT,x+IF self.box THEN 0 ELSE 2,
  44.                           GA_WIDTH,xs-IF self.box THEN 0 ELSE 4,
  45.                           GA_HEIGHT,ys-IF self.box THEN 0 ELSE 4,
  46.                           IF self.hsb THEN WHEEL_HSB ELSE WHEEL_RGB,
  47.                             IF self.hsb THEN self.hsb ELSE self.rgb,
  48.                           GA_RELVERIFY,TRUE, WHEEL_SCREEN,w.wscreen,
  49.                           WHEEL_BEVELBOX,self.box, GA_DISABLED,self.disabled,
  50.                           NIL])
  51.   IF self.colorwheel=NIL THEN Raise("colw")
  52.   AddGList(w,self.colorwheel,-1,1,NIL)
  53.   RefreshGList(self.colorwheel,w,NIL,1)
  54.   IF self.disabled THEN IF self.box=FALSE THEN ghost(w,self.x,self.y,self.xs,self.ys)
  55. ENDPROC
  56.  
  57. PROC clear_render(win:PTR TO window) OF colorwheel
  58.   IF self.colorwheel
  59.     RemoveGList(win,self.colorwheel,1)
  60.     DisposeObject(self.colorwheel)
  61.   ENDIF
  62. ENDPROC
  63.  
  64. PROC message_test(imsg:PTR TO intuimessage,win:PTR TO window) OF colorwheel
  65.   IF imsg.class=IDCMP_GADGETUP THEN RETURN imsg.iaddress=self.colorwheel
  66. ENDPROC FALSE
  67.  
  68. PROC message_action(class,qual,code,win:PTR TO window) OF colorwheel
  69.   IF self.rgb
  70.     GetAttr(WHEEL_RGB,self.colorwheel,self.rgb)
  71.   ELSE
  72.     GetAttr(WHEEL_HSB,self.colorwheel,self.hsb)
  73.   ENDIF
  74. ENDPROC TRUE
  75.  
  76. PROC getrgb(rgb) OF colorwheel
  77.   GetAttr(WHEEL_RGB,self.colorwheel,rgb)
  78. ENDPROC rgb
  79.  
  80. PROC gethsb(hsb) OF colorwheel
  81.   GetAttr(WHEEL_HSB,self.colorwheel,hsb)
  82. ENDPROC hsb
  83.  
  84. PROC setrgb(rgb=NIL) OF colorwheel
  85.   IF rgb
  86.     self.rgb:=rgb
  87.     self.hsb:=NIL
  88.   ENDIF
  89.   IF self.rgb THEN SetGadgetAttrsA(self.colorwheel,self.gh.wnd,NIL,
  90.                                   [WHEEL_RGB,self.rgb,NIL])
  91. ENDPROC
  92.  
  93. PROC sethsb(hsb) OF colorwheel
  94.   IF hsb
  95.     self.rgb:=NIL
  96.     self.hsb:=hsb
  97.   ENDIF
  98.   IF self.hsb THEN SetGadgetAttrsA(self.colorwheel,self.gh.wnd,NIL,
  99.                                   [WHEEL_HSB,self.hsb,NIL])
  100. ENDPROC
  101.  
  102. PROC setdisabled(disabled=TRUE) OF colorwheel
  103.   SetGadgetAttrsA(self.colorwheel,self.gh.wnd,NIL,[GA_DISABLED,disabled,NIL])
  104.   IF disabled
  105.     IF self.box=FALSE
  106.       ghost(self.gh.wnd,self.x,self.y,self.xs,self.ys)
  107.     ELSE
  108.       unghost(self.colorwheel,self.gh.wnd)
  109.     ENDIF
  110.   ELSE
  111.     unghost_clear(self.colorwheel,self.gh.wnd,self.x,self.y,self.xs,self.ys)
  112.   ENDIF
  113.   self.disabled:=disabled
  114. ENDPROC
  115.