def __init__(self, r_or_color=None, g=None, b=None, fg=True):

        if isinstance(r_or_color, type(self)):
            for item in ('fg', 'isreset', 'rgb', 'number', 'representation', 'exact'):
                setattr(self, item, getattr(r_or_color, item))
            return

        self.fg = fg
        self.isreset = True # Starts as reset color
        self.rgb = (0,0,0)

        self.number = None
        'Number of the original color, or closest color'

        self.representation = 4
        '0 for off, 1 for 8 colors, 2 for 16 colors, 3 for 256 colors, 4 for true color'

        self.exact = True
        'This is false if the named color does not match the real color'

        if None in (g,b):
            if not r_or_color:
                return
            try:
                self._from_simple(r_or_color)
            except ColorNotFound:
                try:
                    self._from_full(r_or_color)
                except ColorNotFound:
                    self._from_hex(r_or_color)

        elif None not in (r_or_color, g, b):
            self.rgb = (r_or_color,g,b)
            self._init_number()
        else:
            raise ColorNotFound("Invalid parameters for a color!")
Map currently bound framebuffer (not necessarily self) to texture
dataset/ETHPy150Open tomerfiliba/plumbum/plumbum/colorlib/styles.py/Color.__init__--crossover with--dataset/ETHPy150Open los-cocos/cocos/cocos/gl_framebuffer_object.py/FramebufferObject.texture2d