1 /********************************************************************/
2 /*                                                                  */
3 /*  drw_drv.h     Prototypes for drawing functions.                 */
4 /*  Copyright (C) 1989 - 2007  Thomas Mertes                        */
5 /*                                                                  */
6 /*  This file is part of the Seed7 Runtime Library.                 */
7 /*                                                                  */
8 /*  The Seed7 Runtime Library is free software; you can             */
9 /*  redistribute it and/or modify it under the terms of the GNU     */
10 /*  Lesser General Public License as published by the Free Software */
11 /*  Foundation; either version 2.1 of the License, or (at your      */
12 /*  option) any later version.                                      */
13 /*                                                                  */
14 /*  The Seed7 Runtime Library is distributed in the hope that it    */
15 /*  will be useful, but WITHOUT ANY WARRANTY; without even the      */
16 /*  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */
17 /*  PURPOSE.  See the GNU Lesser General Public License for more    */
18 /*  details.                                                        */
19 /*                                                                  */
20 /*  You should have received a copy of the GNU Lesser General       */
21 /*  Public License along with this program; if not, write to the    */
22 /*  Free Software Foundation, Inc., 51 Franklin Street,             */
23 /*  Fifth Floor, Boston, MA  02110-1301, USA.                       */
24 /*                                                                  */
25 /*  Module: Seed7 Runtime Library                                   */
26 /*  File: seed7/src/drw_drv.h                                       */
27 /*  Changes: 1994, 2000, 2004  Thomas Mertes                        */
28 /*  Content: Prototypes for drawing functions.                      */
29 /*                                                                  */
30 /********************************************************************/
31 
32 boolType gkbButtonPressed (charType button);
33 intType gkbButtonXpos (void);
34 intType gkbButtonYpos (void);
35 charType gkbGetc (void);
36 boolType gkbKeyPressed (void);
37 charType gkbRawGetc (void);
38 void gkbSelectInput (winType aWindow, charType aKey, boolType active);
39 winType gkbWindow (void);
40 intType drwPointerXpos (const_winType actual_window);
41 intType drwPointerYpos (const_winType actual_window);
42 void drwArc (const_winType actual_window, intType x, intType y,
43     intType radius, floatType startAngle, floatType sweepAngle);
44 void drwPArc (const_winType actual_window, intType x, intType y,
45     intType radius, floatType startAngle, floatType sweepAngle, intType col);
46 void drwFArcChord (const_winType actual_window, intType x, intType y,
47     intType radius, floatType startAngle, floatType sweepAngle);
48 void drwPFArcChord (const_winType actual_window, intType x, intType y,
49     intType radius, floatType startAngle, floatType sweepAngle, intType col);
50 void drwFArcPieSlice (const_winType actual_window, intType x, intType y,
51     intType radius, floatType startAngle, floatType sweepAngle);
52 void drwPFArcPieSlice (const_winType actual_window, intType x, intType y,
53     intType radius, floatType startAngle, floatType sweepAngle, intType col);
54 void drwArc2 (const_winType actual_window,
55     intType x1, intType y1, intType x2, intType y2, intType radius);
56 rtlArrayType drwBorder (const_winType actual_window);
57 winType drwCapture (intType left, intType upper,
58     intType width, intType height);
59 void drwCircle (const_winType actual_window,
60     intType x, intType y, intType radius);
61 void drwPCircle (const_winType actual_window,
62     intType x, intType y, intType radius, intType col);
63 void drwClear (winType actual_window, intType col);
64 void drwColor (intType col);
65 rtlArrayType drwConvPointList (const const_bstriType pointList);
66 void drwCopyArea (const_winType src_window, const_winType dest_window,
67     intType src_x, intType src_y, intType width, intType height,
68     intType dest_x, intType dest_y);
69 void drwFCircle (const_winType actual_window,
70     intType x, intType y, intType radius);
71 void drwPFCircle (const_winType actual_window,
72     intType x, intType y, intType radius, intType col);
73 void drwFEllipse (const_winType actual_window,
74     intType x, intType y, intType width, intType height);
75 void drwPFEllipse (const_winType actual_window,
76     intType x, intType y, intType width, intType height, intType col);
77 winType drwEmpty (void);
78 void drwFlush (void);
79 void drwFree (winType old_window);
80 winType drwGet (const_winType source_window, intType left, intType upper,
81     intType width, intType height);
82 bstriType drwGetImage (const_winType source_window);
83 intType drwGetPixel (const_winType source_window, intType x, intType y);
84 void drwPixelToRgb (intType col, intType *redLight, intType *greenLight, intType *blueLight);
85 intType drwHeight (const_winType actual_window);
86 winType drwImage (int32Type *image_data, memSizeType width, memSizeType height);
87 void drwLine (const_winType actual_window,
88     intType x1, intType y1, intType x2, intType y2);
89 void drwPLine (const_winType actual_window,
90     intType x1, intType y1, intType x2, intType y2, intType col);
91 winType drwNewPixmap (intType width, intType height);
92 winType drwNewBitmap (const_winType actual_window, intType width, intType height);
93 winType drwOpen (intType xPos, intType yPos,
94     intType width, intType height, const const_striType window_name);
95 winType drwOpenSubWindow (const_winType parent_window, intType xPos, intType yPos,
96     intType width, intType height);
97 void drwSetCloseAction (winType actual_window, intType closeAction);
98 void drwSetCursorVisible (winType aWindow, boolType visible);
99 void drwPoint (const_winType actual_window, intType x, intType y);
100 void drwPPoint (const_winType actual_window, intType x, intType y, intType col);
101 bstriType drwGenPointList (const const_rtlArrayType xyArray);
102 intType drwLngPointList (bstriType point_list);
103 void drwPolyLine (const_winType actual_window,
104     intType x, intType y, bstriType point_list, intType col);
105 void drwFPolyLine (const_winType actual_window,
106     intType x, intType y, bstriType point_list, intType col);
107 void drwPut (const_winType destWindow, intType xDest, intType yDest,
108     const_winType pixmap);
109 void drwPutScaled (const_winType destWindow, intType xDest, intType yDest,
110     intType width, intType height, const_winType pixmap);
111 void drwRect (const_winType actual_window,
112     intType x, intType y, intType width, intType height);
113 void drwPRect (const_winType actual_window,
114     intType x, intType y, intType width, intType height, intType col);
115 intType drwRgbColor (intType redLight, intType greenLight, intType blueLight);
116 void drwBackground (intType col);
117 intType drwScreenHeight (void);
118 intType drwScreenWidth (void);
119 void drwSetContent (const_winType actual_window, const_winType pixmap);
120 void drwSetPos (const_winType actual_window, intType xPos, intType yPos);
121 void drwSetTransparentColor (winType pixmap, intType col);
122 void drwSetWindowName (winType aWindow, const const_striType windowName);
123 void drwText (const_winType actual_window, intType x, intType y,
124     const const_striType stri, intType col, intType bkcol);
125 void drwToBottom (const_winType actual_window);
126 void drwToTop (const_winType actual_window);
127 intType drwWidth (const_winType actual_window);
128 intType drwXPos (const_winType actual_window);
129 intType drwYPos (const_winType actual_window);
130