blob: c3dce633e94a934ab95042dc9c10a9753d47f72f [file] [log] [blame]
/* Copyright (C) 2006-2010 The Android Open Source Project
**
** This software is licensed under the terms of the GNU General Public
** License version 2, as published by the Free Software Foundation, and
** may be copied, distributed, and modified under those terms.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
*/
#ifndef QEMU_ANDROID_QEMULATOR_H
#define QEMU_ANDROID_QEMULATOR_H
#include "android/config-file.h"
#include "android/skin/file.h"
#include "android/skin/keyboard.h"
#include "android/skin/window.h"
#include "android/cmdline-option.h"
typedef struct {
AConfig* aconfig;
SkinFile* layout_file;
SkinLayout* layout;
SkinKeyboard* keyboard;
SkinWindow* window;
int win_x;
int win_y;
int show_trackball;
SkinTrackBall* trackball;
int lcd_brightness;
SkinImage* onion;
SkinRotation onion_rotation;
int onion_alpha;
AndroidOptions opts[1]; /* copy of options */
} QEmulator;
/* Gets a pointer to a QEmulator structure instance. */
QEmulator*
qemulator_get(void);
void
android_emulator_set_window_scale(double scale, int is_dpi);
/* Initializes QEmulator structure instance. */
int
qemulator_init( QEmulator* emulator,
AConfig* aconfig,
const char* basepath,
int x,
int y,
AndroidOptions* opts );
/* Uninitializes QEmulator structure instance on exit. */
void
qemulator_done( QEmulator* emulator );
/* Sets title on the emulator's window. */
void
qemulator_set_title( QEmulator* emulator );
/* Gets emulator's layout. */
SkinLayout*
qemulator_get_layout( QEmulator* emulator );
/* Gets framebuffer for the first display. */
QFrameBuffer*
qemulator_get_first_framebuffer(QEmulator* emulator);
#endif // QEMU_ANDROID_QEMULATOR_H