summaryrefslogtreecommitdiff
path: root/src/Xw/Xw_WidthMap.cdl
blob: 541620d33562e5cd25b99c497079594c9207e00d (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
--
-- File:	Xw_WidthMap.cdl
-- Created:	24/08/93
-- Author:	GG
--
---Copyright:	MatraDatavision 1993
--

class WidthMap from Xw inherits Transient

	---Version: 0.0

	---Purpose: This class defines a WidthMap object.

	---Keywords:
	---Warning:
	---References:

uses

	WidthMap		from Aspect,
	WidthMapEntry		from Aspect

raises

	WidthMapDefinitionError	from Aspect,
	BadAccess from Aspect

is

	Create
	returns mutable WidthMap from Xw
	is protected ;
	---Level: Public

	Create ( Connexion : CString from Standard ) 
	returns mutable WidthMap from Xw
	---Level: Public
	---Purpose: Creates a WidthMap with unallocated WidthMapEntry.
	--  Warning: Raises if WidthMap creation failed according
	--	    to the supported hardware
	raises WidthMapDefinitionError from Aspect ;

	SetEntry ( me : mutable ; 
		  Entry : WidthMapEntry from Aspect )
	---Level: Public
	---Purpose: Modifies an entry already defined  or Add the Entry
	--	    in the type map <me> if it don't exist.
	--  Warning: Raises if WidthMap size is exceeded,
	--	   or WidthMap is not defined properly,
	--	   or WidthMapEntry Index is out of range according
	--	   to the supported hardware
	raises BadAccess from Aspect is virtual;

	SetEntries ( me : mutable ;
	          Widthmap : WidthMap from Aspect )
	---Level: Public
	---Purpose: Modifies all entries from the New Widthmap
	--  Warning: Raises if WidthMap size is exceeded,
	--         or WidthMap is not defined properly,
	--         or One of new WidthMapEntry Index is out of range according
	--         to the supported hardware
	raises BadAccess from Aspect is virtual;

	Destroy( me : mutable ) is virtual;
	---Level: Public
	---Purpose: Destroies the Widthmap
	---C++: alias ~

	----------------------------
	-- Category: Inquire methods
	----------------------------

	FreeWidths( me )
	returns Integer from Standard 
	---Level: Internal
	---Purpose: Returns the Number of Free Widths in the Widthmap
	--	    depending of the HardWare
	--  Warning: Raises if WidthMap is not defined properly
	raises BadAccess from Aspect is static;

	ExtendedWidthMap ( me )
	returns Address from Standard
	is static protected ;
	---Level: Internal
	---Purpose: Returns extended data typemap structure pointer.
	---Category: Inquire methods

fields

	MyExtendedDisplay 	:	Address from Standard ;
	MyExtendedWidthMap 	:	Address from Standard ;

friends

	class GraphicDevice from Xw

end WidthMap ;