Blender  V2.59
BPY_extern.h
Go to the documentation of this file.
00001 /*
00002  * $Id: BPY_extern.h 37795 2011-06-24 16:54:30Z campbellbarton $
00003  *
00004  * ***** BEGIN GPL LICENSE BLOCK *****
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * as published by the Free Software Foundation; either version 2
00009  * of the License, or (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software Foundation,
00018  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019  *
00020  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
00021  * All rights reserved.
00022  *
00023  * The Original Code was in: source/blender/bpython/include/BPY_extern.h
00024  *
00025  * Contributor(s): Michel Selten, Willian P. Germano, Chris Keith
00026  *
00027  * ***** END GPL LICENSE BLOCK *****
00028  */
00029 
00036 #ifndef BPY_EXTERN_H
00037 #define BPY_EXTERN_H
00038 
00039 extern char bprogname[];        /* holds a copy of argv[0], from creator.c */
00040 
00041 struct Text; /* defined in DNA_text_types.h */
00042 struct ID; /* DNA_ID.h */
00043 struct Object; /* DNA_object_types.h */
00044 struct ChannelDriver; /* DNA_anim_types.h */
00045 struct ListBase; /* DNA_listBase.h */
00046 struct SpaceText; /* DNA_space_types.h */
00047 struct ScrArea; /* DNA_screen_types.h */
00048 struct bScreen; /* DNA_screen_types.h */
00049 struct bConstraint; /* DNA_constraint_types.h */
00050 struct bPythonConstraint; /* DNA_constraint_types.h */
00051 struct bConstraintOb; /* DNA_constraint_types.h */
00052 struct bConstraintTarget; /* DNA_constraint_types.h*/
00053 struct BPyMenu;
00054 struct bContext;
00055 struct bContextDataResult;
00056 struct ReportList;
00057 
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061 
00062 void BPY_pyconstraint_exec(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets);
00063 //      void BPY_pyconstraint_settings(void *arg1, void *arg2);
00064 void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct);
00065 void BPY_pyconstraint_update(struct Object *owner, struct bConstraint *con);
00066 int BPY_is_pyconstraint(struct Text *text);
00067 //      void BPY_free_pyconstraint_links(struct Text *text);
00068 //
00069 void BPY_python_start(int argc, const char **argv);
00070 void BPY_python_end(void);
00071 //      void init_syspath(int first_time);
00072 //      void syspath_append(char *dir);
00073 //      void BPY_rebuild_syspath(void);
00074 //      int BPY_path_update(void);
00075 //
00076 //      int BPY_Err_getLinenumber(void);
00077 //      const char *BPY_Err_getFilename(void);
00078 
00079 /* 2.5 UI Scripts */
00080 int             BPY_filepath_exec(struct bContext *C, const char *filepath, struct ReportList *reports);
00081 int             BPY_text_exec(struct bContext *C, struct Text *text, struct ReportList *reports, const short do_jump);
00082 void    BPY_text_free_code(struct Text *text);
00083 void    BPY_modules_update(struct bContext *C); // XXX - annoying, need this for pointers that get out of date
00084 void    BPY_modules_load_user(struct bContext *C);
00085 
00086 void    BPY_app_handlers_reset(void);
00087 
00088 void    BPY_driver_reset(void);
00089 float   BPY_driver_exec(struct ChannelDriver *driver);
00090 
00091 int             BPY_button_exec(struct bContext *C, const char *expr, double *value, const short verbose);
00092 int             BPY_string_exec(struct bContext *C, const char *expr);
00093 
00094 void    BPY_DECREF(void *pyob_ptr);     /* Py_DECREF() */
00095 int             BPY_context_member_get(struct bContext *C, const char *member, struct bContextDataResult *result);
00096 void    BPY_context_set(struct bContext *C);
00097 
00098 void    BPY_id_release(struct ID *id);
00099 
00100 #ifdef __cplusplus
00101 }                               /* extern "C" */
00102 #endif
00103 
00104 #endif  /* BPY_EXTERN_H */