diff options
Diffstat (limited to 'source/blender/python/BPY_extern.h')
-rw-r--r-- | source/blender/python/BPY_extern.h | 102 |
1 files changed, 27 insertions, 75 deletions
diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h index 40d544ac17e..2abe6044ca3 100644 --- a/source/blender/python/BPY_extern.h +++ b/source/blender/python/BPY_extern.h @@ -27,11 +27,16 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file BPY_extern.h + * \ingroup python + */ + + + #ifndef BPY_EXTERN_H #define BPY_EXTERN_H extern char bprogname[]; /* holds a copy of argv[0], from creator.c */ -extern char btempdir[]; /* use this to store a valid temp directory */ struct Text; /* defined in DNA_text_types.h */ struct ID; /* DNA_ID.h */ @@ -39,14 +44,12 @@ struct Object; /* DNA_object_types.h */ struct ChannelDriver; /* DNA_anim_types.h */ struct ListBase; /* DNA_listBase.h */ struct SpaceText; /* DNA_space_types.h */ -struct SpaceScript; /* DNA_space_types.h */ struct ScrArea; /* DNA_screen_types.h */ struct bScreen; /* DNA_screen_types.h */ struct bConstraint; /* DNA_constraint_types.h */ struct bPythonConstraint; /* DNA_constraint_types.h */ struct bConstraintOb; /* DNA_constraint_types.h */ struct bConstraintTarget; /* DNA_constraint_types.h*/ -struct Script; /* DNA_screen_types.h */ struct BPyMenu; struct bContext; struct bContextDataResult; @@ -56,34 +59,15 @@ struct ReportList; extern "C" { #endif - /*These two next functions are important for making sure the Draw module - works correctly. Before calling any gui callback using the Draw module, - the following code must be executed: - - if (some_drawspace_pylist) { - BPy_Set_DrawButtonsList(some_drawspace_pylist->but_refs); - BPy_Free_DrawButtonsList(); - } - some_drawspace_pylist = PyList_New(0); - BPy_Set_DrawButtonsList(some_drawspace_pylist); - - Also, BPy_Free_DrawButtonsList() must be called as necassary when a drawspace - with python callbacks is destroyed. - - This is necassary to avoid blender buttons storing invalid pointers to freed - python data.*/ -// void BPy_Set_DrawButtonsList(void *list); -// void BPy_Free_DrawButtonsList(void); -// - void BPY_pyconstraint_eval(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets); +void BPY_pyconstraint_exec(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets); // void BPY_pyconstraint_settings(void *arg1, void *arg2); - void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct); - void BPY_pyconstraint_update(struct Object *owner, struct bConstraint *con); - int BPY_is_pyconstraint(struct Text *text); +void BPY_pyconstraint_target(struct bPythonConstraint *con, struct bConstraintTarget *ct); +void BPY_pyconstraint_update(struct Object *owner, struct bConstraint *con); +int BPY_is_pyconstraint(struct Text *text); // void BPY_free_pyconstraint_links(struct Text *text); // - void BPY_start_python( int argc, char **argv ); - void BPY_end_python( void ); +void BPY_python_start(int argc, const char **argv); +void BPY_python_end( void ); // void init_syspath( int first_time ); // void syspath_append( char *dir ); // void BPY_rebuild_syspath( void ); @@ -91,55 +75,23 @@ extern "C" { // // int BPY_Err_getLinenumber( void ); // const char *BPY_Err_getFilename( void ); -// -// int BPY_txt_do_python_Text( struct Text *text ); -// int BPY_menu_do_python( short menutype, int event ); -// int BPY_menu_do_shortcut( short menutype, unsigned short key, unsigned short modifiers ); -// int BPY_menu_invoke( struct BPyMenu *pym, short menutype ); - - /* 2.5 UI Scripts */ - int BPY_run_python_script( struct bContext *C, const char *filename, struct Text *text, struct ReportList *reports ); // 2.5 working - int BPY_run_script_space_draw(const struct bContext *C, struct SpaceScript * sc); // 2.5 working -// int BPY_run_script_space_listener(struct bContext *C, struct SpaceScript * sc, struct ARegion *ar, struct wmNotifier *wmn); // 2.5 working - void BPY_update_modules( void ); // XXX - annoying, need this for pointers that get out of date -// - int BPY_context_get(struct bContext *C, const char *member, struct bContextDataResult *result); -// -// int BPY_run_script(struct Script *script); - void BPY_free_compiled_text( struct Text *text ); -// -// int BPY_has_onload_script( void ); -// -// int BPY_is_spacehandler(struct Text *text, char spacetype); -// int BPY_del_spacehandler(struct Text *text, struct ScrArea *sa); -// int BPY_add_spacehandler(struct Text *txt, struct ScrArea *sa,char spacetype); -// int BPY_has_spacehandler(struct Text *text, struct ScrArea *sa); -// void BPY_screen_free_spacehandlers(struct bScreen *sc); -// int BPY_do_spacehandlers(struct ScrArea *sa, unsigned short event, -// short eventValue, unsigned short space_event); -// -// void BPY_pydriver_update(void); - float BPY_eval_driver(struct ChannelDriver *driver); -// - int BPY_eval_button(struct bContext *C, const char *expr, double *value); - int BPY_eval_string(struct bContext *C, const char *expr); +/* 2.5 UI Scripts */ +int BPY_filepath_exec(struct bContext *C, const char *filepath, struct ReportList *reports); +int BPY_text_exec(struct bContext *C, struct Text *text, struct ReportList *reports); +void BPY_text_free_code(struct Text *text); +void BPY_modules_update(struct bContext *C); // XXX - annoying, need this for pointers that get out of date +void BPY_modules_load_user(struct bContext *C); -/* format importer hook */ - int BPY_call_importloader( char *name ); -// -// void BPY_spacescript_do_pywin_draw( struct SpaceScript *sc ); -// void BPY_spacescript_do_pywin_event( struct SpaceScript *sc, -// unsigned short event, short val, char ascii ); -// void BPY_free_finished_script( struct Script *script ); -// void BPY_scripts_clear_pyobjects( void ); -// -// void error_pyscript( void ); - void BPY_DECREF(void *pyob_ptr); /* Py_DECREF() */ - void BPY_set_context(struct bContext *C); -/* void BPY_Err_Handle(struct Text *text); */ -/* int BPY_spacetext_is_pywin(struct SpaceText *st); */ - void BPY_load_user_modules(struct bContext *C); +void BPY_driver_reset(void); +float BPY_driver_exec(struct ChannelDriver *driver); + +int BPY_button_exec(struct bContext *C, const char *expr, double *value); +int BPY_string_exec(struct bContext *C, const char *expr); + +void BPY_DECREF(void *pyob_ptr); /* Py_DECREF() */ +int BPY_context_member_get(struct bContext *C, const char *member, struct bContextDataResult *result); +void BPY_context_set(struct bContext *C); #ifdef __cplusplus } /* extern "C" */ |