Home | History | Annotate | Download | only in protocol
      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