From: Hiroyuki I. <ZXB...@ni...> - 2010-01-17 14:15:53
|
伊東です。 > * Pango::Script#gravity -> Pango::Script#get_gravity > 引数があるgetterには「get_」をつける > http://ruby-gnome2.sourceforge.jp/hiki.cgi?Naming+and+Conversion+Rules#Accessors+%28Setter%2FGetter+methods%29 こちらの文書は見ていませんでした。 > * Pango 1.6.0未満のときはPango::Gravityも定義しない 最初に須藤さんにご指摘頂いた内容を理解できていなかったようです。 お手数をお掛けしました。 小出しになってしまって申し訳ないのですが、 PANGO_GRAVITY_IS_VERTICAL(gravity) の実装を忘れていました。 また、細かいことですが rbpangogravity.c のインデント幅が他のファイルと 異なっていたので修正しました。 Index: pango/src/rbpangogravity.c =================================================================== --- pango/src/rbpangogravity.c (リビジョン 3735) +++ pango/src/rbpangogravity.c (作業コピー) @@ -15,8 +15,14 @@ static VALUE to_rotation(VALUE self, VALUE gravity) { - return rb_float_new(pango_gravity_to_rotation(RVAL2GENUM(gravity, PANGO_TYPE_GRAVITY))); + return rb_float_new(pango_gravity_to_rotation(RVAL2GENUM(gravity, PANGO_TYPE_GRAVITY))); } + +static VALUE +is_vertical(VALUE self, VALUE gravity) +{ + return CBOOL2RVAL(PANGO_GRAVITY_IS_VERTICAL(RVAL2GENUM(gravity, PANGO_TYPE_GRAVITY))); +} #endif @@ -24,14 +30,15 @@ Init_pango_gravity(void) { #if PANGO_CHECK_VERSION(1,16,0) - VALUE mGravity = rb_define_module_under(mPango, "Gravity"); + VALUE mGravity = rb_define_module_under(mPango, "Gravity"); - rb_define_singleton_method(mGravity, "to_rotation", to_rotation, 1); + rb_define_singleton_method(mGravity, "to_rotation", to_rotation, 1); + rb_define_singleton_method(mGravity, "vertical?", is_vertical, 1); - G_DEF_CLASS(PANGO_TYPE_GRAVITY, "Gravity", mGravity); - G_DEF_CONSTANTS(mGravity, PANGO_TYPE_GRAVITY, "PANGO_GRAVITY_"); - G_DEF_CLASS(PANGO_TYPE_GRAVITY_HINT, "Hint", mGravity); - G_DEF_CONSTANTS(mGravity, PANGO_TYPE_GRAVITY_HINT, "PANGO_GRAVITY_"); + G_DEF_CLASS(PANGO_TYPE_GRAVITY, "Gravity", mGravity); + G_DEF_CONSTANTS(mGravity, PANGO_TYPE_GRAVITY, "PANGO_GRAVITY_"); + G_DEF_CLASS(PANGO_TYPE_GRAVITY_HINT, "Hint", mGravity); + G_DEF_CONSTANTS(mGravity, PANGO_TYPE_GRAVITY_HINT, "PANGO_GRAVITY_"); #endif } |