Sha256: a4c0b368f89e0c92f5e881423123690136dfbeb08ef4749e6518c6e56d351297

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

#include "reflex/ruby/event.h"


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


RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::MotionEvent)

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

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


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

static
VALUE initialize(VALUE self, VALUE gravity)
{
	CHECK;

	*THIS = Reflex::MotionEvent(to<Rays::Point>(gravity));

	return rb_call_super(0, NULL);
}

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

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


static Class cMotionEvent;

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

	cMotionEvent = mReflex.define_class("MotionEvent", Reflex::event_class());
	rb_define_alloc_func(cMotionEvent, alloc);
	rb_define_private_method(cMotionEvent, "initialize", RUBY_METHOD_FUNC(initialize), 1);
	rb_define_private_method(cMotionEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
	rb_define_method(cMotionEvent, "gravity", RUBY_METHOD_FUNC(gravity), 0);
}


namespace Reflex
{


	Class
	motion_event_class ()
	{
		return cMotionEvent;
	}


}// Reflex

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
reflexion-0.3.3 .doc/ext/reflex/motion_event.cpp
reflexion-0.3.2 .doc/ext/reflex/motion_event.cpp
reflexion-0.3.1 .doc/ext/reflex/motion_event.cpp
reflexion-0.3 .doc/ext/reflex/motion_event.cpp