Allows users to seamlessly write to 2 or 3 uLCD screens as if they were one large screen.

Dependencies:   4DGL-uLCD-SE mbed-rtos mbed

uLCD_Multiscreen.h

Committer:
Mkuchnik3
Date:
2015-03-11
Revision:
0:15002a72309b

File content as of revision 0:15002a72309b:

#ifndef ULCD_MULTISCREEN_H
#define ULCD_MULTISCREEN_H
#include "VirtualScreen.h"
#include "uLCD_4DGL.h"
/**
 * CLass represents an interface for seemlessly writing to multiple uLCD screens
 * in parallel.
 */
class uLCD_Multiscreen {
    private:
        VirtualScreen<int, uLCD_4DGL> virtualScreen;
        int screen_count;
    public:
        /**
         * Makes a Multiscreen interface.
         * @param screens Pointer to physical screens oriented from left to right in the vector.
         */
        uLCD_Multiscreen(vector<uLCD_4DGL*> screens);
        /**
         * Clears screen.
         */
        void cls();
        /**
         * Makes an unfilled rectangle.
         */
        void unfilledRectangle(int x, int y, int w, int h, int color);
        /**
         * Draws a line.
         */
        void drawLine(int x1,int y1,int  x2, int  y2, int color);
        /**
         * Draws an unfilled circle.
         */
        void unfilledCircle(int x0, int y0, int radius, int color);
        /**
         * Changes the background of the LCDs.
         */
        void changeBackground(int color);
        /**
         * Sets the baud rate for all screens. It is recommended to set this high.
         */
        void setBaudRate(int rate);
};
#endif