class PainterVerticalAlpha :
#if !defined(USE_BPP) || USE_BPP==16
public AbstractPainterRGB565
#elif USE_BPP==24
public AbstractPainterRGB888
#elif USE_BPP==4
public AbstractPainterGRAY4
#elif USE_BPP==2
public AbstractPainterGRAY2
#else
#error Unknown USE_BPP
#endif
{
public:
PainterVerticalAlpha(colortype color = 0, int alpha0atY = 100);
void setColor(colortype color, int alphaZeroAt);
virtual void render(uint8_t* ptr, int x, int xAdjust, int y, unsigned count, const uint8_t* covers);
protected:
virtual bool renderInit();
#if !defined(USE_BPP) || USE_BPP==16 || USE_BPP==24
virtual bool renderNext(uint8_t& pixelRed, uint8_t& pixelGreen, uint8_t& pixelBlue, uint8_t& pixelAlpha);
uint8_t painterRed;
uint8_t painterGreen;
uint8_t painterBlue;
#elif USE_BPP==4 || USE_BPP==2
virtual bool renderNext(uint8_t& gray, uint8_t& alpha);
uint8_t painterGray;
#else
#error Unknown USE_BPP
#endif
uint8_t painterAlpha;
int alpha0atY;
private:
};