fit to selected bbox
This commit is contained in:
@@ -421,6 +421,7 @@ class CalendarioSanti(inkex.Effect):
|
|||||||
'saint': (x+ dbb[0] + s.padding+s.margin_left , y+ dbb[1]-s.padding-s.margin_bottom),
|
'saint': (x+ dbb[0] + s.padding+s.margin_left , y+ dbb[1]-s.padding-s.margin_bottom),
|
||||||
'hline': (x , y+ dbb[1]),
|
'hline': (x , y+ dbb[1]),
|
||||||
'moon' : (x + cw - m.size-2*m.padding-m.margin_right, y+ m.size+2*m.padding+m.margin_top),
|
'moon' : (x + cw - m.size-2*m.padding-m.margin_right, y+ m.size+2*m.padding+m.margin_top),
|
||||||
|
'bbox' : (dbb[0], dbb[1]),
|
||||||
}
|
}
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
@@ -445,8 +446,12 @@ class CalendarioSanti(inkex.Effect):
|
|||||||
sk = sk.replace('-','_')
|
sk = sk.replace('-','_')
|
||||||
self.spacing[el].__dict__[sk] = self.svg.unittouu( str(getattr(self.options ,el+'_'+sk)) + self.options.units)
|
self.spacing[el].__dict__[sk] = self.svg.unittouu( str(getattr(self.options ,el+'_'+sk)) + self.options.units)
|
||||||
self.spacing['linewidth'] = getattr(self.options ,'linewidth')
|
self.spacing['linewidth'] = getattr(self.options ,'linewidth')
|
||||||
self.spacing['columnwidth'] = self.svg.unittouu( str(getattr(self.options ,'columnwidth')) + self.options.units)
|
|
||||||
self.spacing['rowheight'] = self.svg.unittouu( str(getattr(self.options ,'rowheight')) + self.options.units)
|
self.spacing['rowheight'] = self.svg.unittouu( str(getattr(self.options ,'rowheight')) + self.options.units)
|
||||||
|
|
||||||
|
if selected:
|
||||||
|
self.spacing['columnwidth'] = bbox.width
|
||||||
|
else:
|
||||||
|
self.spacing['columnwidth'] = self.svg.unittouu( str(getattr(self.options ,'columnwidth')) + self.options.units)
|
||||||
|
|
||||||
if len(self.options.saints_file):
|
if len(self.options.saints_file):
|
||||||
ss = WikiSaints()
|
ss = WikiSaints()
|
||||||
@@ -457,7 +462,13 @@ class CalendarioSanti(inkex.Effect):
|
|||||||
|
|
||||||
compute_date = lambda d: { 'day' : d, 'month' : self.options.month, 'year': self.options.year,
|
compute_date = lambda d: { 'day' : d, 'month' : self.options.month, 'year': self.options.year,
|
||||||
'saint' : str(ss.get_saint(self.options.month, d)[0]), 'fest' : str(ss.get_saint(self.options.month, d)[2]) }
|
'saint' : str(ss.get_saint(self.options.month, d)[0]), 'fest' : str(ss.get_saint(self.options.month, d)[2]) }
|
||||||
for n,d in enumerate(range(self.options.dayfrom, self.options.dayto + 1)):
|
|
||||||
|
if selected:
|
||||||
|
day_bbox = self._compute_spacing(self.x_offset, self.y_offset, 0)['bbox']
|
||||||
|
available_days = int(ceil(bbox.height / day_bbox[1])) -1
|
||||||
|
self.options.dayto = min(self.options.dayfrom + available_days - 1, self.options.dayto)
|
||||||
|
|
||||||
|
for n,d in enumerate(range(self.options.dayfrom, self.options.dayto)):
|
||||||
cal_date = compute_date(d)
|
cal_date = compute_date(d)
|
||||||
pos = self._compute_spacing(self.x_offset, self.y_offset, n)
|
pos = self._compute_spacing(self.x_offset, self.y_offset, n)
|
||||||
self.draw_day(cal_date, pos, parent)
|
self.draw_day(cal_date, pos, parent)
|
||||||
|
|||||||
Reference in New Issue
Block a user