|
Blender
V2.59
|
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 */