This commit is contained in:
KAiZ 2019-11-08 10:41:42 +05:30
parent f3150c4a9d
commit 801037405e
3 changed files with 92 additions and 18 deletions

View file

@ -30,6 +30,7 @@ Please remember to HIDE the slices layer before exporting, so that the rectangle
from optparse import OptionParser
optParser = OptionParser()
optParser.add_option('--name',action='store',dest='name',help='Name of theme')
optParser.add_option('-d','--debug',action='store_true',dest='debug',help='Enable extra debugging info.')
optParser.add_option('-t','--test',action='store_true',dest='testing',help='Test mode: leave temporary files for examination.')
optParser.add_option('-p','--sliceprefix',action='store',dest='sliceprefix',help='Specifies the prefix to use for individual slice filenames.')
@ -202,7 +203,7 @@ class SVGRect:
dbg('Saving slice as: "%s"' % pngsliceFName)
for i, size in enumerate (sizes):
subdir = 'bitmaps/{}x{}'.format (size, size)
subdir = '{}/bitmaps/{}x{}'.format (options.name, size, size)
if not os.path.exists (subdir):
os.makedirs (subdir)
relslice = '{}/{}'.format (subdir, pngsliceFName)
@ -211,7 +212,7 @@ class SVGRect:
hotrelslice = '{}/{}'.format (subdir, hotsliceFName)
do_res (size, hotrelslice, hotsvgFName, skipped, roundrobin)
for scale in scale_pairs:
subdir = 'bitmaps/{}x{}_{}'.format (size, size, scale[1])
subdir = '{}/bitmaps/{}x{}_{}'.format (options.name, size, size, scale[1])
relslice = '{}/{}'.format (subdir, pngsliceFName)
if not os.path.exists (subdir):
os.makedirs (subdir)
@ -245,7 +246,7 @@ def postprocess_slice (slicename, skipped):
hotsliceFName = slicename + '.hotspot.png'
for i, size in enumerate (sizes):
subdir = 'bitmaps/{}x{}'.format (size, size)
subdir = '{}/bitmaps/{}x{}'.format (options.name, size, size)
relslice = '{}/{}'.format (subdir, pngsliceFName)
csize = get_csize (i, size)
if relslice not in skipped:
@ -254,7 +255,7 @@ def postprocess_slice (slicename, skipped):
hotrelslice = '{}/{}'.format (subdir, hotsliceFName)
# cropalign_hotspot (new_base, csize, hotrelslice)
for scale in scale_pairs:
subdir = 'bitmaps/{}x{}_{}'.format (size, size, scale[1])
subdir = '{}/bitmaps/{}x{}_{}'.format (options.name, size, size, scale[1])
relslice = '{}/{}'.format (subdir, pngsliceFName)
if relslice not in skipped:
# new_base = cropalign (csize, relslice)
@ -290,19 +291,19 @@ def write_xcur(slicename):
# For xcursorgen use milliseconds
fps_field = ' {}'.format (int (1000.0 / options.fps))
xcur = {}
xcur['s0'] = open ('bitmaps/{}.in'.format (slicename), mode)
xcur['s0'] = open ('{}/bitmaps/{}.in'.format (options.name, slicename), mode)
if len (scale_pairs) > 0:
xcur['s1'] = open ('bitmaps/{}.s1.in'.format (slicename), mode)
xcur['s2'] = open ('bitmaps/{}.s2.in'.format (slicename), mode)
xcur['s1'] = open ('{}/bitmaps/{}.s1.in'.format (options.name, slicename), mode)
xcur['s2'] = open ('{}/bitmaps/{}.s2.in'.format (options.name, slicename), mode)
for i, size in enumerate (sizes):
subdir = 'bitmaps/{}x{}'.format (size, size)
subdir = '{}/bitmaps/{}x{}'.format (options.name, size, size)
relslice = '{}/{}'.format (subdir, pngsliceFName)
hotrelslice = '{}/{}'.format (subdir, hotsliceFName)
hot = find_hotspot (hotrelslice)
csize = get_csize (i, size)
xcur['s0'].write ("{csize} {hotx} {hoty} {filename}{fps_field}\n".format (csize=csize, hotx=hot[0], hoty=hot[1], filename='{}x{}/{}'.format (size, size, pngsliceFName), fps_field=fps_field).encode())
for scale in scale_pairs:
subdir = 'bitmaps/{}x{}_{}'.format (size, size, scale[1])
subdir = '{}/bitmaps/{}x{}_{}'.format (options.name, size, size, scale[1])
relslice = '{}/{}'.format (subdir, pngsliceFName)
scaled_size = int (size * scale[0])
hotrelslice = '{}/{}'.format (subdir, hotsliceFName)
@ -334,21 +335,21 @@ def sort_xcur(slicename, passed):
return
passed[slicename] = True
sort_file ('bitmaps/{}.in'.format (slicename))
sort_file ('{}/bitmaps/{}.in'.format (options.name, slicename))
if len (scale_pairs) > 0:
sort_file ('bitmaps/{}.s1.in'.format (slicename))
sort_file ('bitmaps/{}.s2.in'.format (slicename))
sort_file ('{}/bitmaps/{}.s1.in'.format (options.name, slicename))
sort_file ('{}/bitmaps/{}.s2.in'.format (options.name, slicename))
def delete_hotspot(slicename):
hotsliceFName = slicename + '.hotspot.png'
for i, size in enumerate (sizes):
subdir = 'bitmaps/{}x{}'.format (size, size)
subdir = '{}/bitmaps/{}x{}'.format (options.name, size, size)
hotrelslice = '{}/{}'.format (subdir, hotsliceFName)
if os.path.exists (hotrelslice):
os.unlink (hotrelslice)
for scale in scale_pairs:
subdir = 'bitmaps/{}x{}_{}'.format (size, size, scale[1])
subdir = '{}/bitmaps/{}x{}_{}'.format (options.name, size, size, scale[1])
hotrelslice = '{}/{}'.format (subdir, hotsliceFName)
if os.path.exists (hotrelslice):
os.unlink (hotrelslice)
@ -710,5 +711,5 @@ if __name__ == '__main__':
sort_xcur(slicename, passed)
#if not option.testing:
# delete_hotspot(slicename)
print('\n')
dbg('Slicing complete.')