void fontBindingInit(mrb_state *mrb) { RClass *klass = mrb_define_class(mrb, "Font", 0); Font::setDefaultColor(new Color(*Font::getDefaultColor())); wrapProperty(mrb, mrb_obj_value(klass), Font::getDefaultColor(), CSdefault_color, ColorType); mrb_define_class_method(mrb, klass, "exist?", fontDoesExist, MRB_ARGS_REQ(1)); INIT_KLASS_PROP_BIND(Font, DefaultName, "default_name"); INIT_KLASS_PROP_BIND(Font, DefaultSize, "default_size"); INIT_KLASS_PROP_BIND(Font, DefaultBold, "default_bold"); INIT_KLASS_PROP_BIND(Font, DefaultItalic, "default_italic"); INIT_KLASS_PROP_BIND(Font, DefaultColor, "default_color"); mrb_define_method(mrb, klass, "initialize", fontInitialize, MRB_ARGS_OPT(2)); INIT_PROP_BIND(Font, Name, "name"); INIT_PROP_BIND(Font, Size, "size"); INIT_PROP_BIND(Font, Bold, "bold"); INIT_PROP_BIND(Font, Italic, "italic"); INIT_PROP_BIND(Font, Color, "color"); mrb_define_method(mrb, klass, "inspect", inspectObject, MRB_ARGS_NONE()); }
void fontBindingInit() { VALUE klass = rb_define_class("Font", rb_cObject); rb_define_alloc_func(klass, classAllocate<&FontType>); Font::initDefaultDynAttribs(); wrapProperty(klass, &Font::getDefaultColor(), "default_color", ColorType); rb_iv_set(klass, "default_name", rb_str_new_cstr(Font::getDefaultName())); if (rgssVer >= 3) wrapProperty(klass, &Font::getDefaultOutColor(), "default_out_color", ColorType); INIT_KLASS_PROP_BIND(Font, DefaultName, "default_name"); INIT_KLASS_PROP_BIND(Font, DefaultSize, "default_size"); INIT_KLASS_PROP_BIND(Font, DefaultBold, "default_bold"); INIT_KLASS_PROP_BIND(Font, DefaultItalic, "default_italic"); INIT_KLASS_PROP_BIND(Font, DefaultColor, "default_color"); if (rgssVer >= 2) { INIT_KLASS_PROP_BIND(Font, DefaultShadow, "default_shadow"); } if (rgssVer >= 3) { INIT_KLASS_PROP_BIND(Font, DefaultOutline, "default_outline"); INIT_KLASS_PROP_BIND(Font, DefaultOutColor, "default_out_color"); } rb_define_class_method(klass, "exist?", fontDoesExist); _rb_define_method(klass, "initialize", fontInitialize); _rb_define_method(klass, "initialize_copy", fontInitializeCopy); INIT_PROP_BIND(Font, Name, "name"); INIT_PROP_BIND(Font, Size, "size"); INIT_PROP_BIND(Font, Bold, "bold"); INIT_PROP_BIND(Font, Italic, "italic"); INIT_PROP_BIND(Font, Color, "color"); if (rgssVer >= 2) { INIT_PROP_BIND(Font, Shadow, "shadow"); } if (rgssVer >= 3) { INIT_PROP_BIND(Font, Outline, "outline"); INIT_PROP_BIND(Font, OutColor, "out_color"); } if (rgssVer >= 2) { VALUE defNames = rb_ary_new2(3); rb_ary_push(defNames, rb_str_new2("Verdana")); rb_ary_push(defNames, rb_str_new2("Arial")); rb_ary_push(defNames, rb_str_new2("Courier New")); FontSetDefaultName(1, &defNames, klass); } }