Also use const char in many other parts of blenders code. Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
149 lines
5.8 KiB
C++
149 lines
5.8 KiB
C++
/*
|
|
* $Id$
|
|
*
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
* All rights reserved.
|
|
*
|
|
* The Original Code was in: source/blender/bpython/include/BPY_extern.h
|
|
*
|
|
* Contributor(s): Michel Selten, Willian P. Germano, Chris Keith
|
|
*
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
*/
|
|
|
|
#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 */
|
|
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;
|
|
struct ReportList;
|
|
|
|
#ifdef __cplusplus
|
|
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_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_free_pyconstraint_links(struct Text *text);
|
|
//
|
|
void BPY_start_python( int argc, char **argv );
|
|
void BPY_end_python( void );
|
|
// void init_syspath( int first_time );
|
|
// void syspath_append( char *dir );
|
|
// void BPY_rebuild_syspath( void );
|
|
// int BPY_path_update( void );
|
|
//
|
|
// 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);
|
|
|
|
/* format importer hook */
|
|
int BPY_call_importloader(const 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);
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* BPY_EXTERN_H */
|