Sha256: 1162ae4a85ab8182f0c612747b3fca46a92b38cecfe8698b74c013a242da20eb

Contents?: true

Size: 1.09 KB

Versions: 21

Compression:

Stored size: 1.09 KB

Contents

#include "reflex/ruby/shape.h"


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


RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::PolygonShape)

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

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

#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)


static
VALUE alloc(VALUE klass)
{
	return value(new Reflex::RubyShape<Reflex::PolygonShape>, klass);
}

static
VALUE set_polygon(VALUE self, VALUE polygon)
{
	CHECK;

	THIS->set_polygon(to<Rays::Polygon&>(polygon));
	return polygon;
}

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


static Class cPolygonShape;

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

	cPolygonShape = mReflex.define_class("PolygonShape", Reflex::shape_class());
	rb_define_alloc_func(cPolygonShape, alloc);
	rb_define_method(cPolygonShape, "polygon=", RUBY_METHOD_FUNC(set_polygon), 1);
	rb_define_method(cPolygonShape, "polygon", RUBY_METHOD_FUNC(get_polygon), 0);
}


namespace Reflex
{


	Class
	polygon_shape_class ()
	{
		return cPolygonShape;
	}


}// Reflex

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
reflexion-0.2.1 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.2 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.57 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.56 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.55 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.54 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.53 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.52 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.51 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.50 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.49 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.48 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.47 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.46 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.45 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.44 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.43 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.42 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.41 .doc/ext/reflex/polygon_shape.cpp
reflexion-0.1.40 .doc/ext/reflex/polygon_shape.cpp