mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 19:08:55 -04:00
Made this into a datanode
This commit is contained in:
parent
6eeafea9b3
commit
d79c1db68e
@ -18,25 +18,31 @@
|
||||
|
||||
TypeHandle AwMouseAndKeyboard::_type_handle;
|
||||
|
||||
AwMouseAndKeyboard::AwMouseAndKeyboard(GraphicsWindow *window, int device, const string &name):
|
||||
MouseAndKeyboard(window,device,name)
|
||||
AwMouseAndKeyboard::AwMouseAndKeyboard(const string &name):
|
||||
DataNode(name)
|
||||
{
|
||||
//do nothing
|
||||
_button_events_input = define_input("button_events", ButtonEventList::get_class_type());
|
||||
_button_events_output = define_output("button_events", ButtonEventList::get_class_type());
|
||||
}
|
||||
|
||||
|
||||
void AwMouseAndKeyboard::do_transmit_data(DataGraphTraverser *trav, const DataNodeTransmit &input, DataNodeTransmit &output){
|
||||
|
||||
MouseAndKeyboard::do_transmit_data(trav,input,output);
|
||||
if (input.has_data(_button_events_input)) {
|
||||
const ButtonEventList *button_events;
|
||||
DCAST_INTO_V(button_events, input.get_data(_button_events_input).get_ptr());
|
||||
|
||||
int num_events = _button_events->get_num_events();
|
||||
int num_events = button_events->get_num_events();
|
||||
for (int i = 0; i < num_events; i++) {
|
||||
const ButtonEvent &be = _button_events->get_event(i);
|
||||
const ButtonEvent &be = button_events->get_event(i);
|
||||
string event_name = be._button.get_name();
|
||||
printf("Button pressed: %s ", event_name);
|
||||
if(be._type == ButtonEvent::T_down ) printf(" down ");
|
||||
if(be._type == ButtonEvent::T_repeat ) printf(" repeat ");
|
||||
if(be._type == ButtonEvent::T_resume_down ) printf(" resume down ");
|
||||
if(be._type == ButtonEvent::T_resume_down ) printf(" up ");
|
||||
printf("Button Event! : %s with code %i and index %i ", event_name.c_str(), be._keycode, be._button.get_index());
|
||||
if(be._type == ButtonEvent::T_down) printf("down");
|
||||
if(be._type == ButtonEvent::T_repeat) printf("repeat");
|
||||
if(be._type == ButtonEvent::T_up) printf("up");
|
||||
if(be._type == ButtonEvent::T_resume_down) printf("T_resume_down");
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -25,9 +25,15 @@
|
||||
// Class : AwMouseAndKeyboard
|
||||
// Description : Thin wrappings arround WebCore.h
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDAAWESOMIUM AwMouseAndKeyboard : public MouseAndKeyboard {
|
||||
class EXPCL_PANDAAWESOMIUM AwMouseAndKeyboard : public DataNode {
|
||||
//member data data
|
||||
protected:
|
||||
// inputs adn output indices... initialized in constructor
|
||||
int _button_events_input;
|
||||
int _button_events_output;
|
||||
|
||||
PUBLISHED:
|
||||
AwMouseAndKeyboard(GraphicsWindow *window, int device, const string &name);
|
||||
AwMouseAndKeyboard(const string &name);
|
||||
|
||||
protected:
|
||||
// Inherited from DataNode
|
||||
@ -42,7 +48,7 @@ public:
|
||||
static void init_type() {
|
||||
MouseAndKeyboard::init_type();
|
||||
register_type(_type_handle, "AwMouseAndKeyboard",
|
||||
MouseAndKeyboard::get_class_type());
|
||||
DataNode::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
return get_class_type();
|
||||
|
Loading…
x
Reference in New Issue
Block a user