view colors.py @ 74:66773b576282

ColourPicker: enable transparency So, turns out that Qt's indexed images are totally okay with alpha channels. This might come in handy some day when I enable overlying tiles without regard for grid boundaries.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Tue, 10 Sep 2019 12:58:47 -0400
parents 74ebf2f4e801
children 3886c3d656b7
line wrap: on
line source

from PyQt5 import QtGui as QG, QtCore as QC

NES_PALETTE = [
    "#7C7C7C",  # 0
    "#0000FC",  # 1
    "#0000BC",  # 2
    "#4428BC",  # 3
    "#940084",  # 4
    "#A80020",  # 5
    "#A81000",  # 6
    "#881400",  # 7
    "#503000",  # 8
    "#007800",  # 9
    "#006800",  # 10
    "#005800",  # 11
    "#004058",  # 12
    "#000000",  # 13
    "#000000",  # 14
    "#000000",  # 15

    "#BCBCBC",  # 16
    "#0078F8",  # 17
    "#0058F8",  # 18
    "#6844FC",  # 19
    "#D800CC",  # 20
    "#E40058",  # 21
    "#F83800",  # 22
    "#E45C10",  # 23
    "#AC7C00",  # 24
    "#00B800",  # 25
    "#00A800",  # 26
    "#00A844",  # 27
    "#008888",  # 28
    "#000000",  # 29
    "#000000",  # 30
    "#000000",  # 31

    "#F8F8F8",  # 32
    "#3CBCFC",  # 33
    "#6888FC",  # 34
    "#9878F8",  # 35
    "#F878F8",  # 36
    "#F85898",  # 37
    "#F87858",  # 38
    "#FCA044",  # 39
    "#F8B800",  # 40
    "#B8F818",  # 41
    "#58D854",  # 42
    "#58F898",  # 43
    "#00E8D8",  # 44
    "#787878",  # 45
    "#000000",  # 46
    "#000000",  # 47

    "#FCFCFC",  # 48
    "#A4E4FC",  # 49
    "#B8B8F8",  # 50
    "#D8B8F8",  # 51
    "#F8B8F8",  # 52
    "#F8A4C0",  # 53
    "#F0D0B0",  # 54
    "#FCE0A8",  # 55
    "#F8D878",  # 56
    "#D8F878",  # 57
    "#B8F8B8",  # 58
    "#B8F8D8",  # 59
    "#00FCFC",  # 60
    "#F8D8F8",  # 61
    "#000000",  # 62
    "#000000",  # 63
]

QT_NES_PALETTE = [QG.QColor(color).rgb() for color in NES_PALETTE]
def palette_to_qt(palette):
    return [
        QG.QColor(0, 0, 0, 0).rgba() if color_idx is None
        else QG.QColor(NES_PALETTE[color_idx]).rgb()
        for color_idx in palette
    ]