A library with drivers for different peripherals on the LPC4088 QuickStart Board or related add-on boards.
Fork of EALib by
TouchPanel.h
- Committer:
- embeddedartists
- Date:
- 2013-10-18
- Revision:
- 4:b32cf4ef45c5
- Child:
- 12:15597e45eea0
File content as of revision 4:b32cf4ef45c5:
#ifndef TOUCHPANEL_H #define TOUCHPANEL_H /** * An abstract class that represents touch panels. */ class TouchPanel { public: typedef struct { int32_t x; int32_t y; int32_t z; } touchCoordinate_t; /** * Initialize the touch controller. This method must be called before * calibrating or reading data from the controller * * @param width the width of the touch panel. This is usually the same as * the width of the display * @param height the height of the touch panel. This is usually the same * as the height of the display. * * @return true if the request was successful; otherwise false */ virtual bool init(uint16_t width, uint16_t height) = 0; /** * Read coordinates from the touch panel. * * @param coord pointer to coordinate object. The read coordinates will be * written to this object. */ virtual bool read(touchCoordinate_t &coord) = 0; /** * Start to calibrate the display * * @return true if the request was successful; otherwise false */ virtual bool calibrateStart() = 0; /** * Get the next calibration point. Draw an indicator on the screen * at the coordinates and ask the user to press/click on the indicator. * Please note that waitForCalibratePoint() must be called after this * method. * * @param x the x coordinate is written to this argument * @param y the y coordinate is written to this argument * * @return true if the request was successful; otherwise false */ virtual bool getNextCalibratePoint(uint16_t* x, uint16_t* y) = 0; /** * Wait for a calibration point to have been pressed and recored. * This method must be called just after getNextCalibratePoint(). * * @param morePoints true is written to this argument if there * are more calibrations points available; otherwise it will be false * @param timeout maximum number of milliseconds to wait for * a calibration point. Set this argument to 0 to wait indefinite. * * @return true if the request was successful; otherwise false */ virtual bool waitForCalibratePoint(bool* morePoints, uint32_t timeout) = 0; }; #endif