Panda3D
 All Classes Functions Variables Enumerations
throw_event.I
1 // Filename: throw_event.I
2 // Created by: drose (08Feb99)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 
16 INLINE void
17 throw_event(const CPT_Event &event) {
18  EventQueue::get_global_event_queue()->queue_event(event);
19 }
20 
21 INLINE void
22 throw_event(const string &event_name) {
23  EventQueue::get_global_event_queue()->queue_event(new Event(event_name));
24 }
25 
26 INLINE void
27 throw_event(const string &event_name,
28  const EventParameter &p1) {
29  Event *event = new Event(event_name);
30  event->add_parameter(p1);
31  EventQueue::get_global_event_queue()->queue_event(event);
32 }
33 
34 INLINE void
35 throw_event(const string &event_name,
36  const EventParameter &p1,
37  const EventParameter &p2) {
38  Event *event = new Event(event_name);
39  event->add_parameter(p1);
40  event->add_parameter(p2);
41  EventQueue::get_global_event_queue()->queue_event(event);
42 }
43 
44 INLINE void
45 throw_event(const string &event_name,
46  const EventParameter &p1,
47  const EventParameter &p2,
48  const EventParameter &p3) {
49  Event *event = new Event(event_name);
50  event->add_parameter(p1);
51  event->add_parameter(p2);
52  event->add_parameter(p3);
53  EventQueue::get_global_event_queue()->queue_event(event);
54 }
55 
56 INLINE void
57 throw_event(const string &event_name,
58  const EventParameter &p1,
59  const EventParameter &p2,
60  const EventParameter &p3,
61  const EventParameter &p4) {
62  Event *event = new Event(event_name);
63  event->add_parameter(p1);
64  event->add_parameter(p2);
65  event->add_parameter(p3);
66  event->add_parameter(p4);
67  EventQueue::get_global_event_queue()->queue_event(event);
68 }
69 
70 ////////////////////////////////////////////////////////////////////////////
71 
72 INLINE void
73 throw_event_directly(EventHandler& handler,
74  const CPT_Event &event) {
75  handler.dispatch_event(event);
76 }
77 
78 INLINE void
79 throw_event_directly(EventHandler& handler,
80  const string &event_name) {
81  handler.dispatch_event(new Event(event_name));
82 }
83 
84 INLINE void
85 throw_event_directly(EventHandler& handler,
86  const string &event_name,
87  const EventParameter &p1) {
88  Event *event = new Event(event_name);
89  event->add_parameter(p1);
90  handler.dispatch_event(event);
91 }
92 
93 INLINE void
94 throw_event_directly(EventHandler& handler,
95  const string &event_name,
96  const EventParameter &p1,
97  const EventParameter &p2) {
98  Event *event = new Event(event_name);
99  event->add_parameter(p1);
100  event->add_parameter(p2);
101  handler.dispatch_event(event);
102 }
103 
104 INLINE void
105 throw_event_directly(EventHandler& handler,
106  const string &event_name,
107  const EventParameter &p1,
108  const EventParameter &p2,
109  const EventParameter &p3) {
110  Event *event = new Event(event_name);
111  event->add_parameter(p1);
112  event->add_parameter(p2);
113  event->add_parameter(p3);
114  handler.dispatch_event(event);
115 }
A class to monitor events from the C++ side of things.
Definition: eventHandler.h:41
An optional parameter associated with an event.
static EventQueue * get_global_event_queue()
Returns a pointer to the one global EventQueue object.
Definition: eventQueue.I:24
virtual void dispatch_event(const Event *)
Calls the hooks assigned to the indicated single event.
A named event, possibly with parameters.
Definition: event.h:36
A ConstPointerTo is similar to a PointerTo, except it keeps a const pointer to the thing...
Definition: pointerTo.h:144