Sha256: 7439f9f602b58cc1a1b92447b40ca70790deda31b7c2c464b47d4d954aa463ee

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

#include "nkrb.h"

#define UNPACK_CONTEXT(varname) struct nk_context *varname = nkrb_context_get(rb_ivar_get(self, rb_intern("@context")));

VALUE cNuklearUIBuilder = Qnil;

VALUE nkrb_ui_initialize(VALUE self, VALUE context) {
  rb_ivar_set(self, rb_intern("@context"), context);
  return self;
}


VALUE nkrb_ui_list_view_begin(VALUE self, VALUE id, VALUE flags, VALUE row_height, VALUE row_count) {
  UNPACK_CONTEXT(ctx);
  struct nk_list_view view;
  if (nk_list_view_begin(ctx, &view, StringValueCStr(id), FIX2INT(flags), FIX2INT(row_height), FIX2INT(row_count))) {
    if (rb_block_given_p()) {
      instance_eval_block(self);
    }
    nk_list_view_end(&view);
  }
  return self;
}

void nkrb_ui_builder_init(void) {
  cNuklearUIBuilder = rb_define_class_under(mNuklear, "UIBuilder", rb_cObject);
  rb_define_method(cNuklearUIBuilder, "initialize",                   nkrb_ui_initialize,                        1);
  rb_define_method(cNuklearUIBuilder, "list_view",                    nkrb_ui_list_view_begin,                   4);
}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
nuklear-0.1.3 ext/nuklear/nkrb_ui_builder.c
nuklear-0.1.2 ext/nuklear/nkrb_ui_builder.c
nuklear-0.1.1 ext/nuklear/nkrb_ui_builder.c
nuklear-0.1.0 ext/nuklear/nkrb_ui_builder.c