1 /* Copyright (C) 2007-2008 The Android Open Source Project 2 ** 3 ** This software is licensed under the terms of the GNU General Public 4 ** License version 2, as published by the Free Software Foundation, and 5 ** may be copied, distributed, and modified under those terms. 6 ** 7 ** This program is distributed in the hope that it will be useful, 8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 ** GNU General Public License for more details. 11 */ 12 #ifndef _ANDROID_SKIN_TRACKBALL_H 13 #define _ANDROID_SKIN_TRACKBALL_H 14 15 #include <SDL.h> 16 #include "android/skin/rect.h" 17 18 typedef struct SkinTrackBall SkinTrackBall; 19 20 typedef struct SkinTrackBallParameters 21 { 22 int diameter; 23 int ring; 24 unsigned ball_color; 25 unsigned dot_color; 26 unsigned ring_color; 27 } 28 SkinTrackBallParameters; 29 30 31 extern SkinTrackBall* skin_trackball_create ( SkinTrackBallParameters* params ); 32 extern void skin_trackball_rect ( SkinTrackBall* ball, SDL_Rect* rect ); 33 extern int skin_trackball_contains( SkinTrackBall* ball, int x, int y ); 34 extern int skin_trackball_move ( SkinTrackBall* ball, int dx, int dy ); 35 extern void skin_trackball_refresh ( SkinTrackBall* ball ); 36 extern void skin_trackball_draw ( SkinTrackBall* ball, int x, int y, SDL_Surface* dst ); 37 extern void skin_trackball_destroy ( SkinTrackBall* ball ); 38 39 /* this sets the rotation that will be applied to mouse events sent to the system */ 40 extern void skin_trackball_set_rotation( SkinTrackBall* ball, SkinRotation rotation); 41 42 #endif /* END */ 43 44