using System;
using System.Windows.Forms;

namespace iFlag
{
    public partial class mainForm : Form
    {
                                                  // Graphical patterns, often easily reusable
                                                  // geometric primitives
        byte[,,] SIMPLE_FLAG =            pattern("00000000 00000000 00000000 00011000 00011000 00000000 00000000 00000000");
        byte[,,] SQUARE_FLAG =            pattern("00000000 00000000 00111100 00111100 00111100 00111100 00000000 00000000");
        byte[,,] HALF_FLAG =              pattern("00000000 00000000 00000000 00000000 11111111 11111111 11111111 11111111");
        byte[,,] FURLED_FLAG =            pattern("11111111 01222221 00122221 00012221 00001221 00000121 00000011 00000001 " +
                                                  "00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000");
        byte[,,] INVERTED_FLAG =          pattern("11111111 10000001 10000001 10000001 10000001 10000001 10000001 11111111 " +
                                                  "00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000");
        byte[,,] FLASHING_FLAG =          pattern("11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 " +
                                                  "00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000");
        byte[,,] WAVING_FLAG =            pattern("00001111 00001111 00001111 00001111 00001111 00001111 00001111 00001111 " +
                                                  "11110000 11110000 11110000 11110000 11110000 11110000 11110000 11110000");
        byte[,,] DOUBLE_WAVING_FLAG =     pattern("11110000 11110000 11110000 11110000 00001111 00001111 00001111 00001111 " +
                                                  "00001111 00001111 00001111 00001111 11110000 11110000 11110000 11110000");
        byte[,,] CHECKERED_FLAG =         pattern("11001100 11001100 00110011 00110011 11001100 11001100 00110011 00110011 " +
                                                  "00110011 00110011 11001100 11001100 00110011 00110011 11001100 11001100");
        byte[,,] STRIPPED_FLAG =          pattern("11001100 11001100 11001100 11001100 11001100 11001100 11001100 11001100 " +
                                                  "00110011 00110011 00110011 00110011 00110011 00110011 00110011 00110011");
        byte[,,] CIRCLE_FLAG =            pattern("00111100 01122110 11222211 12222221 12222221 11222211 01122110 00111100");
        byte[,,] CROSSED_FLAG =           pattern("12000021 23200232 02422420 00244200 00244200 02422420 23200232 12000021");
        byte[,,] DIAGONAL_STRIPE_FLAG =   pattern("00000011 00000111 00001110 00011100 00111000 01110000 11100000 11000000");
        byte[,,] MEATBALL_FLAG =          pattern("00000000 00011000 00111100 01111110 01111110 00111100 00011000 00000000 " +
                                                  "00000000 00000000 00011000 00111100 00111100 00011000 00000000 00000000");
        byte[,,] SAFETYCAR_FLAG =         pattern("01110222 11112222 11002200 11102200 01112200 00112200 11112222 11100222 " +
                                                  "02220111 22221111 22001100 22201100 02221100 00221100 22221111 22200111");
        byte[,,] F_FLAG =                 pattern("11111111 11000011 11011111 11000011 11011111 11011111 11011111 11111111");
        byte[,,] STATUS_FLAG =            pattern("00000000 00000000 00000000 00000000 00000000 00000000 00000000 10000002");
        byte[,,] IRACING_LOGO_FLAG =      pattern("01111110 11333331 12111311 12211131 12211331 12211331 12211331 01111110");

        byte[,,] TOO_HIGH_FLAG =          pattern("00011000 00111100 01111110 11111111 11111111 21111112 22222222 22222222");
        byte[,,] ENOUGH_FLAG =            pattern("00000000 00000000 01111110 11111111 11111111 21111112 22222222 22222222");
        byte[,,] TOO_LOW_FLAG    =        pattern("00000000 00000000 01111110 11111111 11111111 21111112 22111122 22211222");

        byte[,,] WARN_L_OVERLAY =         pattern("11109999 10999999 10999999 10999999 10999999 10999999 10999999 11109999");
        byte[,,] WARN_R_OVERLAY =         pattern("99990111 99999901 99999901 99999901 99999901 99999901 99999901 99990111");
        byte[,,] WARN_LR_OVERLAY =        pattern("11100111 10999901 10999901 10999901 10999901 10999901 10999901 11100111");

        byte[,,] WRENCH_FLAG =            pattern("00001100 00011000 00011001 00011111 00111110 01110000 11100000 11000000");

        byte[,,] CORNERS_OVERLAY   =      pattern("09999991 99999999 99999999 99999999 99999999 99999999 99999999 29999993");

        byte[,,] CAUTION_FLAG; // actual value is either FLASHING_FLAG or SAFETYCAR_FLAG based on session track type

    }
}
