diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-27 09:23:16 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-27 09:23:16 +0300 |
commit | 5752e4f06f61f9df72454b81f2d7e3f008dc40eb (patch) | |
tree | f07b53ae62b64a132e5ffd7fb96c47db8207479b /source | |
parent | 226c757b4400b9b423b691a4309f6daf56f775c7 (diff) |
WM: message bus rna utilkity macros
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/windowmanager/message_bus/wm_message_bus.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/windowmanager/message_bus/wm_message_bus.h b/source/blender/windowmanager/message_bus/wm_message_bus.h index 8a800d18101..e0ccf0309f1 100644 --- a/source/blender/windowmanager/message_bus/wm_message_bus.h +++ b/source/blender/windowmanager/message_bus/wm_message_bus.h @@ -232,6 +232,21 @@ void WM_msg_subscribe_ID( void WM_msg_publish_ID( struct wmMsgBus *mbus, struct ID *id); +#define WM_msg_publish_rna_prop(mbus, id_, data_, type_, prop_) { \ + wmMsgParams_RNA msg_key_params_ = {{{0}}}; \ + extern PropertyRNA rna_##type_##_##prop_; \ + RNA_pointer_create(id_, &RNA_##type_, data_, &msg_key_params_.ptr); \ + msg_key_params_.prop = &rna_##type_##_##prop_; \ + WM_msg_publish_rna_params(mbus, &msg_key_params_); \ +} ((void)0) +#define WM_msg_subscribe_rna_prop(mbus, id_, data_, type_, prop_, value) { \ + wmMsgParams_RNA msg_key_params_ = {{{0}}}; \ + extern PropertyRNA rna_##type_##_##prop_; \ + RNA_pointer_create(id_, &RNA_##type_, data_, &msg_key_params_.ptr); \ + msg_key_params_.prop = &rna_##type_##_##prop_; \ + WM_msg_subscribe_rna_params(mbus, &msg_key_params_, value, __func__); \ +} ((void)0) + /* Anonymous variants (for convenience) */ #define WM_msg_subscribe_rna_anon_type(mbus, type_, value) { \ WM_msg_subscribe_rna_params( \ |