?

Committer:
phungductung
Date:
Tue Jun 04 21:58:08 2019 +0000
Revision:
0:cacfc9e25452
?;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phungductung 0:cacfc9e25452 1 //------------------------------------------------------
phungductung 0:cacfc9e25452 2 // Touch panel detector for x axis class
phungductung 0:cacfc9e25452 3 //
phungductung 0:cacfc9e25452 4 // 2016/03/31, Copyright (c) 2016 MIKAMI, Naoki
phungductung 0:cacfc9e25452 5 //------------------------------------------------------
phungductung 0:cacfc9e25452 6
phungductung 0:cacfc9e25452 7 #ifndef F746_TOUCH_PANELDETECTORX_HPP
phungductung 0:cacfc9e25452 8 #define F746_TOUCH_PANELDETECTORX_HPP
phungductung 0:cacfc9e25452 9
phungductung 0:cacfc9e25452 10 #include "GuiBase.hpp"
phungductung 0:cacfc9e25452 11
phungductung 0:cacfc9e25452 12 namespace Mikami
phungductung 0:cacfc9e25452 13 {
phungductung 0:cacfc9e25452 14 class TouchPanelDetectorX : public GuiBase
phungductung 0:cacfc9e25452 15 {
phungductung 0:cacfc9e25452 16 public:
phungductung 0:cacfc9e25452 17 // Constructor
phungductung 0:cacfc9e25452 18 TouchPanelDetectorX(uint16_t x1, uint16_t x2,
phungductung 0:cacfc9e25452 19 uint16_t y1, uint16_t y2)
phungductung 0:cacfc9e25452 20 : X1_(x1), X2_(x2), Y1_(y1), Y2_(y2) {}
phungductung 0:cacfc9e25452 21
phungductung 0:cacfc9e25452 22 bool IsTouched(uint16_t xIn, uint16_t &xOut)
phungductung 0:cacfc9e25452 23 {
phungductung 0:cacfc9e25452 24 GetTsState();
phungductung 0:cacfc9e25452 25
phungductung 0:cacfc9e25452 26 if (!state_.touchDetected) return false;
phungductung 0:cacfc9e25452 27
phungductung 0:cacfc9e25452 28 uint16_t x = state_.touchX[0];
phungductung 0:cacfc9e25452 29 uint16_t y = state_.touchY[0];
phungductung 0:cacfc9e25452 30
phungductung 0:cacfc9e25452 31 if ( (x < X1_) || (x > X2_) || (y < Y1_) || (y > Y2_) )
phungductung 0:cacfc9e25452 32 return false;
phungductung 0:cacfc9e25452 33
phungductung 0:cacfc9e25452 34 const int WD = 8;
phungductung 0:cacfc9e25452 35 if ( (x < xIn-WD) || (x > xIn+WD) ) return false;
phungductung 0:cacfc9e25452 36
phungductung 0:cacfc9e25452 37 xOut = (x >= X1_) ? x : X1_;
phungductung 0:cacfc9e25452 38 xOut = (x <= X2_) ? x : X2_;
phungductung 0:cacfc9e25452 39 return true;
phungductung 0:cacfc9e25452 40 }
phungductung 0:cacfc9e25452 41
phungductung 0:cacfc9e25452 42 private:
phungductung 0:cacfc9e25452 43 const uint16_t X1_, X2_, Y1_, Y2_;
phungductung 0:cacfc9e25452 44 };
phungductung 0:cacfc9e25452 45 }
phungductung 0:cacfc9e25452 46 #endif // F746_TOUCH_PANELDETECTORX_HPP