cd72a147741eae4f656de48ff0791b9b04659ca6
[blender.git] / source / blender / include / BSE_drawipo.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_DRAWIPO_H
34 #define BSE_DRAWIPO_H
35
36 #define IN_2D_VERT_SCROLL(A) (BLI_in_rcti(&G.v2d->vert, A[0], A[1]))
37 #define IN_2D_HORIZ_SCROLL(A) (BLI_in_rcti(&G.v2d->hor, A[0], A[1]))
38
39 #define SELECT_REPLACE   1
40 #define SELECT_ADD       2
41 #define SELECT_SUBTRACT  4
42 #define SELECT_INVERT   16
43
44 struct ScrArea;
45 struct EditIpo;
46 struct View2D;
47 struct rctf;
48
49 void calc_ipogrid(void);
50 void draw_ipogrid(void);
51
52 void areamouseco_to_ipoco       (struct View2D *v2d, short *mval, float *x, float *y);
53 void ipoco_to_areaco            (struct View2D *v2d, float *vec, short *mval);
54 void ipoco_to_areaco_noclip     (struct View2D *v2d, float *vec, short *mval);
55
56 void view2d_zoom                        (struct View2D *v2d, float factor, int winx, int winy);
57 void test_view2d                        (struct View2D *v2d, int winx, int winy);
58 void calc_scrollrcts            (struct ScrArea *sa, struct View2D *v2d, int winx, int winy);
59
60 int in_ipo_buttons(void);
61 void draw_view2d_numbers_horiz(int drawframes);
62 void drawscroll(int disptype);
63 void drawipospace(struct ScrArea *sa, void *spacedata);
64
65 void center_currframe(void);
66 void scroll_ipobuts(void);
67 int view2dzoom(unsigned short event);
68 int view2dmove(unsigned short event); 
69 void view2dborder(void);
70
71 struct EditIpo *select_proj_ipo(struct rctf *rectf, int event);
72
73
74 #endif  /*  BSE_DRAWIPO_H */
75