Example #1
0
static css_dim_t
node_measure(void *context, float width, float height)
{
    RubyFrame frame;

    VALUE node = ((struct ruby_css_node *)context)->obj;
    static SEL measure_sel = 0;
    if (measure_sel == 0) {
#if CC_TARGET_OS_IPHONE || CC_TARGET_OS_APPLETV
        measure_sel = rb_selector("measure:");
#else
	measure_sel = rb_selector("measure");
#endif
    }

    VALUE args[] = { DBL2NUM(width), DBL2NUM(height) };
    VALUE ary = rb_send(node, measure_sel, 2, args);

    css_dim_t dim;
    dim.dimensions[0] = NUM2DBL(RARRAY_AT(ary, 0));
    dim.dimensions[1] = NUM2DBL(RARRAY_AT(ary, 1));
    return dim;
}
 virtual void update(float delta) {
     LayerColor::update(delta);
     VALUE arg = DBL2NUM(delta);
     rb_send(obj, update_sel, 1, &arg);
 }
Example #3
0
    virtual bool
    applicationDidFinishLaunching() {
	rb_send(obj, start_sel, 0, NULL);
	return true;
    }