1e581b3dc4b09cf5a24c09b91b9ab52bf2f61eb4
[blender.git] / source / blender / include / BIF_mywindow.h
1
2 /**
3  * $Id$
4  *
5  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version. The Blender
11  * Foundation also sells licenses for use in proprietary software under
12  * the Blender License.  See http://www.blender.org/BL/ for information
13  * about this.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software Foundation,
22  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23  *
24  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
25  * All rights reserved.
26  *
27  * The Original Code is: all of this file.
28  *
29  * Contributor(s): none yet.
30  *
31  * ***** END GPL/BL DUAL LICENSE BLOCK *****
32  * These are the protos for mywindow.c -- an emulation of the
33  * (obsolete) IrisGL command set 
34  */
35
36 #ifndef BIF_MYWINDOW_H
37 #define BIF_MYWINDOW_H
38
39 struct rcti;
40
41 /*---*/
42
43 int mywinget(void);
44 void mywinclose(int winid);
45 void mywinposition(int winid, 
46                                    int xmin, int xmax, 
47                                    int ymin, int ymax);
48 /*---*/
49
50 int bwin_qtest(int winid);
51 unsigned short bwin_qread(int winid, short *val_r, char *ascii_r);
52 void bwin_qadd(int winid, unsigned short event, short val, char ascii);
53
54 /*---*/
55
56 void bwin_load_viewmatrix(int winid, float mat[][4]);
57 void bwin_load_winmatrix(int winid, float mat[][4]);
58
59 void bwin_get_viewmatrix(int winid, float mat[][4]);
60 void bwin_get_winmatrix(int winid, float mat[][4]);
61
62 void bwin_ortho(int winid, float x1, float x2, float y1, float y2, float n, float f);
63 void bwin_ortho2(int win, float x1, float x2, float y1, float y2);
64 void bwin_frustum(int winid, float x1, float x2, float y1, float y2, float n, float f);
65
66 void bwin_getsize(int winid, int *x, int *y);
67 void bwin_getsuborigin(int winid, int *x, int *y);
68 void bwin_get_rect(int winid, struct rcti *rect_r);
69 void bwin_getsinglematrix(int winid, float mat[][4]);
70 void bwin_clear_viewmat(int winid);
71
72 int myswinopen(int parentid, int xmin, int xmax, int ymin, int ymax);
73 void myswapbuffers(void);
74
75 void mygetmatrix(float mat[][4]);
76 void mymultmatrix(float [][4]);
77 void myloadmatrix(float mat[][4]);
78 void mywinset(int wid);
79 void myortho(float x1, float x2, float y1, float y2, float n, float f);
80 void myortho2(float x1, float x2, float y1, float y2);
81 void mywindow(float x1, float x2, float y1, float y2, float n, float f);
82 void mygetsingmatrix(float (*)[4]);
83
84 void setlinestyle(int nr);
85
86 void BIF_wait_for_statechange(void);
87
88 #define L_MOUSE 1
89 #define M_MOUSE 2
90 #define R_MOUSE 4
91 short get_mbut(void);
92 short get_qual(void);
93 void getmouse(short *mval);
94
95 void warp_pointer(int x, int y);
96
97 int framebuffer_to_index(unsigned int col);
98 unsigned int index_to_framebuffer(int index);
99
100 int mywin_inmenu(void);
101 void mywin_getmenu_rect(int *x, int *y, int *sx, int *sy);
102
103 void my_put_frontbuffer_image(void);
104 void my_get_frontbuffer_image(int x, int y, int sx, int sy);
105
106 #endif
107