Initial revision
[blender.git] / source / blender / bpython / intern / BPY_main.h
1 /* BlenderPython Main routine header *
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 //   Note: Functions prefixed with BPY_ are called from blenkernel routines */
33
34
35 #include "Python.h" /* The python includes themselves. */
36 #include "compile.h" /* to give us PyCodeObject */
37 #include "eval.h" /*  for PyEval_EvalCode.h */
38
39 /* blender stuff */
40 #include "MEM_guardedalloc.h"
41 #include "BLI_blenlib.h"
42 #include "BLI_editVert.h"
43 #include "BLI_fileops.h" /* string handling of filenames */
44
45 #include "BKE_bad_level_calls.h"
46 // #include "BKE_editmesh.h"
47
48 #include "BKE_global.h"
49 #include "BKE_main.h"
50
51 #include "BLO_genfile.h" // for BLO_findstruct_offset only
52 #include "BKE_text.h"
53 #include "BKE_displist.h"
54 #include "BKE_mesh.h"
55 #include "BKE_material.h"
56 #include "BKE_object.h"
57 #include "BKE_screen.h"
58 #include "BKE_scene.h"
59 #include "BKE_library.h"
60 #include "BKE_text.h"
61
62 #include "b_interface.h"
63
64 /* prototypes of externally used functions are HERE */
65 #include "BPY_extern.h"
66
67         /* I just chucked some prototypes
68          * here... not sure where they should
69          * really be. -zr
70          */
71 extern struct ID * script_link_id;
72
73 extern PyObject *g_blenderdict;
74 extern int g_window_redrawn;
75 extern int disable_force_draw;
76
77 void window_update_curCamera(Object *);
78 PyObject *ConstObject_New(void);
79 void insertConst(PyObject *dict, char *name, PyObject *item);
80 PyObject *Windowmodule_Redraw(PyObject *self, PyObject *args);
81
82 char *event_to_name(short event);
83 void syspath_append(PyObject *dir);
84 void init_syspath(void);
85 void set_scriptlinks(ID *id, short event);
86 void release_scriptlinks(ID *id);