Mac OS X 10.4でShoes 0.r1134を使用しています
次のコードを実行すると、
Shoes.app do
edit_line("Something")
edit_line("Something Else")
end
2 番目の edit_line コントロールは、最初のコントロールよりも 4 ピクセル低く配置されているように見えます。どうしてこれなの?
自分のマシンでソースから Shoes をビルドできませんでしたが、次の行は疑わしいようです (shoes/shoes/ruby.c の 3410 行目):
shoes_edit_line_draw(VALUE self, VALUE c, VALUE actual)
{
SETUP_CONTROL(0, 0, FALSE);
#ifdef SHOES_QUARTZ
place.x += 4; place.ix += 4;
place.y += 4; place.iy += 4;
place.h += 4; place.ih += 4;
place.w += 4; place.iw += 4;
#endif
list_box (3552 行目) とbutton ( 3388 行目) の場合、コードは高さのみを変更するように見えます。
#ifdef SHOES_QUARTZ
place.h += 8;
place.ih += 8;
#endif
と
#ifdef SHOES_QUARTZ
place.h += 8;
place.ih += 8;
#endif
それぞれ。ただし、これが間違っているかどうかを判断するのに十分な知識はありません。