Panda3D
|
00001 // Filename: throw_event.I 00002 // Created by: drose (08Feb99) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 00016 INLINE void 00017 throw_event(const CPT_Event &event) { 00018 EventQueue::get_global_event_queue()->queue_event(event); 00019 } 00020 00021 INLINE void 00022 throw_event(const string &event_name) { 00023 EventQueue::get_global_event_queue()->queue_event(new Event(event_name)); 00024 } 00025 00026 INLINE void 00027 throw_event(const string &event_name, 00028 const EventParameter &p1) { 00029 Event *event = new Event(event_name); 00030 event->add_parameter(p1); 00031 EventQueue::get_global_event_queue()->queue_event(event); 00032 } 00033 00034 INLINE void 00035 throw_event(const string &event_name, 00036 const EventParameter &p1, 00037 const EventParameter &p2) { 00038 Event *event = new Event(event_name); 00039 event->add_parameter(p1); 00040 event->add_parameter(p2); 00041 EventQueue::get_global_event_queue()->queue_event(event); 00042 } 00043 00044 INLINE void 00045 throw_event(const string &event_name, 00046 const EventParameter &p1, 00047 const EventParameter &p2, 00048 const EventParameter &p3) { 00049 Event *event = new Event(event_name); 00050 event->add_parameter(p1); 00051 event->add_parameter(p2); 00052 event->add_parameter(p3); 00053 EventQueue::get_global_event_queue()->queue_event(event); 00054 } 00055 00056 INLINE void 00057 throw_event(const string &event_name, 00058 const EventParameter &p1, 00059 const EventParameter &p2, 00060 const EventParameter &p3, 00061 const EventParameter &p4) { 00062 Event *event = new Event(event_name); 00063 event->add_parameter(p1); 00064 event->add_parameter(p2); 00065 event->add_parameter(p3); 00066 event->add_parameter(p4); 00067 EventQueue::get_global_event_queue()->queue_event(event); 00068 } 00069 00070 //////////////////////////////////////////////////////////////////////////// 00071 00072 INLINE void 00073 throw_event_directly(EventHandler& handler, 00074 const CPT_Event &event) { 00075 handler.dispatch_event(event); 00076 } 00077 00078 INLINE void 00079 throw_event_directly(EventHandler& handler, 00080 const string &event_name) { 00081 handler.dispatch_event(new Event(event_name)); 00082 } 00083 00084 INLINE void 00085 throw_event_directly(EventHandler& handler, 00086 const string &event_name, 00087 const EventParameter &p1) { 00088 Event *event = new Event(event_name); 00089 event->add_parameter(p1); 00090 handler.dispatch_event(event); 00091 } 00092 00093 INLINE void 00094 throw_event_directly(EventHandler& handler, 00095 const string &event_name, 00096 const EventParameter &p1, 00097 const EventParameter &p2) { 00098 Event *event = new Event(event_name); 00099 event->add_parameter(p1); 00100 event->add_parameter(p2); 00101 handler.dispatch_event(event); 00102 } 00103 00104 INLINE void 00105 throw_event_directly(EventHandler& handler, 00106 const string &event_name, 00107 const EventParameter &p1, 00108 const EventParameter &p2, 00109 const EventParameter &p3) { 00110 Event *event = new Event(event_name); 00111 event->add_parameter(p1); 00112 event->add_parameter(p2); 00113 event->add_parameter(p3); 00114 handler.dispatch_event(event); 00115 }