# -*- coding: utf-8 -*-
# {name: (aka, width, height, aspect ratio)}

HIGH_DEFINITION_MAP = {
    "NHD": ("nHD", 640, 360, (16, 9)),
    "QHD": ("qHD", 960, 540, (16, 9)),
    "HD": ("HD", 1280, 720, (16, 9)),
    "HD PLUS": ("HD+", 1600, 900, (16, 9)),
    "FHD": ("FHD", 1920, 1080, (16, 9)),
    "WQHD": ("WQHD", 2560, 1440, (16, 9)),
    "QHD PLUS": ("QHD+", 3200, 1800, (16, 9)),
    "UHD 4K": ("4K UHD", 3840, 2160, (16, 9)),
    "UHD PLUS 5K": ("5K UHD+", 5120, 2880, (16, 9)),
    "UHD 8K": ("8K UHD", 7680, 4320, (16, 9)),
}

VIDEO_GRAPHICS_ARRAY_MAP = {
    "QQVGA": ("QQVGA", 160, 120, (4, 3)),
    "HQVGA 240 160": ("HQVGA", 240, 160, (3, 2)),
    "HQVGA 256 160": ("HQVGA", 256, 160, (16, 10)),
    "QVGA": ("QVGA", 320, 240, (4, 3)),
    "WQVGA 384 240": ("WQVGA", 384, 240, (16, 10)),
    "WQVGA 360 240": ("WQVGA", 360, 240, (3, 2)),
    "WQVGA 400 240": ("WQVGA", 400, 240, (5, 3)),
    "HVGA": ("HVGA", 480, 320, (3, 2)),
    "VGA": ("VGA", 640, 480, (4, 3)),
    "WVGA 768 480": ("WVGA", 768, 480, (16, 10)),
    "WVGA 720 480": ("WVGA", 720, 480, (3, 2)),
    "WVGA 800 480": ("WVGA", 800, 480, (5, 3)),
    "FWVGA": ("FWVGA", 854, 480, (16, 9)),
    "SVGA": ("SVGA", 800, 600, (4, 3)),
    "DVGA": ("DVGA", 960, 640, (3, 2)),
    "WSVGA 1024 576": ("WSVGA", 1024, 576, (16, 9)),
    "WSVGA 1024 600": ("WSVGA", 1024, 600, (128, 75)),
}

EXTENDED_GRAPHICS_ARRAY_MAP = {
    "XGA": ("XGA", 1024, 768, (4, 3)),
    "WXGA 1152 768": ("WXGA", 1152, 768, (3, 2)),
    "WXGA 1280 768": ("WXGA", 1280, 768, (5, 3)),
    "WXGA 1280 800": ("WXGA", 1280, 800, (16, 10)),
    "WXGA 1360 768": ("WXGA", 1360, 768, (16, 9)),
    "FWXGA": ("FWXGA", 1366, 768, (16, 9)),
    "XGA PLUS": ("XGA+", 1152, 864, (4, 3)),
    "WXGA PLUS": ("WXGA+", 1440, 900, (16, 10)),
    "WSXGA": ("WSXGA", 1440, 960, (3, 2)),
    "SXGA": ("SXGA", 1280, 1024, (5, 4)),
    "SXGA PLUS": ("SXGA+", 1400, 1050, (4, 3)),
    "WSXGA PLUS": ("WSXGA+", 1680, 1050, (16, 10)),
    "UXGA": ("UXGA", 1600, 1200, (4, 3)),
    "WUXGA": ("WUXGA", 1920, 1200, (16, 10)),
}

QUAD_EXTENDED_GRAPHICS_ARRAY_MAP = {
    "QWXGA": ("QWXGA", 2048, 1152, (16, 9)),
    "QXGA": ("QXGA", 2048, 1536, (4, 3)),
    "WQXGA 2560 1600": ("WQXGA", 2560, 1600, (16, 10)),
    "WQXGA 2880 1800": ("WQXGA", 2880, 1800, (16, 10)),
    "QSXGA": ("QSXGA", 2560, 2048, (5, 4)),
    "WQSXGA": ("WQSXGA", 3200, 2048, (25, 16)),
    "QUXGA": ("QUXGA", 3200, 2400, (4, 3)),
    "WQUXGA": ("WQUXGA", 3840, 2400, (16, 10)),
}

HYPER_EXTENDED_GRAPHICS_ARRAY_MAP = {
    "HXGA": ("HXGA", 4096, 3072, (4, 3)),
    "WHXGA": ("WHXGA", 5120, 3200, (16, 10)),
    "HSXGA": ("HSXGA", 5120, 4096, (5, 4)),
    "WHSXGA": ("WHSXGA", 6400, 4096, (25, 16)),
    "HUXGA": ("HUXGA", 6400, 4800, (4, 3)),
    "WHUXGA": ("WHUXGA", 7680, 4800, (16, 10)),
}

STANDARD_DISPLAY_RESOLUTIONS_MAP = (
    (160, 120, (4, 3)),
    (320, 200, (8, 5)),
    (640, 200, (16, 5)),
    (640, 350, (64, 35)),
    (640, 480, (4, 3)),
    (720, 348, (60, 29)),
    (800, 600, (4, 3)),
    (1024, 768, (4, 3)),
    (1152, 864, (4, 3)),
    (1280, 1024, (5, 4)),
    (1400, 1050, (4, 3)),
    (1600, 1200, (4, 3)),
    (2048, 1536, (4, 3)),
    (2560, 2048, (5, 4)),
    (3200, 2400, (4, 3)),
    (4096, 3072, (4, 3)),
    (5120, 4096, (5, 4)),
    (6400, 4800, (4, 3)),
)

WIDESCREEN_DISPLAY_RESOLUTIONS_MAP = (
    (240, 160, (3, 2)),
    (320, 240, (4, 3)),
    (432, 240, (9, 5)),
    (480, 270, (16, 9)),
    (480, 320, (3, 2)),
    (640, 400, (8, 5)),
    (800, 480, (5, 3)),
    (854, 480, (427, 240)),
    (1024, 576, (16, 9)),
    (1280, 720, (16, 9)),
    (1280, 768, (5, 3)),
    (1280, 800, (8, 5)),
    (1366, 768, (683, 384)),
    (1366, 900, (683, 450)),
    (1440, 900, (8, 5)),
    (1600, 900, (16, 9)),
    (1680, 945, (16, 9)),
    (1680, 1050, (8, 5)),
    (1920, 1080, (16, 9)),
    (1920, 1200, (8, 5)),
    (2048, 1152, (16, 9)),
    (2560, 1440, (16, 9)),
    (2560, 1600, (8, 5)),
    (3200, 2048, (25, 16)),
    (3840, 2160, (16, 9)),
    (3200, 2400, (4, 3)),
    (5120, 2880, (16, 9)),
    (5120, 3200, (8, 5)),
    (5760, 3240, (16, 9)),
    (6400, 4096, (25, 16)),
    (7680, 4320, (16, 9)),
    (7680, 4800, (8, 5)),
)
