fixed spacing in the headers to get rid of some warnings and some other
[blender.git] / source / blender / include / BIF_interface.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 BIF_INTERFACE_H
34 #define BIF_INTERFACE_H
35
36 struct ID;
37 struct ListBase;
38 struct ScrArea;
39
40 typedef struct uiBut uiBut;
41 typedef struct uiBlock uiBlock;
42
43 extern int UIfrontbuf;
44
45 void uiEmboss(float x1, float y1, float x2, float y2, int sel);
46 void uiDrawMenuBox(float minx, float miny, float maxx, float maxy);
47 void uiBoundsBlock(struct uiBlock *block, int addval);
48 void uiDrawBlock(struct uiBlock *block);
49 void uiGetMouse(int win, short *adr);
50 void uiComposeLinks(uiBlock *block);
51 void uiSetButLock(int val, char *lockstr);
52 void uiClearButLock(void);
53 int uiDoBlocks(struct ListBase *lb, int event);
54 void uiSetCurFont(uiBlock *block, int index);
55 void uiDefFont(unsigned int index, void *xl, void *large, void *medium, void *small);
56 void uiFreeBlock(uiBlock *block);
57 void uiFreeBlocks(struct ListBase *lb);
58 void uiFreeBlocksWin(struct ListBase *lb, int win);
59 uiBlock *uiNewBlock(struct ListBase *lb, char *name, short dt, short font, short win);
60 uiBlock *uiGetBlock(char *name, struct ScrArea *sa);
61 uiBut *uiDefBut(uiBlock *block, 
62                                            int type, int retval, char *str, 
63                                            short x1, short y1, 
64                                            short x2, short y2, 
65                                            void *poin, 
66                                            float min, float max, 
67                                            float a1, float a2,  char *tip);
68 uiBut *uiDefButF(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
69 uiBut *uiDefButI(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
70 uiBut *uiDefButS(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
71 uiBut *uiDefButC(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
72
73 uiBut *uiDefIconBut(uiBlock *block, 
74                                            int type, int retval, int icon, 
75                                            short x1, short y1, 
76                                            short x2, short y2, 
77                                            void *poin, 
78                                            float min, float max, 
79                                            float a1, float a2,  char *tip);
80 uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2,  char *tip);
81 uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2,  char *tip);
82 uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2,  char *tip);
83 uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2,  char *tip);
84
85 typedef void            (*uiIDPoinFuncFP)       (char *str, struct ID **idpp);
86 void uiDefIDPoinBut(struct uiBlock *block,
87                                                 uiIDPoinFuncFP func, int retval, char *str,
88                                                 short x1, short y1,
89                                                 short x2, short y2,
90                                                 void *idpp, char *tip);
91
92 typedef uiBlock* (*uiBlockFuncFP)       (void *arg1);
93 void uiDefBlockBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip);
94
95 void uiDefKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *spoin, char *tip);
96
97 void uiAutoBlock(struct uiBlock *block, 
98                                  float minx, float miny, 
99                                  float sizex, float sizey, int flag);
100 void uiSetButLink(struct uiBut *but, 
101                                   void **poin, 
102                                   void ***ppoin, 
103                                   short *tot, 
104                                   int from, int to);
105
106 int             uiBlocksGetYMin         (ListBase *lb);
107 int             uiBlockGetCol           (uiBlock *block);
108 void*   uiBlockGetCurFont       (uiBlock *block);
109
110 void    uiBlockSetCol           (uiBlock *block, int col);
111 void    uiBlockSetEmboss        (uiBlock *block, int emboss);
112 void    uiBlockSetDirection     (uiBlock *block, int direction);
113 void    uiBlockSetFlag          (uiBlock *block, int flag);
114 void    uiBlockSetXOfs          (uiBlock *block, int xofs);
115
116 int             uiButGetRetVal          (uiBut *but);
117
118 void    uiButSetFlag            (uiBut *but, int flag);
119
120 void    uiBlockSetButmFunc      (uiBlock *block, void (*butmfunc)(void *arg, int but_a2), void *arg);
121
122 void    uiBlockSetFunc          (uiBlock *block,        void (*func)(void *arg1, void *arg2), void *arg1, void *arg2);
123 void    uiButSetFunc            (uiBut *but,            void (*func)(void *arg1, void *arg2), void *arg1, void *arg2);
124
125 short pupmenu(char *instr); 
126 short pupmenu_col(char *instr, int maxrow);
127
128 #endif /*  BIF_INTERFACE_H */
129