mirror of
https://github.com/ful1e5/apple_cursor.git
synced 2025-05-13 06:34:41 -04:00
126 lines
2.4 KiB
Python
126 lines
2.4 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import argparse
|
|
from pathlib import Path
|
|
|
|
from src.configure import get_config
|
|
from src.generator import Info, build, wbuild, xbuild
|
|
|
|
parser = argparse.ArgumentParser(
|
|
prog="apple_builder",
|
|
description="'macOSBigSur' cursor build python script.",
|
|
)
|
|
|
|
|
|
# Positional Args.
|
|
parser.add_argument(
|
|
"platform",
|
|
choices=("windows", "unix", "all"),
|
|
default="all",
|
|
const="all",
|
|
nargs="?",
|
|
help="Set package type, Which you want to build. (default: '%(default)s')",
|
|
)
|
|
|
|
|
|
# Optional Args.
|
|
parser.add_argument(
|
|
"-p",
|
|
"--png-dir",
|
|
dest="png_dir",
|
|
metavar="PNG",
|
|
type=str,
|
|
default="../bitmaps",
|
|
help="To change pngs directory. (default: %(default)s)",
|
|
)
|
|
|
|
parser.add_argument(
|
|
"-o",
|
|
"--out-dir",
|
|
dest="out_dir",
|
|
metavar="OUT",
|
|
type=str,
|
|
default="../themes",
|
|
help="To change output directory. (default: %(default)s)",
|
|
)
|
|
|
|
|
|
parser.add_argument(
|
|
"-xs",
|
|
"--xsizes",
|
|
dest="xsizes",
|
|
metavar="INT",
|
|
nargs="+",
|
|
default=[
|
|
22,
|
|
24,
|
|
28,
|
|
32,
|
|
40,
|
|
48,
|
|
56,
|
|
64,
|
|
72,
|
|
80,
|
|
88,
|
|
96,
|
|
],
|
|
type=int,
|
|
help="Set pixel-size for xcursor. (default: %(default)s)",
|
|
)
|
|
|
|
|
|
parser.add_argument(
|
|
"-ws",
|
|
"--win-size",
|
|
dest="win_size",
|
|
metavar="INT",
|
|
default=24,
|
|
type=int,
|
|
help="Set pixel-size for Windows cursors. (default: %(default)s)",
|
|
)
|
|
|
|
|
|
parser.add_argument(
|
|
"-wcs",
|
|
"--win-canvas-size",
|
|
dest="win_canvas_size",
|
|
metavar="INT",
|
|
default=32,
|
|
type=int,
|
|
help="Set pixel-size for Windows cursor's canvas. (default: %(default)s)",
|
|
)
|
|
|
|
# Preparing build
|
|
args = parser.parse_args()
|
|
|
|
bitmaps_dir = Path(args.png_dir)
|
|
name = bitmaps_dir.stem
|
|
|
|
x_out_dir = Path(args.out_dir) / name
|
|
win_out_dir = Path(args.out_dir) / f"{name}-Windows"
|
|
|
|
# Windows Canvas & Cursor sizes
|
|
win_size: int = args.win_size
|
|
win_canvas_size: int = args.win_canvas_size
|
|
if win_canvas_size < win_size:
|
|
win_canvas_size = win_size
|
|
|
|
print(f"Getting '{name}' bitmaps ready for build...")
|
|
|
|
config = get_config(
|
|
bitmaps_dir,
|
|
x_sizes=args.xsizes,
|
|
win_canvas_size=args.win_canvas_size,
|
|
win_size=args.win_size,
|
|
)
|
|
|
|
info = Info(name=name, comment=f"{name} Cursors")
|
|
|
|
if args.platform == "unix":
|
|
xbuild(config, x_out_dir, info)
|
|
elif args.platform == "windows":
|
|
wbuild(config, win_out_dir, info)
|
|
else:
|
|
build(config, x_out_dir, win_out_dir, info)
|