summaryrefslogtreecommitdiff
path: root/src/AlienImage/AlienImage_SunRFAlienData.cdl
blob: ffada3a792d21f24a19a4c3719523918c8340ea9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
--
-- File:	AlienImage_SunRFAlienData.cdl
-- Created:	23/03/93
-- Author:	BBL
--
---Copyright:	Matravision 1993
--

class SunRFAlienData from AlienImage inherits AlienImageData from AlienImage

	---Version: 0.0

	---Level: Public
	---Purpose: This class defines a SUN Raster File .rs Alien image.
	---Keywords:
	---Warning:
	---References:

uses
	File 			from OSD,
	AsciiString 		from TCollection,
	ColorImage 		from Image,
	PseudoColorImage 	from Image,
	Image			from Image,
	SUNRFFileHeader 	from AlienImage,
	SUNRFFormat	 	from AlienImage

raises
	OutOfRange 	from Standard,
	TypeMismatch 	from Standard

is
	Create returns mutable SunRFAlienData from AlienImage ;

	Clear( me : in out mutable ) ;
	---Level: Public
	---Purpose: Frees memory allocated by SunRFAlienData and
	--          reset Object fields.
	---C++: alias ~

	FreeData( me : in out mutable ) ;
	---Level: Public
	---Purpose: Frees memory allocated by SunRFAlienData

	Read ( me : in out mutable ; afile : in out File from OSD )
	  returns Boolean from Standard ;
	---Level: Public
	---Purpose: Read content of a  SunRFAlienData object from a file .
	--          Returns True if file is a Sun Raster file .

	Write( me : in immutable; afile : in out File from OSD )
	  returns Boolean from Standard ;
	---Level: Public
	---Purpose: Write content of a  SunRFAlienData object to a file .

	SetFormat( me : in out mutable ;
		   aFormat : SUNRFFormat from AlienImage);
	---Level: Public
	---Purpose: Set SUN Raster File Format for Write method.

	Format( me : in  immutable )
	    returns SUNRFFormat from AlienImage ;
	---Level: Public
	---Purpose: Get SUN Raster File Format .

	ToImage( me : in  immutable) 
	  returns mutable Image from Image 
          raises TypeMismatch from Standard ;
	---Level: Public
	---Purpose : convert a SunRFAlienData object to a Image object.

	FromImage( me : in out mutable ; anImage : in Image from Image )
          raises TypeMismatch from Standard ;
	---Level: Public
	---Purpose : convert a Image object to a SunRFAlienData object.

	--
	--			Private Method
	--

	ToPseudoColorImage( me : in immutable) 
	  returns PseudoColorImage from Image is private ;
	---Level: Internal
	---Purpose : convert a AlienImage object to a Image object.

	ToColorImage( me : in immutable) 
	  returns ColorImage from Image is private ;
	---Level: Internal
	---Purpose : convert a AlienImage object to a Image object.

	FromPseudoColorImage( me : in out mutable ; 
			      anImage : in PseudoColorImage from Image );
	---Level: Internal
	---Purpose : convert a Image object to a SunRFAlienData object.

	FromColorImage( me : in out mutable ; 
				anImage : in ColorImage from Image );
	---Level: Internal
	---Purpose : convert a Image object to a SunRFAlienData object.

	ReadPixelRow( me : in out mutable ; 
			afile       : in out File from OSD ;
			aAddress    : in Address from Standard ;
			TheRowSize  : in Integer from Standard ) 
		returns Boolean from Standard;
	---Level: Internal
	---Purpose : Read a Image row from a file and store
	--           TheRowSize byte at aAddress
	--           returns True if Success.

	WritePixelRow( me : in immutable ; 
			afile       : in out File from OSD ;
			aAddress    : in Address from Standard ;
			TheRowSize  : in Integer from Standard )
		returns Boolean from Standard;
	---Level: Internal
	---Purpose : Write a Image row to a file from TheRowSize byte at
	--           aAddress
	--           returns True if Success.

fields
	myHeader 	: SUNRFFileHeader from AlienImage is protected ;
	myDataSize 	: Integer from Standard ;
	myData		: Address from Standard is protected;
	myRedData, myGreenData, myBlueData : Address from Standard is protected;

end ;