0023663: Removing 2D viewer library
[occt.git] / src / Graphic2d / Graphic2d_Drawer.cdl
1 -- Created on: 1993-07-08
2 -- Created by: Jean Louis FRENKEL
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 ---
23 -- Modified : DCB 22-07-98
24 -- Reason   : Using pointers to drivers instead of handles
25 --            SAV 14/11/01 added MapMarkersFromTo(). operates with arrays.
26
27 class Drawer from Graphic2d inherits Transient from Standard
28
29         ---Version:
30
31         ---Purpose: A Drawer groups all conversion methods.
32         ---Level: Internal
33
34         ---Keywords:
35         ---Warning:
36         ---References:
37
38 uses
39         ShortReal               from Standard,
40         File                    from OSD,
41         Factor                  from Quantity,
42         Driver                  from Aspect,
43         DriverPtr               from Aspect,
44         WindowDriver            from Aspect,
45         WindowDriverPtr         from Aspect,
46         PlotterDriver           from PlotMgt,
47         PlotterDriverPtr        from PlotMgt,
48         TypeOfDeflection        from Aspect,
49         TypeOfText              from Aspect,
50         Array1OfShortReal       from TShort,
51         ExtendedString          from TCollection,
52         HArray1OfShortReal      from TShort
53
54 raises
55         DrawerDefinitionError   from Graphic2d
56
57 is
58         -------------------------
59         -- Category: Constructors
60         -------------------------
61
62         Create
63         returns mutable Drawer from Graphic2d;
64         ---Level: Internal
65         ---Purpose: A drawer is :
66         --      - a driver
67         --      - a "map from" and a "map to"
68         --      - attributes
69         ---Category: Constructors
70
71         -----------------------------------------
72         -- Category: Methods to modify the driver
73         -----------------------------------------
74
75         SetDriver (me: mutable; aDriver: Driver from Aspect)
76                 is static;
77         ---Level: Internal
78         ---Purpose: Associates the driver <ADriver> to the drawer <me>.
79         ---Category: Methods to modify the driver
80
81         Driver (me)
82                 returns Driver from Aspect
83         ---Level: Internal
84         ---Purpose: Returns the associated driver.
85         --  Warning: Raises DrawerDefinitionError if the
86         --          associated driver is not defined.
87         raises DrawerDefinitionError from Graphic2d is static;
88
89         IsWindowDriver (me) 
90                 returns Boolean from Standard;
91         ---Level: Internal
92         ---Purpose: Returns TRUE if the driver is a window driver.
93         ---Category: Inquiry method.
94
95         WindowDriver (me)
96                 returns WindowDriver from Aspect
97         ---Level: Internal
98         ---Purpose: Returns the associated window driver.
99         --  Warning: Raises DrawerDefinitionError if the
100         --          associated driver is not defined or is not a WindowDriver.
101         raises DrawerDefinitionError from Graphic2d is static;
102
103         IsPlotterDriver (me) 
104                 returns Boolean from Standard;
105         ---Level: Internal
106         ---Purpose: Returns TRUE if the driver is a plotter driver.
107         ---Category: Inquiry method.
108
109         PlotterDriver (me)
110                 returns PlotterDriver from PlotMgt
111         ---Level: Internal
112         ---Purpose: Returns the associated plotter driver.
113         --  Warning: Raises DrawerDefinitionError if the
114         --          associated driver is not defined or is not a PlotterDriver
115         raises DrawerDefinitionError from Graphic2d is static;
116
117         ----------------------------------------------------
118         -- Category: Methods to modify the chordal deviation
119         ----------------------------------------------------
120
121         ----------------------------------------------------------
122         -- Summary of chordal deviation                         --
123         --                                                      --
124         -- Specify a chordal deviation that is smaller than the --
125         -- workstation pixel size will not improve the display, --
126         -- but will slow the drawing.                           --
127         --                                                      --
128         ----------------------------------------------------------
129
130         SetDrawPrecision (me: mutable; aPrecision: Real from Standard;
131                 aCoefficient: Real from Standard;
132                 aType: TypeOfDeflection from Aspect)
133                 is static;
134         ---Level: Internal
135         ---Purpose: Sets the chordal deviation.
136         --          <aPrecision> is the chordal deviation when the type of
137         --          deflection is Aspect_TOD_ABSOLUTE.
138         --          <aCoefficient> is used when when the type of
139         --          deflection is Aspect_TOD_RELATIVE.
140         --      TypeOfDeflection is :
141         --              Aspect_TOD_RELATIVE
142         --              Aspect_TOD_ABSOLUTE
143         --      TypeOfDeflection defines if the maximal chordal deviation
144         --      used when drawing an object is absolute or relative to the
145         --      size of the object.
146         --  Warning: Specify a chordal deviation that is smaller than the
147         --          workstation pixel size will not improve the display,
148         --          but will slow the drawing.
149
150         DrawPrecision (me; aPrecision: out ShortReal from Standard;
151                 aCoefficient: out ShortReal from Standard;
152                 aType: out TypeOfDeflection from Aspect)
153                 is static;
154         ---Level: Internal
155         ---Purpose: Returns the chordal deviation.
156
157         SetTextPrecision (me: mutable; aPrecision: ShortReal from Standard)
158                 is static;
159         ---Level: Internal
160         ---Purpose: Sets the Text precision in METER
161         -- Any text is displayed only if his height is greater than
162         --the text precision or replaced by a bounding box in the other case.
163
164         TextPrecision (me) returns ShortReal from Standard
165                 is static;
166         ---Level: Internal
167         ---Purpose: Returns the Text precision in METER.
168
169         ---------------------------------------------
170         -- Category: Methods to modify the 2D viewing
171         ---------------------------------------------
172
173         SetValues (me: mutable; XF, YF, SF, XT, YT, ST, ZF: Real from Standard)
174                 is static;
175         ---Level: Internal
176         ---Purpose: Defines the "map from" and the "map to" of the drawer.
177         --          The "map from" is defined by the viewmapping.
178         --          The "map to" is defined by the device.
179         --          example : the X window for a X driver.
180
181         Values (me; XF, YF, SF, XT, YT, ST, ZF: out ShortReal from Standard)
182                 is static;
183         ---Level: Internal
184         ---Purpose: Returns the "map from" and the "map to".
185
186         --------------------------------------------
187         -- Category: Methods to manage the highlight
188         --------------------------------------------
189
190         SetOverride (me: mutable; aValue: Boolean from Standard)
191                 is static;
192         ---Level: Internal
193         ---Purpose: Manages the highlight, if the highlight color index
194         --          is defined (No default value)
195         ---Category: Methods to manage the highlight
196
197         SetOverrideColor (me: mutable; anIndex: Integer from Standard)
198                 is static;
199         ---Level: Internal
200         ---Purpose: Sets the highlight color index.
201         --  Warning: No default value.
202         ---Category: Methods to manage the highlight
203
204         SetOffSet (me: mutable;
205                 anOffSet: Integer from Standard)
206                 is static;
207         ---Level: Internal
208         ---Purpose: Specifies an offset applied to the original color
209         --      index when drawing a primitives, those already created
210         --      and the future one.
211         --  Warning: To reset the real color of the primitives when drawing
212         --      then this method is called with <anOffSet> = 0.
213
214         ---------------------------------------------
215         -- Category: Methods to manage the attributes
216         ---------------------------------------------
217
218         SetLineAttrib (me: mutable;
219                 ColorIndex: Integer from Standard;
220                 TypeIndex: Integer from Standard;
221                 WidthIndex: Integer from Standard)
222         ---Level: Internal
223         ---Purpose: Methods to define the Current Line Attributes
224         --  Warning: Raises DrawerDefinitionError if the
225         --          associated driver is not defined.
226         raises DrawerDefinitionError from Graphic2d is virtual;
227
228         SetMarkerAttrib (me: mutable;
229                 ColorIndex: Integer from Standard;
230                 WidthIndex: Integer from Standard;
231                 FillMarker: Boolean from Standard)
232         ---Level: Internal
233         ---Purpose: Methods to define the Current Marker Attributes
234         --  Warning: Raises DrawerDefinitionError if the
235         --          associated driver is not defined.
236         raises DrawerDefinitionError from Graphic2d is static;
237
238         SetPolyAttrib (me: mutable;
239                 ColorIndex: Integer from Standard;
240                 TileIndex: Integer from Standard;
241                 DrawEdge: Boolean from Standard)
242         ---Level: Internal
243         ---Purpose: Methods to define the Current polygon Attributes
244         --  Warning: Raises DrawerDefinitionError if the
245         --          associated driver is not defined.
246         raises DrawerDefinitionError from Graphic2d is static;
247
248         SetHidingPolyAttrib (me: mutable;
249                 HidingColorIndex: Integer from Standard;
250                 FrameColorIndex: Integer from Standard;
251                 FrameTypeIndex: Integer from Standard;
252                 FrameWidthIndex: Integer from Standard)
253         ---Level: Internal
254         ---Purpose: Methods to define the Current hiding polygon Attributes
255         --  Warning: Raises DrawerDefinitionError if the
256         --          associated driver is not defined.
257         raises DrawerDefinitionError from Graphic2d is static;
258
259         SetTextAttrib (me: mutable;
260                 ColorIndex: Integer from Standard;
261                 FontIndex: Integer from Standard;
262                 aSlant: ShortReal from Standard;
263                 aHScale,aWScale: ShortReal from Standard;
264                 isUnderlined: Boolean from Standard)
265         ---Level: Internal
266         ---Purpose: Methods to define the Current Text Attributes
267         --  Warning: Raises DrawerDefinitionError if the
268         --          associated driver is not defined.
269         raises DrawerDefinitionError from Graphic2d is static;
270  
271         SetHidingTextAttrib (me: mutable;
272                 ColorIndex: Integer from Standard;
273                 HidingColorIndex: Integer from Standard;
274                 FrameColorIndex: Integer from Standard;
275                 FrameWidthIndex: Integer from Standard;
276                 FontIndex: Integer from Standard;
277                 aSlant: ShortReal from Standard;
278                 aHScale,aWScale: ShortReal from Standard;
279                 isUnderlined: Boolean from Standard)
280         ---Level: Internal
281         ---Purpose: Methods to define the Current Hiding Text Attributes
282         --  Warning: Raises DrawerDefinitionError if the
283         --          associated driver is not defined.
284         raises DrawerDefinitionError from Graphic2d is static;
285  
286         SetFramedTextAttrib (me: mutable;
287                 ColorIndex: Integer from Standard;
288                 FrameColorIndex: Integer from Standard;
289                 FrameWidthIndex: Integer from Standard;
290                 FontIndex: Integer from Standard;
291                 aSlant: ShortReal from Standard;
292                 aHScale,aWScale: ShortReal from Standard;
293                 isUnderlined: Boolean from Standard)
294         ---Level: Internal
295         ---Purpose: Methods to define the Current Framed Text Attributes
296         --  Category: Methods to manage the attributes
297         --  Warning: Raises DrawerDefinitionError if the
298         --          associated driver is not defined.
299         raises DrawerDefinitionError from Graphic2d is static;
300
301         -----------------------------------------
302         -- Category: Methods to manage the images
303         -----------------------------------------
304
305         IsKnownImage (me: mutable; anImageId: Transient from Standard)
306         returns Boolean from Standard
307         ---Level: Internal
308         ---Purpose: Returns Standard_True if the associated driver
309         --          have stored the image and Standard_False if not.
310         --          For example, returns Standard_True if the associated
311         --          driver is a X Driver.
312         --  Category: Methods to manage the images
313         --  Warning: Raises DrawerDefinitionError if the
314         --          associated driver is not defined.
315         raises DrawerDefinitionError from Graphic2d is static;
316
317         ClearImage (me: mutable; anImageId: Transient from Standard)
318         ---Level: Internal
319         ---Purpose: Clears the image in the associated driver.
320         --  Category: Methods to manage the images
321         --  Warning: Raises DrawerDefinitionError if the
322         --          associated driver is not defined.
323         raises DrawerDefinitionError from Graphic2d is static;
324
325         DrawImage (me: mutable; anImageId: Transient from Standard;
326                 aX, aY: ShortReal from Standard)
327         ---Level: Internal
328         ---Purpose: Draws the image in the associated driver.
329         --          <aX>, <aY> is the center of the image.
330         --  Category: Methods to manage the images
331         --  Warning: Raises DrawerDefinitionError if the
332         --          associated driver is not defined.
333         raises DrawerDefinitionError from Graphic2d is static;
334
335         ClearImageFile (me: mutable; aName: CString from Standard)
336         ---Level: Internal
337         ---Purpose: Clears the image file in the associated driver.
338         --  Category: Methods to manage the images
339         --  Warning: Raises DrawerDefinitionError if the
340         --          associated driver is not defined.
341         raises DrawerDefinitionError from Graphic2d is static;
342
343         DrawImageFile (me: mutable; aName: CString from Standard;
344                 aX, aY: ShortReal from Standard;
345                 aScale: Factor from Quantity)
346         ---Level: Internal
347         ---Purpose: Draws the image in the associated driver.
348         --          <aX>, <aY> is the center of the image.
349         --          <aScale> = (if the image is zoomable)
350         --              initial scale factor of the image *
351         --              scale factor of the view.
352         --          <aScale> = (if the image is not zoomable)
353         --              initial scale factor of the image
354         --  Category: Methods to manage the images
355         --  Warning: Raises DrawerDefinitionError if the
356         --          associated driver is not defined.
357         raises DrawerDefinitionError from Graphic2d is static;
358
359         FillAndDrawImage (me: mutable; anImageId: Transient from Standard;
360                 aX, aY: ShortReal from Standard;
361                 aWidth, aHeight: Integer from Standard;
362                 anArrayOfPixels: Address from Standard)
363         ---Level: Internal
364         ---Purpose: Stores a complete image and draws it in the associated
365         --          driver.
366         --          <aX>, <aY> is ????
367         --  Category: Methods to manage the images
368         --  Warning: Raises DrawerDefinitionError if the
369         --          associated driver is not defined.
370         raises DrawerDefinitionError from Graphic2d is static;
371
372         FillAndDrawImage (me: mutable; anImageId: Transient from Standard;
373                 aX, aY: ShortReal from Standard;
374                 anIndexOfLine, aWidth, aHeight: Integer from Standard;
375                 anArrayOfPixels: Address from Standard)
376         ---Level: Internal
377         ---Purpose: Stores a line of an image and draws it in the associated
378         --          driver.
379         --          <aX>, <aY> is ????
380         --  Category: Methods to manage the images
381         --  Warning: Raises DrawerDefinitionError if the
382         --          associated driver is not defined.
383         raises DrawerDefinitionError from Graphic2d is static;
384
385         ----------------------------
386         -- Category: Convert methods
387         ----------------------------
388
389         GetMapFrom (me; x1, y1: ShortReal from Standard;
390                 x2, y2: out ShortReal from Standard)
391                 is static;
392         ---Level: Internal
393         ---Purpose: 
394         --  Category: Convert methods
395
396         GetMapFromTo (me; x1, y1: ShortReal from Standard;
397                 x2, y2: out ShortReal from Standard)
398                 is static;
399         ---Level: Internal
400         ---Purpose: 
401         ---Category: Convert methods
402
403         GetTextSize (me; aText: ExtendedString from TCollection;
404                          aWidth,aHeight: out ShortReal from Standard)
405                 returns Boolean from Standard is virtual;
406         ---Level: Internal
407         ---Purpose: Get text size in world space with the current text
408         --         attributes and returns TRUE if the driver is enabled 
409         --         to get the right size (WindowDriver ONLY!). 
410         --  Category: Convert methods
411
412         GetTextSize (me; aText: ExtendedString from TCollection;
413                          aWidth,aHeight,anXoffset,anYoffset: out ShortReal from Standard)
414                 returns Boolean from Standard is static;
415         ---Level: Internal
416         ---Purpose: Get text size and offsets 
417         --         in world space with the current text
418         --         attributes and returns TRUE if the driver is enabled 
419         --         to get the right size (WindowDriver ONLY!). 
420         --          NOTE that the text offsets defines the relative position of the
421         --         of the text string origin from the lower left corner of the text
422         --         boundary limits.
423         --  Warning : SetTextAttrib(...) must be call before.
424         --  Category: Convert methods
425
426         GetFontSize (me; aHeight,aBheight,aSlant: out ShortReal from Standard)
427                 returns Boolean from Standard is static;
428         ---Level: Internal
429         ---Purpose: Get font height,baseline height and slant
430         --         in world space with the current text
431         --         attributes and returns TRUE if the driver is enabled 
432         --       to get the right size (WindowDriver ONLY!). 
433         --  Warning : SetTextAttrib(...) must be call before.
434         --  Category: Convert methods
435
436         GetImageSize (me; aFileName: CString from Standard;
437                          aWidth,aHeight: out ShortReal from Standard)
438                 returns Boolean from Standard is static;
439         ---Level: Internal
440         ---Purpose: Get image size in world space 
441         --         and returns TRUE if the driver is enabled 
442         --         to get the right size (WindowDriver ONLY!). 
443         ---Category: Convert methods
444
445         GetImageSize (me; aFileName: CString from Standard;
446                          aWidth,aHeight: out Integer from Standard)
447                 returns Boolean from Standard is static;
448         ---Level: Internal
449         ---Purpose: Get image size in pixel space 
450         --         and returns TRUE if the driver is enabled 
451         --         to get the right size (WindowDriver ONLY!). 
452         ---Category: Convert methods
453
454         UnMapFromTo (me;
455                 x1, y1: ShortReal from Standard;
456                 x2, y2: out ShortReal from Standard)
457                 is static;
458         ---Level: Internal
459         ---Purpose: 
460         ---Category: Convert methods
461
462         Convert (me; aValue: ShortReal from Standard)
463                 returns ShortReal from Standard
464                 is static;
465         ---Level: Internal
466         ---Purpose: 
467         ---Category: Convert methods
468
469         Convert (me; aValue: Integer from Standard)
470                 returns ShortReal from Standard
471                 is static;
472         ---Level: Internal
473         ---Purpose: 
474         ---Category: Convert methods
475
476         ConvertMapToFrom (me; x: ShortReal from Standard)
477                 returns ShortReal from Standard
478                 is static;
479         ---Level: Internal
480         ---Purpose: 
481         ---Category: Convert methods
482
483         Scale (me)
484                 returns ShortReal from Standard
485                 is static;
486         ---Level: Internal
487         ---Purpose: 
488         ---Category: Convert methods
489
490         -------------------------
491         -- Category: Draw methods
492         -------------------------
493
494         DrawSegment (me : mutable; 
495                 x1, y1, x2, y2: ShortReal from Standard)
496         ---Purpose: Raises DrawerDefinitionError if the
497         --          associated driver is not defined.
498         raises DrawerDefinitionError from Graphic2d is static;
499         ---Level: Internal
500         ---Category: Draw methods
501
502         DrawPolyline (me : mutable;
503                 aDeltaX, aDeltaY: Real from Standard;
504                 aListX, aListY: Array1OfShortReal from TShort)
505         ---Purpose: Raises DrawerDefinitionError if the
506         --          associated driver is not defined.
507         raises DrawerDefinitionError from Graphic2d is static;
508         ---Level: Internal
509         ---Category: Draw methods
510
511         DrawPolygon (me : mutable;
512                 aDeltaX, aDeltaY: Real from Standard;
513                 aListX, aListY: Array1OfShortReal from TShort)
514         ---Purpose: Raises DrawerDefinitionError if the
515         --          associated driver is not defined.
516         raises DrawerDefinitionError from Graphic2d is static;
517         ---Level: Internal 
518         ---Category: Draw methods
519
520         DrawArc (me : mutable; 
521                 aDeltaX, aDeltaY: Real from Standard;
522                 aRadius, angle1, angle2: ShortReal from Standard)
523         ---Purpose: Raises DrawerDefinitionError if the
524         --          associated driver is not defined.
525         raises DrawerDefinitionError from Graphic2d is static;
526         ---Level: Internal
527         ---Category: Draw methods
528  
529         DrawPolyArc (me : mutable; 
530                 aDeltaX, aDeltaY: Real from Standard;
531                 aRadius, angle1, angle2: ShortReal from Standard)
532         ---Purpose: Raises DrawerDefinitionError if the
533         --          associated driver is not defined.
534         raises DrawerDefinitionError from Graphic2d is static;
535         ---Level: Internal
536         ---Category: Draw methods
537
538         DrawInfiniteLine (me : mutable; 
539                 x, y, dx, dy: ShortReal from Standard)
540         ---Purpose: Raises DrawerDefinitionError if the
541         --          associated driver is not defined.
542         raises DrawerDefinitionError from Graphic2d is static;
543         ---Level: Internal
544         ---Category: Draw methods
545
546         DrawMarker (me : mutable;
547                 anindex: Integer from Standard;
548                 x, y, awidth, anheight, angle: ShortReal from Standard)
549         ---Purpose: Raises DrawerDefinitionError if the
550         --          associated driver is not defined.
551         raises DrawerDefinitionError from Graphic2d is static;
552         ---Level: Internal
553         ---Category: Draw methods
554
555         DrawText (me : mutable; 
556                 aText: ExtendedString from TCollection;
557                 x, y, angle : ShortReal from Standard;
558                 aType: TypeOfText from Aspect)
559         ---Purpose: Raises DrawerDefinitionError if the
560         --          associated driver is not defined.
561         raises DrawerDefinitionError from Graphic2d is static;
562         ---Level: Internal
563         ---Category: Draw methods
564
565         DrawPolyText (me : mutable; 
566                 aText: ExtendedString from TCollection;
567                 x, y, angle, margin : ShortReal from Standard;
568                 aType: TypeOfText from Aspect)
569         ---Purpose: Raises DrawerDefinitionError if the
570         --          associated driver is not defined.
571         raises DrawerDefinitionError from Graphic2d is static;
572         ---Level: Internal
573         ---Category: Draw methods
574
575         DrawFramedText (me : mutable; 
576                 aText: ExtendedString from TCollection;
577                 x, y, angle, margin : ShortReal from Standard;
578                 aType: TypeOfText from Aspect)
579         ---Purpose: Raises DrawerDefinitionError if the
580         --          associated driver is not defined.
581         raises DrawerDefinitionError from Graphic2d is static;
582         ---Level: Internal
583         ---Category: Draw methods
584
585         -------------------------------------------
586         -- Category: Convert methods for primitives
587         -------------------------------------------
588
589         MapInfiniteLineFromTo (me : mutable;
590                  x, y, dx, dy: ShortReal from Standard)
591         ---Purpose: Raises DrawerDefinitionError if the
592         --          associated driver is not defined.
593         raises DrawerDefinitionError from Graphic2d is static;
594         ---Level: Internal
595         ---Category: Convert methods for primitives
596
597         MapSegmentFromTo (me : mutable; 
598                 x1, y1, x2, y2: ShortReal from Standard;
599                                 aMode: Integer from Standard = 0)
600         ---Level: Internal
601         ---Purpose:  RRaises DrawerDefinitionError if the
602         --          associated driver is not defined.
603         raises DrawerDefinitionError from Graphic2d is virtual;
604         ---Category: Convert methods for primitives
605
606         MapMarkerFromTo (me : mutable;
607                 anindex: Integer from Standard;
608                 x, y, awidth, anheight, angle: ShortReal from Standard;
609                                 aMode: Integer from Standard = 0)
610         ---Purpose: Raises DrawerDefinitionError if the
611         --          associated driver is not defined.
612         raises DrawerDefinitionError from Graphic2d is static;
613         ---Level: Internal
614         ---Category: Convert methods for primitives
615         
616         MapMarkersFromTo (me : mutable;
617                          index: Integer from Standard;
618                          x, y : HArray1OfShortReal from TShort;
619                          awidth, anheight, angle: ShortReal from Standard;
620                          aMode: Integer from Standard = 0)
621         ---Purpose: Raises DrawerDefinitionError if the
622         --          associated driver is not defined.
623         raises DrawerDefinitionError from Graphic2d is static;
624         ---Level: Internal
625         ---Category: Convert methods for primitives
626
627
628         MapPolylineFromTo (me : mutable;
629                 aListX, aListY: Array1OfShortReal from TShort;
630                 aNumber: Integer from Standard = 0)
631         ---Purpose: Raises DrawerDefinitionError if the
632         --          associated driver is not defined.
633         raises DrawerDefinitionError from Graphic2d is static;
634         ---Level: Internal
635         ---Category: Convert methods for primitives
636
637         MapPolylineFromTo (me : mutable; 
638                 x, y: ShortReal from Standard;
639                 aMode: Integer from Standard = 0)
640         ---Level: Internal
641         ---Purpose: Raises DrawerDefinitionError if the
642         --          associated driver is not defined.
643         raises DrawerDefinitionError from Graphic2d is static;
644         ---Category: Convert methods for primitives
645
646         MapPolygonFromTo (me : mutable;
647                 aListX, aListY: Array1OfShortReal from TShort;
648                 aNumber: Integer from Standard = 0)
649         ---Purpose: Raises DrawerDefinitionError if the
650         --          associated driver is not defined.
651         raises DrawerDefinitionError from Graphic2d is static;
652         ---Level: Internal
653         ---Category: Convert methods for primitives
654
655         MapPolygonFromTo (me : mutable; 
656                 x, y: ShortReal from Standard;
657                 aMode: Integer from Standard = 0)
658         ---Level: Internal
659         ---Purpose: Raises DrawerDefinitionError if the
660         --          associated driver is not defined.
661         raises DrawerDefinitionError from Graphic2d is static;
662         ---Category: Convert methods for primitives
663
664         MapTextFromTo (me : mutable; 
665                 aText: ExtendedString from TCollection;
666                 x, y, angle, aDeltax, aDeltay: ShortReal from Standard;
667                 aType: TypeOfText from Aspect)
668         ---Purpose: Raises DrawerDefinitionError if the
669         --          associated driver is not defined.
670         raises DrawerDefinitionError from Graphic2d is virtual;
671         ---Level: Internal
672         ---Category: Convert methods for primitives
673
674         MapPolyTextFromTo (me : mutable; 
675                 aText: ExtendedString from TCollection;
676                 x, y, angle, margin, aDeltax, aDeltay: ShortReal from Standard;
677                 aType: TypeOfText from Aspect)
678         ---Purpose: Raises DrawerDefinitionError if the
679         --          associated driver is not defined.
680         raises DrawerDefinitionError from Graphic2d is static;
681         ---Level: Internal
682         ---Category: Convert methods for primitives
683
684         MapFramedTextFromTo (me : mutable; 
685                 aText: ExtendedString from TCollection;
686                 x, y, angle, margin, aDeltax, aDeltay: ShortReal from Standard;
687                 aType: TypeOfText from Aspect)
688         ---Purpose: Raises DrawerDefinitionError if the
689         --          associated driver is not defined.
690         raises DrawerDefinitionError from Graphic2d is static;
691         ---Level: Internal
692         ---Category: Convert methods for primitives
693
694         MapArcFromTo (me : mutable;
695                 x, y, aRadius, angle1, angle2: ShortReal from Standard;
696                                 aMode: Integer from Standard = 0)
697         ---Purpose: Raises DrawerDefinitionError if the
698         --          associated driver is not defined.
699         raises DrawerDefinitionError from Graphic2d is virtual;
700         ---Level: Internal
701         ---Category: Convert methods for primitives
702
703         MapPolyArcFromTo (me : mutable;
704                 x, y, aRadius, angle1, angle2: ShortReal from Standard;
705                                 aMode: Integer from Standard = 0)
706         ---Purpose: Raises DrawerDefinitionError if the
707         --          associated driver is not defined.
708         raises DrawerDefinitionError from Graphic2d is static;
709         ---Level: Internal
710         ---Category: Convert methods for primitives
711
712         -----------------------------
713         -- Category: Rejection method
714         -----------------------------
715
716         SetRejection (me : mutable; aClipFlag: Boolean from Standard) is static;
717         ---Level: Internal
718         ---Purpose: Sets the clipping flag with <aClipFlag> value.
719
720         IsIn (me; aMinX, aMaxX, aMinY, aMaxY: ShortReal from Standard)
721                 returns Boolean from Standard
722                 is static;
723         ---Level: Internal
724         ---Purpose: Returns Standard_True if the given min max intersects
725         --          with the drawer space.
726         --          Called by the method Draw of a primitive.
727         --          IsIn permits the rejection of the primitive only
728         --          if the Clipping flag is TRUE.
729         --          When the Clipping flag is FALSE,this method returns
730         --          always TRUE.
731         ---Category: Rejection method
732
733 fields
734         myXF:   ShortReal from Standard;
735         myYF:   ShortReal from Standard;
736         mySF:   ShortReal from Standard;
737
738         myXT:   ShortReal from Standard;
739         myYT:   ShortReal from Standard;
740         myST:   ShortReal from Standard;
741         myZF:   ShortReal from Standard;
742
743         myDrawPrecision:                ShortReal from Standard is protected;
744         myDeflectionCoefficient:        Real from Standard is protected;
745         myTypeOfDeflection:             TypeOfDeflection from Aspect is protected;
746         myTextPrecision:                ShortReal from Standard;
747
748         myOverrideColor:        Integer from Standard;
749         myOverride:             Boolean from Standard;
750
751         myOffSet:               Integer from Standard;
752
753         -- Space of the drawing area;
754         mySpaceWidth:           ShortReal from Standard is protected;
755         mySpaceHeight:          ShortReal from Standard is protected;
756
757         myDriver:               DriverPtr from Aspect is protected;
758         myDriverIsDefined:      Boolean from Standard is protected;
759         myWDriver:              WindowDriverPtr from Aspect is protected;
760         myPDriver:              PlotterDriverPtr from PlotMgt is protected;
761         myMinMaxIsActivated:    Boolean from Standard is protected;
762         myMinX,myMinY,myMaxX,myMaxY : ShortReal from Standard is protected;
763         myClippingIsActivated:    Boolean from Standard is protected;
764
765 end Drawer from Graphic2d;
766