Sha256: 8096634c74fb1d2b380b17850c6facc9fe51571f81c6faa3820174d834588a7b

Contents?: true

Size: 1.99 KB

Versions: 7

Compression:

Stored size: 1.99 KB

Contents

#include "reflex/ruby/event.h"


#include "rays/ruby/point.h"
#include "defs.h"


RUCY_DEFINE_VALUE_FROM_TO(Reflex::WheelEvent)

#define THIS  to<Reflex::WheelEvent*>(self)

#define CHECK RUCY_CHECK_OBJ(Reflex::WheelEvent, self)


static
VALUE alloc(VALUE klass)
{
	return new_type<Reflex::WheelEvent>(klass);
}

static
VALUE initialize(VALUE self, VALUE dx, VALUE dy, VALUE dz)
{
	CHECK;

	THIS->dx = to<coord>(dx);
	THIS->dy = to<coord>(dy);
	THIS->dz = to<coord>(dz);

	return rb_call_super(0, NULL);
}

static
VALUE initialize_copy(VALUE self, VALUE obj)
{
	CHECK;
	*THIS = to<Reflex::WheelEvent&>(obj);
	return self;
}

static
VALUE dx(VALUE self)
{
	CHECK;
	return value(THIS->dx);
}

static
VALUE dy(VALUE self)
{
	CHECK;
	return value(THIS->dy);
}

static
VALUE dz(VALUE self)
{
	CHECK;
	return value(THIS->dz);
}

static
VALUE x(VALUE self)
{
	CHECK;
	return value(THIS->x);
}

static
VALUE y(VALUE self)
{
	CHECK;
	return value(THIS->y);
}

static
VALUE z(VALUE self)
{
	CHECK;
	return value(THIS->z);
}

static
VALUE modifiers(VALUE self)
{
	CHECK;
	return value(THIS->modifiers);
}


static Class cWheelEvent;

void
Init_wheel_event ()
{
	Module mReflex = rb_define_module("Reflex");

	cWheelEvent = mReflex.define_class("WheelEvent", Reflex::event_class());
	rb_define_alloc_func(cWheelEvent, alloc);
	rb_define_private_method(cWheelEvent, "initialize", RUBY_METHOD_FUNC(initialize), 3);
	rb_define_private_method(cWheelEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
	rb_define_method(cWheelEvent, "dx", RUBY_METHOD_FUNC(dx), 0);
	rb_define_method(cWheelEvent, "dy", RUBY_METHOD_FUNC(dy), 0);
	rb_define_method(cWheelEvent, "dz", RUBY_METHOD_FUNC(dz), 0);
	rb_define_method(cWheelEvent, "x", RUBY_METHOD_FUNC(x), 0);
	rb_define_method(cWheelEvent, "y", RUBY_METHOD_FUNC(y), 0);
	rb_define_method(cWheelEvent, "z", RUBY_METHOD_FUNC(z), 0);
	rb_define_method(cWheelEvent, "modifiers", RUBY_METHOD_FUNC(modifiers), 0);
}


namespace Reflex
{


	Class
	wheel_event_class ()
	{
		return cWheelEvent;
	}


}// Reflex

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
reflexion-0.1.23 .doc/ext/reflex/wheel_event.cpp
reflexion-0.1.22 .doc/ext/reflex/wheel_event.cpp
reflexion-0.1.21 .doc/ext/reflex/wheel_event.cpp
reflexion-0.1.20 .doc/ext/reflex/wheel_event.cpp
reflexion-0.1.19 .doc/ext/reflex/wheel_event.cpp
reflexion-0.1.17 .doc/ext/reflex/wheel_event.cpp
reflexion-0.1.16 .doc/ext/reflex/wheel_event.cpp