summaryrefslogtreecommitdiff
path: root/src/Image/Image_GPixelField.cdl
blob: 7ea1bb44341e796f6dc194322448c99354dde622 (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
-- File:	Image_GPixelField.cdl
-- Created:	Wed Dec  9 12:22:03 1993
-- Author:	Bertand Lesecq
--		<bbl@sparc3>
---Copyright:	 Matra Datavision 1993

private generic class GPixelField from Image (Item as any)

	---Purpose: The class GPixelField represents bi-dimensionnal arrays 
	--          The range of the index start from 0 .

raises
    RangeError from Standard,
    OutOfRange from Standard,
    OutOfMemory from Standard,
    DimensionMismatch from Standard

is
    
    Create (Width, Height:  Integer from Standard) 
    returns  GPixelField from Image
	---Level: Public
    	---Purpose: Creates an array of lower bound <0><0> and upper
    	--          bound <Width-1><Height-1>.   Range from  Standard  error  is
    	--          raised when <Width-1> is less than <0> or <Height-1> is less
    	--          than <0>.
    raises 
    	RangeError  from Standard,
    	OutOfMemory from Standard;


    Create (Width, Height: Integer from Standard; V : Item) 
    returns  GPixelField from Image
	---Level: Public
    	---Purpose: Creates an array of lower bound <0><0> and upper
    	--          bound <Width-1><Height-1>.   Range from  Standard  error  is
    	--          raised when <Width-1> is less than <0> or <Height-1> is less
    	--          than <0>. The array is initialized with <V>.
    raises
    	RangeError  from Standard,
    	OutOfMemory from Standard;

    Destroy (me : in out )
	---Level: Public
    	---Purpose: Frees   the allocated   area corresponding to  the
    	--          array.   If  the array    was  constructed from  a
    	--          DoubleArray the Destroy doesn't delete the area.
        --          
        ---C++: alias ~
    is static;

    Width (me) returns Integer from Standard
	---Level: Public
    	---Purpose: Return the number of columns of <me>.
    	--          
	---C++: inline
    is static ;

    Height (me) returns Integer from Standard
	---Level: Public
    	---Purpose: Returns the number of rows of <me>.
    	--          
        ---C++: inline
    is static;

    UpperX (me) returns Integer from Standard
	---Level: Public
    	---Purpose:  Returns the upper column number of the array.
    	--          
	---C++: inline
    is static ;

    UpperY (me) returns Integer from Standard
	---Level: Public
    	---Purpose:  Returns the upper row number of the array.
    	--          
	---C++: inline
    is static ;

    SetValue (me : in out; X, Y: Integer from Standard; Value: Item) 
	---Level: Public
    	---Purpose: Sets the element of index <X><Y>
    	--          to <Value>.
	---C++: inline
    raises OutOfRange from Standard
    is static ;

    Value (me; X,Y: Integer from Standard) returns any Item
	---Level: Public
    	---Purpose: Returns the value of the element of index 
        --          <X><Y>
    	--
	---C++: inline
    	---C++: alias operator()
    	---C++: return const &
    raises OutOfRange from Standard
    is static;

    ChangeValue (me: in out; X,Y: Integer from Standard) returns any Item
	---Level: Public
    	---Purpose: Returns the value of the element of index 
        --          <X><Y>
    	--
	---C++: inline
    	---C++: alias operator()
    	---C++: return &
    raises OutOfRange from Standard
    is static;

fields

	myWidth       : Integer from Standard ;
        myHeight      : Integer from Standard ;
	myDeletable   : Boolean;
    	myData        : Address;
	
end GPixelField ;