• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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