Method: Nuklear::Context#initialize

Defined in:
ext/nuklear/nkrb_context.c

#initialize(font) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'ext/nuklear/nkrb_context.c', line 59

VALUE nkrb_context_initialize(VALUE context, VALUE font) {
  struct nk_context *ctx = nkrb_context_get(context);
  if (nk_init_default(ctx, nkrb_font_to_nk(font)) == 0) {
    rb_raise(rb_eStandardError, "Failed to initialize Nuklear context");
  }
  set_default_style(ctx);
  VALUE event_sink = rb_funcall(cNuklearContextEventSink, rb_intern("new"), 1, context);
  rb_ivar_set(context, rb_intern("@event_sink"), event_sink);
  rb_ivar_set(context, rb_intern("@font"), font);
  rb_ivar_set(context, rb_intern("@null"), nkrb_font_get_null(font));
  rb_ivar_set(context, rb_intern("@ui_builder"), rb_funcall(cNuklearUIBuilder, rb_intern("new"), 1, context));

  return context;
}