mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
Improved playable preview display for large monitors and when working with high resolution cardsets.
This commit is contained in:
parent
dcd12cd66a
commit
5aa9071893
3 changed files with 17 additions and 16 deletions
|
@ -1046,8 +1046,6 @@ class Game(object):
|
||||||
xf, yf, xf0, yf0, cw, ch = \
|
xf, yf, xf0, yf0, cw, ch = \
|
||||||
self.resizeImages(manually=card_size_manually)
|
self.resizeImages(manually=card_size_manually)
|
||||||
for stack in self.allstacks:
|
for stack in self.allstacks:
|
||||||
x0, y0 = stack.init_coord
|
|
||||||
x, y = int(round(x0 * xf) + cw), int(round(y0 * yf) + ch)
|
|
||||||
|
|
||||||
if (self.app.opt.spread_stacks):
|
if (self.app.opt.spread_stacks):
|
||||||
# Do not move Talons
|
# Do not move Talons
|
||||||
|
|
|
@ -378,8 +378,8 @@ class Images:
|
||||||
return
|
return
|
||||||
r = self.reduced
|
r = self.reduced
|
||||||
if r > 1:
|
if r > 1:
|
||||||
self.CARD_XOFFSET = max(10//r, cs.CARD_XOFFSET)
|
self.CARD_XOFFSET = max(10, cs.CARD_XOFFSET // r)
|
||||||
self.CARD_YOFFSET = max(10//r, cs.CARD_YOFFSET)
|
self.CARD_YOFFSET = max(10, cs.CARD_YOFFSET // r)
|
||||||
else:
|
else:
|
||||||
self.CARD_XOFFSET = cs.CARD_XOFFSET
|
self.CARD_XOFFSET = cs.CARD_XOFFSET
|
||||||
self.CARD_YOFFSET = cs.CARD_YOFFSET
|
self.CARD_YOFFSET = cs.CARD_YOFFSET
|
||||||
|
@ -474,6 +474,10 @@ class Images:
|
||||||
|
|
||||||
class SubsampledImages(Images):
|
class SubsampledImages(Images):
|
||||||
def __init__(self, images, r=2):
|
def __init__(self, images, r=2):
|
||||||
|
size_cap = 100
|
||||||
|
if images.CARDW / r > size_cap or images.CARDH / r > size_cap:
|
||||||
|
r = max(images.CARDW, images.CARDH) / size_cap
|
||||||
|
|
||||||
Images.__init__(self, None, images.cs, r=r)
|
Images.__init__(self, None, images.cs, r=r)
|
||||||
self._card = self._subsample(images._card, r)
|
self._card = self._subsample(images._card, r)
|
||||||
self._bottom_positive = self._subsample(images._bottom_positive, r)
|
self._bottom_positive = self._subsample(images._bottom_positive, r)
|
||||||
|
@ -482,6 +486,7 @@ class SubsampledImages(Images):
|
||||||
self._letter_negative = self._subsample(images._letter_negative, r)
|
self._letter_negative = self._subsample(images._letter_negative, r)
|
||||||
self._bottom = self._bottom_positive
|
self._bottom = self._bottom_positive
|
||||||
self._letter = self._letter_positive
|
self._letter = self._letter_positive
|
||||||
|
|
||||||
#
|
#
|
||||||
for _back in images._back:
|
for _back in images._back:
|
||||||
if _back is None:
|
if _back is None:
|
||||||
|
|
|
@ -353,16 +353,13 @@ class SelectGameDialogWithPreview(SelectGameDialog):
|
||||||
#
|
#
|
||||||
self.top.wm_minsize(400, 200)
|
self.top.wm_minsize(400, 200)
|
||||||
sw = self.top.winfo_screenwidth()
|
sw = self.top.winfo_screenwidth()
|
||||||
if sw >= 1100:
|
sh = self.top.winfo_screenheight()
|
||||||
w1, w2 = 250, 600
|
|
||||||
elif sw >= 900:
|
h = sh * .8
|
||||||
w1, w2 = 250, 500
|
w1, w2 = min(250, sw / 4), max(sw / 2 + ((sw / 4) - 250), sw / 2)
|
||||||
elif sw >= 800:
|
|
||||||
w1, w2 = 220, 480
|
|
||||||
else:
|
|
||||||
w1, w2 = 200, 300
|
|
||||||
# print sw, w1, w2
|
# print sw, w1, w2
|
||||||
w2 = max(200, min(w2, 10 + 12*(app.subsampled_images.CARDW+10)))
|
w2 = max(200, min(w2, 10 + 12 * (app.subsampled_images.CARDW + 10)))
|
||||||
# print sw, w1, w2
|
# print sw, w1, w2
|
||||||
# padx, pady = kw.padx, kw.pady
|
# padx, pady = kw.padx, kw.pady
|
||||||
# padx, pady = kw.padx/2, kw.pady/2
|
# padx, pady = kw.padx/2, kw.pady/2
|
||||||
|
@ -377,7 +374,8 @@ class SelectGameDialogWithPreview(SelectGameDialog):
|
||||||
# Tree
|
# Tree
|
||||||
font = app.getFont("default")
|
font = app.getFont("default")
|
||||||
self.tree = self.Tree_Class(self, left_frame, key=gameid,
|
self.tree = self.Tree_Class(self, left_frame, key=gameid,
|
||||||
default=kw.default, font=font, width=w1)
|
default=kw.default, font=font, width=w1,
|
||||||
|
height=h)
|
||||||
self.tree.frame.pack(padx=padx, pady=pady, expand=True, fill='both')
|
self.tree.frame.pack(padx=padx, pady=pady, expand=True, fill='both')
|
||||||
# LabelFrame
|
# LabelFrame
|
||||||
info_frame = ttk.LabelFrame(right_frame, text=_('About game'))
|
info_frame = ttk.LabelFrame(right_frame, text=_('About game'))
|
||||||
|
@ -566,9 +564,9 @@ class SelectGameDialogWithPreview(SelectGameDialog):
|
||||||
}
|
}
|
||||||
skill_level = sl.get(gi.skill_level)
|
skill_level = sl.get(gi.skill_level)
|
||||||
if gi.redeals == -2:
|
if gi.redeals == -2:
|
||||||
redeals = _('variable')
|
redeals = _('Variable')
|
||||||
elif gi.redeals == -1:
|
elif gi.redeals == -1:
|
||||||
redeals = _('unlimited')
|
redeals = _('Unlimited')
|
||||||
else:
|
else:
|
||||||
redeals = str(gi.redeals)
|
redeals = str(gi.redeals)
|
||||||
# stats
|
# stats
|
||||||
|
|
Loading…
Add table
Reference in a new issue