uniform sampler2D texture;
uniform bool darkTheme;
uniform bool enabled;

void main()
{
	vec4 pixel = texture2D(texture, gl_TexCoord[0].xy);

    if(!enabled)
    {
        float rgb = (pixel.r + pixel.g + pixel.b) / 3.0;

        gl_FragColor.r = rgb;
        gl_FragColor.g = rgb;
        gl_FragColor.b = rgb;
        gl_FragColor.a = pixel.a;
    }
    else
    {
        // dull
        // if(darkTheme && pixel.a > 0)
        // {
        //     gl_FragColor.r = min(pixel.r, 0.5);
        //     gl_FragColor.g = min(pixel.g, 0.5);
        //     gl_FragColor.b = min(pixel.b, 0.5);

        //     gl_FragColor.a = pixel.a;
        // }
        // else
        // {
        //     gl_FragColor = pixel;
        // }

        // monochrome
        // if(darkTheme && pixel.a > 0)
        // {
        //     gl_FragColor.r = pixel.r;
        //     gl_FragColor.g = pixel.r;
        //     gl_FragColor.b = pixel.r;
        //     gl_FragColor.a = pixel.a;
        // }
        // else
        // {
        //     gl_FragColor = pixel;
        // }

        gl_FragColor = pixel;
    }
}
