Blender
V2.93
source
blender
windowmanager
message_bus
intern
wm_message_bus_intern.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
#include "../wm_message_bus.h"
24
25
struct
wmMsgBus
{
26
struct
GSet
*
messages_gset
[
WM_MSG_TYPE_NUM
];
28
ListBase
messages
;
30
uint
messages_tag_count
;
31
};
32
33
void
wm_msg_subscribe_value_free
(
struct
wmMsgSubscribeKey
*msg_key,
34
struct
wmMsgSubscribeValueLink
*msg_lnk);
35
36
typedef
struct
wmMsgSubscribeKey_Generic
{
37
wmMsgSubscribeKey
head
;
38
wmMsg
msg
;
39
}
wmMsgSubscribeKey_Generic
;
40
41
BLI_INLINE
const
wmMsg
*
wm_msg_subscribe_value_msg_cast
(
const
wmMsgSubscribeKey
*key)
42
{
43
return
&((
wmMsgSubscribeKey_Generic
*)key)->msg;
44
}
45
BLI_INLINE
wmMsg
*
wm_msg_subscribe_value_msg_cast_mut
(
wmMsgSubscribeKey
*key)
46
{
47
return
&((
wmMsgSubscribeKey_Generic
*)key)->msg;
48
}
BLI_INLINE
#define BLI_INLINE
Definition:
BLI_compiler_compat.h:50
GSet
struct GSet GSet
Definition:
BLI_ghash.h:189
uint
unsigned int uint
Definition:
BLI_sys_types.h:83
ListBase
Definition:
DNA_listBase.h:46
wmMsgBus
Definition:
wm_message_bus_intern.h:25
wmMsgBus::messages_gset
struct GSet * messages_gset[WM_MSG_TYPE_NUM]
Definition:
wm_message_bus_intern.h:26
wmMsgBus::messages
ListBase messages
Definition:
wm_message_bus_intern.h:28
wmMsgBus::messages_tag_count
uint messages_tag_count
Definition:
wm_message_bus_intern.h:30
wmMsgSubscribeKey_Generic
Definition:
wm_message_bus_intern.h:36
wmMsgSubscribeKey_Generic::head
wmMsgSubscribeKey head
Definition:
wm_message_bus_intern.h:37
wmMsgSubscribeKey_Generic::msg
wmMsg msg
Definition:
wm_message_bus_intern.h:38
wmMsgSubscribeKey
Definition:
wm_message_bus.h:81
wmMsgSubscribeValueLink
Definition:
wm_message_bus.h:111
wmMsg
Definition:
wm_message_bus.h:73
WM_MSG_TYPE_NUM
#define WM_MSG_TYPE_NUM
Definition:
wm_message_bus.h:56
wmMsgSubscribeKey_Generic
struct wmMsgSubscribeKey_Generic wmMsgSubscribeKey_Generic
wm_msg_subscribe_value_free
void wm_msg_subscribe_value_free(struct wmMsgSubscribeKey *msg_key, struct wmMsgSubscribeValueLink *msg_lnk)
Definition:
wm_message_bus.c:245
wm_msg_subscribe_value_msg_cast
BLI_INLINE const wmMsg * wm_msg_subscribe_value_msg_cast(const wmMsgSubscribeKey *key)
Definition:
wm_message_bus_intern.h:41
wm_msg_subscribe_value_msg_cast_mut
BLI_INLINE wmMsg * wm_msg_subscribe_value_msg_cast_mut(wmMsgSubscribeKey *key)
Definition:
wm_message_bus_intern.h:45
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1