Sha256: afbd0a17ddb2bd15d0610d6e0bd609f6e01b619deced93b25c0507366a553ae3

Contents?: true

Size: 1.26 KB

Versions: 5

Compression:

Stored size: 1.26 KB

Contents

#include "reflex/ruby/image_view.h"


#include <rucy.h>
#include <rays/ruby/point.h>
#include "reflex/ruby/view.h"


using namespace Rucy;

using Reflex::coord;


RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::ImageView)

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

#define CHECK     RUCY_CHECK_OBJECT(Reflex::ImageView, self)

#define CALL(fun) RUCY_WRAPPER_CALL(Reflex::ImageView, THIS, fun)


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

static
VALUE get_image(VALUE self)
{
	CHECK;
	Rays::Image image = THIS->get_image();
	return image ? value(image) : nil();
}

static
VALUE set_image(VALUE self, VALUE image)
{
	CHECK;
	THIS->set_image(image ? to<Rays::Image&>(image) : Rays::Image());
	return image;
}

static
RUCY_DEF_clear_override_flags(cof, Reflex::ImageView);


static Class cImageView;

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

	cImageView = mReflex.define_class("ImageView", Reflex::view_class());
	rb_define_alloc_func(cImageView, alloc);
	rb_define_private_method(cImageView, "set_image", RUBY_METHOD_FUNC(set_image), 1);
	rb_define_method(cImageView, "image", RUBY_METHOD_FUNC(get_image), 0);
	
}


namespace Reflex
{


	Class
	image_view_class ()
	{
		return cImageView;
	}


}// Reflex

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
reflexion-0.1.12 .doc/ext/reflex/image_view.cpp
reflexion-0.1.11 .doc/ext/reflex/image_view.cpp
reflexion-0.1.10 .doc/ext/reflex/image_view.cpp
reflexion-0.1.9.1 .doc/ext/reflex/image_view.cpp
reflexion-0.1.9 .doc/ext/reflex/image_view.cpp