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