home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / dev / e / amigae / src / library / pgs / noisy.e < prev    next >
Text File  |  1994-11-08  |  2KB  |  55 lines

  1. /* noisy.e: compiles to noisy.gio for use as Photogenics loader
  2.    based roughly on noise.c supplied with photogenics v1.2
  3.    [note: the `z' is a hack because currently EC assigns registers itself] */
  4.  
  5. LIBRARY 'Noisy.gio',1,1,'E example gio' IS
  6.   gioInfo, gioExamine, gioRead, gioWrite, gioSavePrefs,
  7.   gioCleanUp, gioAbout, gioStartup, gioShutDown, gioLoadPrefs
  8.  
  9. MODULE '*pgs', '*gio'
  10.  
  11. PROC gioInfo() IS GIOF_LOADER24
  12. PROC gioCleanUp(g:PTR TO giodata,z) IS EMPTY
  13. PROC gioSavePrefs(g:PTR TO giodata,z) IS EMPTY
  14. PROC gioLoadPrefs(g:PTR TO giodata,z) IS EMPTY
  15. PROC gioAbout(g:PTR TO giodata,z) IS EMPTY
  16. PROC gioStartup() IS EMPTY
  17. PROC gioShutDown() IS EMPTY
  18. PROC main() IS EMPTY
  19.  
  20. PROC gioExamine(g:PTR TO giodata,z)
  21.   DEF width=100, height=100
  22.   pgsbase:=g.pgsbase
  23.   g.flags:=gioInfo()
  24.   IF GetDimensions('Size of new Noisy image',{width},{height})<>1
  25.     g.error:=LOAD_ABORTED
  26.   ELSE
  27.     g.width:=width
  28.     g.height:=height
  29.     g.depth:=24
  30.     g.error:=LOAD_OK
  31.   ENDIF
  32. ENDPROC g.error
  33.  
  34. PROC gioRead(g:PTR TO giodata,z)
  35.   DEF x,y,p:PTR TO CHAR,d
  36.   pgsbase:=g.pgsbase
  37.   SetProgress('Creating Noisy image...',0);
  38.   FOR y:=0 TO g.height-1
  39.     IF y AND $F = 0
  40.       IF SetProgress(0,y*100/g.height)<>1
  41.         g.error:=LOAD_ABORTED
  42.         RETURN g.error
  43.       ENDIF
  44.     ENDIF
  45.     p:=GetLine(g,y)
  46.     FOR x:=0 TO g.width-1 DO FOR d:=1 TO 3 DO p[]++:=d*16+x*y     ->Rnd(256)
  47.     ReleaseLine(g,y)
  48.   ENDFOR
  49.   g.error:=NIL
  50. ENDPROC g.error
  51.  
  52. PROC gioWrite(g:PTR TO giodata,z)
  53.   g.error:=LOAD_WRONGTYPE
  54. ENDPROC g.error
  55.