put in class, args as string
This commit is contained in:
parent
4faecc49a3
commit
a0670fe032
@ -50,37 +50,37 @@ class DominionTabs:
|
|||||||
('Curse',) : 'curse.png'
|
('Curse',) : 'curse.png'
|
||||||
}
|
}
|
||||||
|
|
||||||
def drawTab(self,c,card,x,y,useExtra=False):
|
def drawTab(self,card,x,y,useExtra=False):
|
||||||
#rightSide = False
|
#rightSide = False
|
||||||
if self.numTabsHorizontal == 2:
|
if self.numTabsHorizontal == 2:
|
||||||
rightSide = x%2 == 1
|
rightSide = x%2 == 1
|
||||||
else:
|
else:
|
||||||
rightSide = useExtra
|
rightSide = useExtra
|
||||||
c.resetTransforms()
|
self.canvas.resetTransforms()
|
||||||
c.translate(self.horizontalMargin,self.verticalMargin)
|
self.canvas.translate(self.horizontalMargin,self.verticalMargin)
|
||||||
if useExtra:
|
if useExtra:
|
||||||
c.translate(self.options.back_offset,0)
|
self.canvas.translate(self.options.back_offset,0)
|
||||||
c.translate(x*self.tabWidth,y*self.tabTotalHeight)
|
self.canvas.translate(x*self.tabWidth,y*self.tabTotalHeight)
|
||||||
|
|
||||||
#draw outline
|
#draw outline
|
||||||
#don't draw outline on back, in case lines don't line up with front
|
#don't draw outline on back, in case lines don't line up with front
|
||||||
if not useExtra:
|
if not useExtra:
|
||||||
c.saveState()
|
self.canvas.saveState()
|
||||||
c.setLineWidth(0.1)
|
self.canvas.setLineWidth(0.1)
|
||||||
if rightSide and not self.options.sameside:
|
if rightSide and not self.options.sameside:
|
||||||
c.translate(self.tabWidth,0)
|
self.canvas.translate(self.tabWidth,0)
|
||||||
c.scale(-1,1)
|
self.canvas.scale(-1,1)
|
||||||
c.lines(self.tabOutline)
|
self.canvas.lines(self.tabOutline)
|
||||||
c.restoreState()
|
self.canvas.restoreState()
|
||||||
|
|
||||||
#draw tab flap
|
#draw tab flap
|
||||||
c.saveState()
|
self.canvas.saveState()
|
||||||
if not rightSide or self.options.sameside:
|
if not rightSide or self.options.sameside:
|
||||||
c.translate(self.tabWidth-self.tabLabelWidth,
|
self.canvas.translate(self.tabWidth-self.tabLabelWidth,
|
||||||
self.tabTotalHeight-self.tabLabelHeight)
|
self.tabTotalHeight-self.tabLabelHeight)
|
||||||
else:
|
else:
|
||||||
c.translate(0,self.tabTotalHeight-self.tabLabelHeight)
|
self.canvas.translate(0,self.tabTotalHeight-self.tabLabelHeight)
|
||||||
c.drawImage(DominionTabs.labelImages[card.types],1,0,
|
self.canvas.drawImage(DominionTabs.labelImages[card.types],1,0,
|
||||||
self.tabLabelWidth-2,self.tabLabelHeight-1,
|
self.tabLabelWidth-2,self.tabLabelHeight-1,
|
||||||
preserveAspectRatio=False,anchor='n')
|
preserveAspectRatio=False,anchor='n')
|
||||||
if card.types[0] == 'Treasure' or card.types == ('Curse',):
|
if card.types[0] == 'Treasure' or card.types == ('Curse',):
|
||||||
@ -98,15 +98,15 @@ class DominionTabs:
|
|||||||
textWidth = 85
|
textWidth = 85
|
||||||
|
|
||||||
if card.potcost:
|
if card.potcost:
|
||||||
c.drawImage("potion.png",21,potHeight,potSize,potSize,preserveAspectRatio=True,mask=[255,255,255,255,255,255])
|
self.canvas.drawImage("potion.png",21,potHeight,potSize,potSize,preserveAspectRatio=True,mask=[255,255,255,255,255,255])
|
||||||
textInset += potSize
|
textInset += potSize
|
||||||
textWidth -= potSize
|
textWidth -= potSize
|
||||||
|
|
||||||
c.setFont('MinionPro-Bold',12)
|
self.canvas.setFont('MinionPro-Bold',12)
|
||||||
cost = str(card.cost)
|
cost = str(card.cost)
|
||||||
if 'Prize' in card.types:
|
if 'Prize' in card.types:
|
||||||
cost += '*'
|
cost += '*'
|
||||||
c.drawCentredString(12,costHeight,cost)
|
self.canvas.drawCentredString(12,costHeight,cost)
|
||||||
fontSize = 12
|
fontSize = 12
|
||||||
name = card.name.upper()
|
name = card.name.upper()
|
||||||
name_parts = name.split()
|
name_parts = name.split()
|
||||||
@ -119,26 +119,26 @@ class DominionTabs:
|
|||||||
#if tooLong:
|
#if tooLong:
|
||||||
# print name
|
# print name
|
||||||
|
|
||||||
#c.drawString(tabLabelWidth/2+8,tabLabelHeight/2-7,name[0])
|
#self.canvas.drawString(tabLabelWidth/2+8,tabLabelHeight/2-7,name[0])
|
||||||
w = 0
|
w = 0
|
||||||
for i,n in enumerate(name_parts):
|
for i,n in enumerate(name_parts):
|
||||||
c.setFont('MinionPro-Regular',fontSize)
|
self.canvas.setFont('MinionPro-Regular',fontSize)
|
||||||
h = textHeight
|
h = textHeight
|
||||||
if tooLong:
|
if tooLong:
|
||||||
if i == 0:
|
if i == 0:
|
||||||
h += h/2
|
h += h/2
|
||||||
else:
|
else:
|
||||||
h -= h/2
|
h -= h/2
|
||||||
c.drawString(textInset+w,h,n[0])
|
self.canvas.drawString(textInset+w,h,n[0])
|
||||||
w += pdfmetrics.stringWidth(n[0],'MinionPro-Regular',fontSize)
|
w += pdfmetrics.stringWidth(n[0],'MinionPro-Regular',fontSize)
|
||||||
#c.drawString(tabLabelWidth/2+8+w,tabLabelHeight/2-7,name[1:])
|
#self.canvas.drawString(tabLabelWidth/2+8+w,tabLabelHeight/2-7,name[1:])
|
||||||
c.setFont('MinionPro-Regular',fontSize-2)
|
self.canvas.setFont('MinionPro-Regular',fontSize-2)
|
||||||
c.drawString(textInset+w,h,n[1:])
|
self.canvas.drawString(textInset+w,h,n[1:])
|
||||||
w += pdfmetrics.stringWidth(n[1:],'MinionPro-Regular',fontSize-2)
|
w += pdfmetrics.stringWidth(n[1:],'MinionPro-Regular',fontSize-2)
|
||||||
w += pdfmetrics.stringWidth(' ','MinionPro-Regular',fontSize)
|
w += pdfmetrics.stringWidth(' ','MinionPro-Regular',fontSize)
|
||||||
if tooLong:
|
if tooLong:
|
||||||
w = 0
|
w = 0
|
||||||
c.restoreState()
|
self.canvas.restoreState()
|
||||||
|
|
||||||
#draw text
|
#draw text
|
||||||
if useExtra and card.extra:
|
if useExtra and card.extra:
|
||||||
@ -165,7 +165,7 @@ class DominionTabs:
|
|||||||
#print 'decreasing fontsize on description for',card.name,'now',s.fontSize
|
#print 'decreasing fontsize on description for',card.name,'now',s.fontSize
|
||||||
p = Paragraph(d,s)
|
p = Paragraph(d,s)
|
||||||
w,h = p.wrap(textWidth,textHeight)
|
w,h = p.wrap(textWidth,textHeight)
|
||||||
p.drawOn(c,cm/2.0,textHeight-height-h-0.5*cm)
|
p.drawOn(self.canvas,cm/2.0,textHeight-height-h-0.5*cm)
|
||||||
height += h + 0.2*cm
|
height += h + 0.2*cm
|
||||||
|
|
||||||
def read_card_extras(self,fname,cards):
|
def read_card_extras(self,fname,cards):
|
||||||
@ -228,7 +228,7 @@ class DominionTabs:
|
|||||||
#print '----'
|
#print '----'
|
||||||
return cards
|
return cards
|
||||||
|
|
||||||
def drawCards(self,c,cards):
|
def drawCards(self,cards):
|
||||||
cards = split(cards,self.numTabsVertical*self.numTabsHorizontal)
|
cards = split(cards,self.numTabsVertical*self.numTabsHorizontal)
|
||||||
for pageCards in cards:
|
for pageCards in cards:
|
||||||
print 'pageCards:',pageCards
|
print 'pageCards:',pageCards
|
||||||
@ -236,18 +236,18 @@ class DominionTabs:
|
|||||||
#print card
|
#print card
|
||||||
x = i % self.numTabsHorizontal
|
x = i % self.numTabsHorizontal
|
||||||
y = i / self.numTabsHorizontal
|
y = i / self.numTabsHorizontal
|
||||||
c.saveState()
|
self.canvas.saveState()
|
||||||
self.drawTab(c,card,x,self.numTabsVertical-1-y)
|
self.drawTab(card,x,self.numTabsVertical-1-y)
|
||||||
c.restoreState()
|
self.canvas.restoreState()
|
||||||
c.showPage()
|
self.canvas.showPage()
|
||||||
for i,card in enumerate(pageCards):
|
for i,card in enumerate(pageCards):
|
||||||
#print card
|
#print card
|
||||||
x = (self.numTabsHorizontal-1-i) % self.numTabsHorizontal
|
x = (self.numTabsHorizontal-1-i) % self.numTabsHorizontal
|
||||||
y = i / self.numTabsHorizontal
|
y = i / self.numTabsHorizontal
|
||||||
c.saveState()
|
self.canvas.saveState()
|
||||||
self.drawTab(c,card,x,self.numTabsVertical-1-y,useExtra=True)
|
self.drawTab(card,x,self.numTabsVertical-1-y,useExtra=True)
|
||||||
c.restoreState()
|
self.canvas.restoreState()
|
||||||
c.showPage()
|
self.canvas.showPage()
|
||||||
|
|
||||||
def main(self,argstring):
|
def main(self,argstring):
|
||||||
parser = OptionParser()
|
parser = OptionParser()
|
||||||
@ -361,10 +361,10 @@ class DominionTabs:
|
|||||||
fname = args[0]
|
fname = args[0]
|
||||||
else:
|
else:
|
||||||
fname = "dominion_tabs.pdf"
|
fname = "dominion_tabs.pdf"
|
||||||
c = canvas.Canvas(fname, pagesize=(paperwidth, paperheight))
|
self.canvas = canvas.Canvas(fname, pagesize=(paperwidth, paperheight))
|
||||||
#pprint.pprint(c.getAvailableFonts())
|
#pprint.pprint(self.canvas.getAvailableFonts())
|
||||||
self.drawCards(c,cards)
|
self.drawCards(cards)
|
||||||
c.save()
|
self.canvas.save()
|
||||||
|
|
||||||
if __name__=='__main__':
|
if __name__=='__main__':
|
||||||
import sys
|
import sys
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user