• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2006-2010 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 
13 #ifndef QEMU_ANDROID_QEMULATOR_H
14 #define QEMU_ANDROID_QEMULATOR_H
15 
16 #include "android/config.h"
17 #include "android/skin/file.h"
18 #include "android/skin/keyboard.h"
19 #include "android/skin/window.h"
20 #include "android/cmdline-option.h"
21 
22 typedef struct {
23     AConfig*       aconfig;
24     SkinFile*      layout_file;
25     SkinLayout*    layout;
26     SkinKeyboard*  keyboard;
27     SkinWindow*    window;
28     int            win_x;
29     int            win_y;
30     int            show_trackball;
31     SkinTrackBall* trackball;
32     int            lcd_brightness;
33     SkinImage*     onion;
34     SkinRotation   onion_rotation;
35     int            onion_alpha;
36 
37     AndroidOptions  opts[1];  /* copy of options */
38 } QEmulator;
39 
40 /* Gets a pointer to a QEmulator structure instance. */
41 QEmulator*
42 qemulator_get(void);
43 
44 /* Initializes QEmulator structure instance. */
45 int
46 qemulator_init( QEmulator*       emulator,
47                 AConfig*         aconfig,
48                 const char*      basepath,
49                 int              x,
50                 int              y,
51                 AndroidOptions*  opts );
52 
53 /* Uninitializes QEmulator structure instance on exit. */
54 void
55 qemulator_done( QEmulator* emulator );
56 
57 /* Sets title on the emulator's window. */
58 void
59 qemulator_set_title( QEmulator* emulator );
60 
61 /* Gets emulator's layout. */
62 SkinLayout*
63 qemulator_get_layout( QEmulator* emulator );
64 
65 /* Gets framebuffer for the first display. */
66 QFrameBuffer*
67 qemulator_get_first_framebuffer(QEmulator* emulator);
68 
69 #endif  // QEMU_ANDROID_QEMULATOR_H
70