RenderManAPI  24.0
RixEventCallbacks.h
Go to the documentation of this file.
1 /*
2 # ------------------------------------------------------------------------------
3 #
4 # Copyright (c) 2020 Pixar. All rights reserved.
5 #
6 # The information in this file (the "Software") is provided for the exclusive
7 # use of the software licensees of Pixar ("Licensees"). Licensees have the
8 # right to incorporate the Software into other products for use by other
9 # authorized software licensees of Pixar, without fee. Except as expressly
10 # permitted herein, the Software may not be disclosed to third parties, copied
11 # or duplicated in any form, in whole or in part, without the prior written
12 # permission of Pixar.
13 #
14 # The copyright notices in the Software and this entire statement, including the
15 # above license grant, this restriction and the following disclaimer, must be
16 # included in all copies of the Software, in whole or in part, and all permitted
17 # derivative works of the Software, unless such copies or derivative works are
18 # solely in the form of machine-executable object code generated by a source
19 # language processor.
20 #
21 # PIXAR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL PIXAR BE
23 # LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
25 # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
26 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. IN NO CASE WILL
27 # PIXAR'S TOTAL LIABILITY FOR ALL DAMAGES ARISING OUT OF OR IN CONNECTION WITH
28 # THE USE OR PERFORMANCE OF THIS SOFTWARE EXCEED $50.
29 #
30 # Pixar
31 # 1200 Park Ave
32 # Emeryville CA 94608
33 #
34 # ------------------------------------------------------------------------------
35 */
36 
37 /*
38  * Version 0.2
39  *
40  * This is a preview release and is not supported. This API will change substantially
41  * in the next release of RenderMan. Names, namespaces, methods, parameters, types,
42  * enums, and the structure of the interface are expected to change.
43  *
44  */
45 
46 #ifndef RixEventCallbacks_h
47 #define RixEventCallbacks_h
48 
49 #include "RixInterfaces.h"
50 
52 {
53 public:
54  enum Event
55  {
60  };
61  typedef void (*Callback)(Event event, void const* eventData, void* clientData);
62 
65  virtual bool RegisterCallback(Event event, Callback cb, void* clientData) = 0;
66 
69  virtual bool UnregisterCallback(Event event, Callback cb, void* clientData) = 0;
70 
71 protected:
73  {}
74 };
75 
76 #endif // RixEventCallbacks_h
data is integer range 0 to 100
Definition: RixEventCallbacks.h:59
Base class for all Rix interfaces.
Definition: RixInterfaces.h:133
virtual bool UnregisterCallback(Event event, Callback cb, void *clientData)=0
Un-register an event callback returns true on success.
data is integer, 1=create, 0=destroy
Definition: RixEventCallbacks.h:57
Event
Definition: RixEventCallbacks.h:54
virtual bool RegisterCallback(Event event, Callback cb, void *clientData)=0
Register an event callback returns true on success.
Definition: RixEventCallbacks.h:51
data is integer, 1=begin, 0=end
Definition: RixEventCallbacks.h:58
Definition: RixEventCallbacks.h:56
void(* Callback)(Event event, void const *eventData, void *clientData)
Definition: RixEventCallbacks.h:61
RixEventCallbacks()
Definition: RixEventCallbacks.h:72