Modified version of the DmTftLibrary, optimized for the LPC4088 Experiment Base Board

Dependents:   lpc4088_ebb_dm_calc lpc4088_ebb_dm_bubbles

Fork of DmTftLibrary by Display Module

Committer:
embeddedartists
Date:
Thu Sep 11 14:28:32 2014 +0000
Revision:
12:eb97ccfe7c3f
Parent:
7:6cd8c36cbdb3
Tweaked to get better/stable touch events

Who changed what in which revision?

UserRevisionLine numberNew contents of line
displaymodule 7:6cd8c36cbdb3 1 /**********************************************************************************************
displaymodule 7:6cd8c36cbdb3 2 Copyright (c) 2014 DisplayModule. All rights reserved.
displaymodule 7:6cd8c36cbdb3 3
displaymodule 7:6cd8c36cbdb3 4 Redistribution and use of this source code, part of this source code or any compiled binary
displaymodule 7:6cd8c36cbdb3 5 based on this source code is permitted as long as the above copyright notice and following
displaymodule 7:6cd8c36cbdb3 6 disclaimer is retained.
displaymodule 7:6cd8c36cbdb3 7
displaymodule 7:6cd8c36cbdb3 8 DISCLAIMER:
displaymodule 7:6cd8c36cbdb3 9 THIS SOFTWARE IS SUPPLIED "AS IS" WITHOUT ANY WARRANTIES AND SUPPORT. DISPLAYMODULE ASSUMES
displaymodule 7:6cd8c36cbdb3 10 NO RESPONSIBILITY OR LIABILITY FOR THE USE OF THE SOFTWARE.
displaymodule 7:6cd8c36cbdb3 11 ********************************************************************************************/
displaymodule 7:6cd8c36cbdb3 12
displaymodule 7:6cd8c36cbdb3 13 #ifndef DM_TOUCHCALIBRATION_h
displaymodule 7:6cd8c36cbdb3 14 #define DM_TOUCHCALIBRATION_h
displaymodule 7:6cd8c36cbdb3 15
displaymodule 7:6cd8c36cbdb3 16 #include "dm_platform.h"
displaymodule 7:6cd8c36cbdb3 17 #include "DmTouch.h"
displaymodule 7:6cd8c36cbdb3 18 #include "DmTftBase.h"
displaymodule 7:6cd8c36cbdb3 19
displaymodule 7:6cd8c36cbdb3 20 typedef struct point {
displaymodule 7:6cd8c36cbdb3 21 uint16_t x, y;
displaymodule 7:6cd8c36cbdb3 22 } Point;
displaymodule 7:6cd8c36cbdb3 23
displaymodule 7:6cd8c36cbdb3 24 class DmTouchCalibration
displaymodule 7:6cd8c36cbdb3 25 {
displaymodule 7:6cd8c36cbdb3 26 public:
displaymodule 7:6cd8c36cbdb3 27 DmTouchCalibration(DmTftBase *tftBase, DmTouch *touch);
displaymodule 7:6cd8c36cbdb3 28 bool getTouchReferencePoints(Point displayRefPoint[], Point touchRefPoint[], uint16_t tftWidth, uint16_t tftHeight);
displaymodule 7:6cd8c36cbdb3 29 CalibrationMatrix calculateCalibrationMatrix(Point displayRefPoint[], Point touchRefPoint[]);
displaymodule 7:6cd8c36cbdb3 30 static CalibrationMatrix getDefaultCalibrationData(DmTouch::Display disp);
displaymodule 7:6cd8c36cbdb3 31 void drawCalibPoint(uint16_t x, uint16_t y) const;
displaymodule 7:6cd8c36cbdb3 32 void drawCalibration(CalibrationMatrix calibrationMatrix);
displaymodule 7:6cd8c36cbdb3 33 void printCalibration(CalibrationMatrix calibrationMatrix) const;
displaymodule 7:6cd8c36cbdb3 34 private:
displaymodule 7:6cd8c36cbdb3 35 DmTftBase* _tft;
displaymodule 7:6cd8c36cbdb3 36 DmTouch* _touch;
displaymodule 7:6cd8c36cbdb3 37 uint16_t _textRow;
displaymodule 7:6cd8c36cbdb3 38 void printHeadline(char* text);
displaymodule 7:6cd8c36cbdb3 39 void printNumber(int32_t number) const ;
displaymodule 7:6cd8c36cbdb3 40 void releaseTouch(uint16_t x, uint16_t y) const;
displaymodule 7:6cd8c36cbdb3 41 bool getRawTouch(uint16_t& x, uint16_t& y) const;
displaymodule 7:6cd8c36cbdb3 42 };
displaymodule 7:6cd8c36cbdb3 43 #endif