edit_line的对齐方式

时间:2009-02-25 00:20:48

标签: ruby shoes

我在Mac OS X 10.4上使用Shoes 0.r1134

运行以下代码时,

Shoes.app do
    edit_line("Something")
    edit_line("Something Else")
end

第二个edit_line控件似乎放置比第一个低4个像素,这样它们就不会相互齐平。这是为什么?

1 个答案:

答案 0 :(得分:1)

我无法在我的机器上从源码构建鞋子,但以下行看起来很可疑(鞋子/鞋子/ 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行)和按钮(第3388行),代码仅显示更改高度。

#ifdef SHOES_QUARTZ
  place.h += 8;
  place.ih += 8;
#endif

#ifdef SHOES_QUARTZ
  place.h += 8;
  place.ih += 8;
#endif

分别。但是,我不知道这是否不正确。