hugoruscitti/pilas

View on GitHub
pilasengine/colores.py

Summary

Maintainability
A
1 hr
Test Coverage
# -*- encoding: utf-8 -*-
# pilas engine: un motor para hacer videojuegos
#
# Copyright 2010-2014 - Hugo Ruscitti
# License: LGPLv3 (see http://www.gnu.org/licenses/lgpl.html)
#
# Website - http://www.pilas-engine.com.ar

diccionario_colores = {}

class Color(object):
    "Representa un color en base a 4 componentes."

    def __init__(self, r, g, b, a=255):
        self.r = r
        self.g = g
        self.b = b
        self.a = a

    def __repr__(self):
        return "<Color (%d, %d, %d, %d)>" % (self.r, self.g, self.b, self.a)

    def obtener_componentes(self):
        return (self.r, self.g, self.b, self.a)
    
def generar_color_desde_texto(texto_del_color):
    
    if isinstance(texto_del_color, Color):
        return texto_del_color
    else:
        if diccionario_colores.has_key(texto_del_color):
            return diccionario_colores[texto_del_color.lower()]
        else:
            raise TypeError("No se puede reconocer el color " + texto_del_color)

# Colores principales.
negro = Color(0, 0, 0)
blanco = Color(255, 255, 255)
rojo = Color(255, 0, 0)
verde = Color(0, 255, 0)
azul = Color(0, 0, 255)
gris = Color(128, 128, 128)

# Colores secundarios
amarillo = Color(255, 255, 0)
magenta = Color(255, 0, 255)
cyan = Color(0, 255, 255)
grisclaro = Color(192, 192, 192)
grisoscuro = Color(100, 100, 100)
verdeoscuro = Color(0, 128, 0)
azuloscuro = Color(0, 0, 128)
naranja = Color(255, 200, 0)
rosa = Color(255, 175, 175)
violeta = Color(128, 0, 255)
marron = Color(153, 102, 0)

# Colores transparentes
negro_transparente = Color(0, 0, 0, 160)
blanco_transparente = Color(255, 255, 255, 160)
rojo_transparente = Color(255, 0, 0, 160)
verde_transparente = Color(0, 255, 0, 160)
azul_transparente = Color(0, 0, 255, 160)
gris_transparente = Color(128, 128, 128, 160)
naranja_transparente = Color(255, 200, 0, 140)


diccionario_colores['negro'] = negro
diccionario_colores['blanco'] = blanco
diccionario_colores['rojo'] = rojo
diccionario_colores['verde'] = verde
diccionario_colores['azul'] = azul
diccionario_colores['gris'] = gris

# Colores secundarios
diccionario_colores['amarillo'] = amarillo
diccionario_colores['magenta '] = magenta
diccionario_colores['cyan'] = cyan
diccionario_colores['grisclaro'] = grisclaro
diccionario_colores['grisoscuro'] = grisoscuro
diccionario_colores['verdeoscuro'] = verdeoscuro
diccionario_colores['azuloscuro'] = azuloscuro
diccionario_colores['naranja'] = naranja
diccionario_colores['rosa'] = rosa
diccionario_colores['violeta'] = violeta
diccionario_colores['marron'] = marron

# Colores transparentes
diccionario_colores['negro_transparente'] = negro_transparente
diccionario_colores['blanco_transparente'] = blanco_transparente
diccionario_colores['rojo_transparente'] = rojo_transparente
diccionario_colores['verde_transparente'] = verde_transparente
diccionario_colores['azul_transparente'] = azul_transparente
diccionario_colores['gris_transparente'] = gris_transparente
diccionario_colores['naranja_transparente'] = naranja_transparente