def __init__(self, brushmanager, name=None, persistent=False): super(ManagedBrush, self).__init__() self.bm = brushmanager self._preview = None self.name = name self._brushinfo = BrushInfo() #: If True, this brush is stored in the filesystem. self.persistent = persistent #: If True, this brush is fully initialized, ready to paint with. self.settings_loaded = False # Change detection for on-disk files. self.settings_mtime = None self.preview_mtime = None if persistent: # Files are loaded later, but throw an exception now if they # don't exist. self._get_fileprefix()
def __init__(self, brushmanager, name=None, persistent=False): super(ManagedBrush, self).__init__() self.bm = brushmanager self._preview = None self._brushinfo = BrushInfo() #: The brush's relative filename, sans extension. self.name = name #: If True, this brush is stored in the filesystem. self.persistent = persistent # If True, this brush is fully initialized, ready to paint with. self._settings_loaded = False # Change detection for on-disk files. self._settings_mtime = None self._preview_mtime = None # Files are loaded later, # but throw an exception now if they don't exist. if persistent: self._get_fileprefix() assert self.name is not None
slack = 1 return tuple( int(max(0, n)) for n in [ -dx + max_line_width + slack, -dy + max_line_width + slack, dx + max_line_width + slack, dy + max_line_width + slack, ]) ## Test code if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) import sys import lib.pixbuf for myb_file in sys.argv[1:]: if not myb_file.lower().endswith(".myb"): logger.warning("Ignored %r: not a .myb file", myb_file) continue myb_fp = open(myb_file, 'r') myb_json = myb_fp.read() myb_fp.close() myb_brushinfo = BrushInfo(myb_json) myb_pixbuf = render_brush_preview_pixbuf(myb_brushinfo) if myb_pixbuf is not None: myb_basename = myb_file[:-4] png_file = "%s_autopreview.png" % (myb_file, ) logger.info("Saving to %r...", png_file) lib.pixbuf.save(myb_pixbuf, png_file, "png")