Changeset 496

Show
Ignore:
Timestamp:
03/20/2008 23:11:54 (6 months ago)
Author:
why
Message:
  • shoes/ruby.c: allow negative widths, they're in NKS.
Location:
trunk/shoes
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/shoes/ruby.c

    r494 r496  
    180180 
    181181int 
    182 shoes_px(VALUE attr, ID k, int dv, int pv) 
     182shoes_px(VALUE attr, ID k, int dv, int pv, int nv) 
    183183{ 
    184184  int px; 
     
    200200    else 
    201201      px = NUM2INT(obj); 
     202    if (px < 0 && nv == 1) 
     203      px += pv; 
    202204  } 
    203205  return px; 
     
    211213  if (!NIL_P(obj)) 
    212214  { 
    213     px = shoes_px(attr, k2, 0, pv); 
     215    px = shoes_px(attr, k2, 0, pv, 0); 
    214216    px = (pv - dr) - px; 
    215217  } 
    216218  else 
    217219  { 
    218     px = shoes_px(attr, k1, dv, pv); 
     220    px = shoes_px(attr, k1, dv, pv, 0); 
    219221  } 
    220222  return px; 
  • trunk/shoes/ruby.h

    r492 r496  
    7272// 
    7373#define ATTR(attr, n)                  shoes_hash_get(attr, s_##n) 
    74 #define PX(attr, n, dn, pn)            shoes_px(attr, s_##n, dn, pn) 
     74#define PX(attr, n, dn, pn)            shoes_px(attr, s_##n, dn, pn, 1) 
    7575#define PX2(attr, n1, n2, dn, dr, pn)  shoes_px2(attr, s_##n1, s_##n2, dn, dr, pn) 
    7676#define ATTR2(typ, attr, n, dn)        shoes_hash_##typ(attr, s_##n, dn) 
     
    8383  int bmargin = ATTR2(int, attr, margin_bottom, margin) 
    8484 
    85 int shoes_px(VALUE, ID, int, int); 
     85int shoes_px(VALUE, ID, int, int, int); 
    8686int shoes_px2(VALUE, ID, ID, int, int, int); 
    8787VALUE shoes_hash_set(VALUE, ID, VALUE);