smooth view transformations, set the smoothview value to about 250 and the view anima...
[blender.git] / source / blender / include / BSE_drawview.h
1 /**
2  * $Id$
3  *
4  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. The Blender
10  * Foundation also sells licenses for use in proprietary software under
11  * the Blender License.  See http://www.blender.org/BL/ for information
12  * about this.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22  *
23  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24  * All rights reserved.
25  *
26  * The Original Code is: all of this file.
27  *
28  * Contributor(s): none yet.
29  *
30  * ***** END GPL/BL DUAL LICENSE BLOCK *****
31  */
32
33 #ifndef BSE_DRAWVIEW_H
34 #define BSE_DRAWVIEW_H
35
36 struct Object;
37 struct BGpic;
38 struct rctf;
39 struct ScrArea;
40 struct ImBuf;
41
42 void default_gl_light(void);
43 void init_gl_stuff(void);
44 void circf(float x, float y, float rad);
45 void circ(float x, float y, float rad);
46
47 void do_viewbuts(unsigned short event);
48
49 /* View3DAfter->type */
50 #define V3D_XRAY        1
51 #define V3D_TRANSP      2
52 void add_view3d_after(struct View3D *v3d, struct Base *base, int type);
53
54 void backdrawview3d(int test);
55 void check_backbuf(void);
56 unsigned int sample_backbuf(int x, int y);
57 struct ImBuf *read_backbuf(short xmin, short ymin, short xmax, short ymax);
58 unsigned int sample_backbuf_rect(short mval[2], int size, unsigned int min, unsigned int max, int *dist, short strict, unsigned int (*indextest)(unsigned int index));
59
60 void drawview3dspace(struct ScrArea *sa, void *spacedata);
61 void drawview3d_render(struct View3D *v3d, int winx, int winy);
62
63 int update_time(void);
64 void calc_viewborder(struct View3D *v3d, struct rctf *viewborder_r);
65 void view3d_set_1_to_1_viewborder(struct View3D *v3d);
66
67 int view3d_test_clipping(struct View3D *v3d, float *vec);
68 void view3d_set_clipping(struct View3D *v3d);
69 void view3d_clr_clipping(void);
70
71 void sumo_callback(void *obp);
72 void init_anim_sumo(void);
73 void update_anim_sumo(void);
74 void end_anim_sumo(void);
75
76 void inner_play_anim_loop(int init, int mode);
77 int play_anim(int mode);
78
79 void make_axis_color(char *col, char *col2, char axis);
80
81 /* SMOOTHVIEW */
82 void smooth_view(struct View3D *v3d, float *ofs, float *quat, float *dist);
83
84 #endif /* BSE_DRAWVIEW_H */
85