Blender  V2.93
BKE_callbacks.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
21 #pragma once
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 struct Depsgraph;
28 struct ID;
29 struct Main;
30 struct PointerRNA;
31 
39 typedef enum {
63 } eCbEvent;
64 
65 typedef struct bCallbackFuncStore {
67  void (*func)(struct Main *, struct PointerRNA **, const int num_pointers, void *arg);
68  void *arg;
69  short alloc;
71 
72 void BKE_callback_exec(struct Main *bmain,
73  struct PointerRNA **pointers,
74  const int num_pointers,
75  eCbEvent evt);
76 void BKE_callback_exec_null(struct Main *bmain, eCbEvent evt);
77 void BKE_callback_exec_id(struct Main *bmain, struct ID *id, eCbEvent evt);
78 void BKE_callback_exec_id_depsgraph(struct Main *bmain,
79  struct ID *id,
80  struct Depsgraph *depsgraph,
81  eCbEvent evt);
82 void BKE_callback_add(bCallbackFuncStore *funcstore, eCbEvent evt);
83 
84 void BKE_callback_global_init(void);
86 
87 #ifdef __cplusplus
88 }
89 #endif
struct bCallbackFuncStore bCallbackFuncStore
void BKE_callback_add(bCallbackFuncStore *funcstore, eCbEvent evt)
Definition: callbacks.c:77
void BKE_callback_exec_id_depsgraph(struct Main *bmain, struct ID *id, struct Depsgraph *depsgraph, eCbEvent evt)
Definition: callbacks.c:61
void BKE_callback_global_finalize(void)
Definition: callbacks.c:89
void BKE_callback_exec_null(struct Main *bmain, eCbEvent evt)
Definition: callbacks.c:46
eCbEvent
Definition: BKE_callbacks.h:39
@ BKE_CB_EVT_LOAD_FACTORY_STARTUP_POST
Definition: BKE_callbacks.h:61
@ BKE_CB_EVT_REDO_POST
Definition: BKE_callbacks.h:56
@ BKE_CB_EVT_TOT
Definition: BKE_callbacks.h:62
@ BKE_CB_EVT_LOAD_FACTORY_USERDEF_POST
Definition: BKE_callbacks.h:60
@ BKE_CB_EVT_RENDER_COMPLETE
Definition: BKE_callbacks.h:47
@ BKE_CB_EVT_DEPSGRAPH_UPDATE_PRE
Definition: BKE_callbacks.h:57
@ BKE_CB_EVT_SAVE_PRE
Definition: BKE_callbacks.h:51
@ BKE_CB_EVT_RENDER_POST
Definition: BKE_callbacks.h:43
@ BKE_CB_EVT_RENDER_STATS
Definition: BKE_callbacks.h:45
@ BKE_CB_EVT_RENDER_PRE
Definition: BKE_callbacks.h:42
@ BKE_CB_EVT_RENDER_WRITE
Definition: BKE_callbacks.h:44
@ BKE_CB_EVT_VERSION_UPDATE
Definition: BKE_callbacks.h:59
@ BKE_CB_EVT_SAVE_POST
Definition: BKE_callbacks.h:52
@ BKE_CB_EVT_LOAD_POST
Definition: BKE_callbacks.h:50
@ BKE_CB_EVT_LOAD_PRE
Definition: BKE_callbacks.h:49
@ BKE_CB_EVT_REDO_PRE
Definition: BKE_callbacks.h:55
@ BKE_CB_EVT_RENDER_INIT
Definition: BKE_callbacks.h:46
@ BKE_CB_EVT_RENDER_CANCEL
Definition: BKE_callbacks.h:48
@ BKE_CB_EVT_FRAME_CHANGE_PRE
Definition: BKE_callbacks.h:40
@ BKE_CB_EVT_UNDO_PRE
Definition: BKE_callbacks.h:53
@ BKE_CB_EVT_UNDO_POST
Definition: BKE_callbacks.h:54
@ BKE_CB_EVT_FRAME_CHANGE_POST
Definition: BKE_callbacks.h:41
@ BKE_CB_EVT_DEPSGRAPH_UPDATE_POST
Definition: BKE_callbacks.h:58
void BKE_callback_exec_id(struct Main *bmain, struct ID *id, eCbEvent evt)
Definition: callbacks.c:51
void BKE_callback_exec(struct Main *bmain, struct PointerRNA **pointers, const int num_pointers, eCbEvent evt)
Definition: callbacks.c:33
void BKE_callback_global_init(void)
Definition: callbacks.c:83
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:51
const Depsgraph * depsgraph
Definition: DNA_ID.h:273
Definition: BKE_main.h:116
void(* func)(struct Main *, struct PointerRNA **, const int num_pointers, void *arg)
Definition: BKE_callbacks.h:67
struct bCallbackFuncStore * prev
Definition: BKE_callbacks.h:66
struct bCallbackFuncStore * next
Definition: BKE_callbacks.h:66