Exemple #1
0
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());
}
Exemple #2
0
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);
	}
}