mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-08 11:44:58 -05:00
46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
#ifndef NITRO_TP_H_
|
|
#define NITRO_TP_H_
|
|
|
|
#define TP_TOUCH_OFF 0 // Not being touched
|
|
#define TP_TOUCH_ON 1 // Being touched
|
|
|
|
#define TP_VALIDITY_VALID 0 // Valid
|
|
#define TP_VALIDITY_INVALID_X 1 // Data with invalid X coordinate
|
|
#define TP_VALIDITY_INVALID_Y 2 // Data with invalid Y coordinate
|
|
#define TP_VALIDITY_INVALID_XY (TP_VALIDITY_INVALID_X | TP_VALIDITY_INVALID_Y) // Data with invalid X and Y coordinates
|
|
|
|
// Touch panel input structure
|
|
typedef struct
|
|
{
|
|
u16 x; // x coordinate ( 0 - 4095 )
|
|
u16 y; // y coordinate ( 0 - 4095 )
|
|
u16 touch; // Touch yes/no
|
|
u16 validity; // Valid yes/no
|
|
}
|
|
TPData;
|
|
|
|
typedef struct NvTpData
|
|
{
|
|
s16 x0; // X origin coordinate
|
|
s16 y0; // Y origin coordinate
|
|
s16 xDotSize; // X dot size
|
|
s16 yDotSize; // Y dot size
|
|
}
|
|
TPCalibrateParam;
|
|
|
|
void TP_Init(void);
|
|
void TP_SetCalibrateParam(const TPCalibrateParam *param);
|
|
BOOL TP_GetUserInfo(TPCalibrateParam *calibrate);
|
|
void TP_RequestSamplingAsync(void);
|
|
u32 TP_WaitRawResult(TPData *result);
|
|
void TP_GetLatestRawPointInAuto(TPData *result);
|
|
void TP_GetCalibratedPoint(TPData *disp, const TPData *raw);
|
|
|
|
static inline u32 TP_RequestRawSampling(TPData *result)
|
|
{
|
|
TP_RequestSamplingAsync();
|
|
return TP_WaitRawResult(result);
|
|
}
|
|
|
|
#endif //NITRO_TP_H_
|