• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 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 /*
14  * Contains the API for calling into the UI with Core's framebuffer updates.
15  */
16 
17 #ifndef _ANDROID_PROTOCOL_FB_UPDATES_H
18 #define _ANDROID_PROTOCOL_FB_UPDATES_H
19 
20 #include "sysemu.h"
21 
22 /* Requests the Core to refresh framebuffer.
23  * This message is sent by the UI to the Core right after the UI is initialized.
24  * This message forces the Core to send a full display update back to the UI. */
25 #define AFB_REQUEST_REFRESH     1
26 
27 /* Header of framebuffer update message sent from the core to the UI. */
28 typedef struct FBUpdateMessage {
29     /* x, y, w, and h identify the rectangle that is being updated. */
30     uint16_t    x;
31     uint16_t    y;
32     uint16_t    w;
33     uint16_t    h;
34 
35     /* Contains updating rectangle copied over from the framebuffer's pixels. */
36     uint8_t rect[0];
37 } FBUpdateMessage;
38 
39 /* Header for framebuffer requests sent from the UI to the Core. */
40 typedef struct FBRequestHeader {
41     /* Request type. See AFB_REQUEST_XXX for the values. */
42     uint8_t request_type;
43 } FBRequestHeader;
44 
45 #endif /* _ANDROID_PROTOCOL_FB_UPDATES_H */
46