本文整理匯總了Python中rect.Rect.adjust方法的典型用法代碼示例。如果您正苦於以下問題:Python Rect.adjust方法的具體用法?Python Rect.adjust怎麽用?Python Rect.adjust使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類rect.Rect
的用法示例。
在下文中一共展示了Rect.adjust方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: MathFrac
# 需要導入模塊: from rect import Rect [as 別名]
# 或者: from rect.Rect import adjust [as 別名]
class MathFrac(MultiItem):
"""Container for inline maths"""
def __init__(self, num = None, denom = None):
MultiItem.__init__(self)
self.style = 'math-var', 1
if num:
if not denom:
denom = MathNumber('1')
self.appendItem(num)
self.appendItem(denom)
def resizePDF(self, pdf, x = 0, y = 0):
if len(self.items) < 2 or not self.items[0] or not self.items[1]:
raise Exception('MathFrac must have two items.')
self.rect = Rect(x,y,x,y)
dx = pdf.get_string_width(' ') * self.style[1]
self.margins.set(dx, 0.0)
setFontPDF(pdf, self.style, self.styles)
lineHeight = pdf.font_size_pt / pdf.k
numerator = self.items[0]
if hasattr(numerator,'style'):
setFontPDF(pdf, numerator.style, self.styles)
numerator.resizePDF(pdf,x + dx, y - lineHeight * 0.5)
denominator = self.items[1]
if hasattr(denominator,'style'):
setFontPDF(pdf, denominator.style, self.styles)
denominator.resizePDF(pdf, x + dx, numerator.rect.y1())
if numerator.rect.width() > denominator.rect.width():
denominator.rect.alignXCenter(numerator.rect)
else:
numerator.rect.alignXCenter(denominator.rect)
self.rect.unite(numerator.rect)
self.rect.unite(denominator.rect)
self.rect.adjust(rect.Point(0,0),rect.Point(dx,0))
def cellPDF(self, pdf, r = None):
MultiItem.cellPDF(self, pdf, r)
y = self.items[0].rect.y1()
pdf.set_line_width(0.2)
if r:
x_shift = r.x0()
y_shift = r.y0()
else:
x_shift = 0.0
y_shift = 0.0
pdf.line(self.rect.x0() - x_shift, y - y_shift, self.rect.x1() - x_shift, y - y_shift)