예제 #1
0
    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()
예제 #2
0
    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
예제 #3
0
    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")