33af0dec28
Remove the hardcoded (and way too small) scroll threshold (the distance moved in pixels before we think the users wants to scroll) and replace it with something based on the actual DPI of the screen. On Android we call the API for that, on other touchscreens we reimplemented Android's formula (as of 2.2) and calculate it. Flyspray: 11727 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28548 a1c6a512-1295-4272-9138-f99709370657
55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
/***************************************************************************
|
|
* __________ __ ___.
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
* \/ \/ \/ \/ \/
|
|
* $Id$
|
|
*
|
|
* Copyright (C) 2008 by Maurus Cuelenaere
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __TOUCHSCREEN_INCLUDE_H_
|
|
#define __TOUCHSCREEN_INCLUDE_H_
|
|
|
|
struct touchscreen_calibration
|
|
{
|
|
int x[3][2];
|
|
int y[3][2];
|
|
};
|
|
|
|
struct touchscreen_parameter
|
|
{
|
|
int A, B, C, D, E, F;
|
|
int divider;
|
|
};
|
|
|
|
enum touchscreen_mode
|
|
{
|
|
TOUCHSCREEN_POINT = 0, /* touchscreen returns pixel co-ords */
|
|
TOUCHSCREEN_BUTTON, /* touchscreen returns BUTTON_* area codes
|
|
actual pixel value will still be accessible
|
|
from button_get_data */
|
|
};
|
|
|
|
extern struct touchscreen_parameter calibration_parameters;
|
|
extern const struct touchscreen_parameter default_calibration_parameters;
|
|
int touchscreen_calibrate(struct touchscreen_calibration *cal);
|
|
int touchscreen_to_pixels(int x, int y, int *data);
|
|
void touchscreen_set_mode(enum touchscreen_mode mode);
|
|
enum touchscreen_mode touchscreen_get_mode(void);
|
|
void touchscreen_disable_mapping(void);
|
|
void touchscreen_reset_mapping(void);
|
|
int touchscreen_get_scroll_threshold(void);
|
|
|
|
#endif /* __TOUCHSCREEN_INCLUDE_H_ */
|