Diff for /qemu/console.h between versions 1.1.1.5 and 1.1.1.6

version 1.1.1.5, 2018/04/24 17:34:31 version 1.1.1.6, 2018/04/24 18:24:05
Line 3 Line 3
   
 #include "qemu-char.h"  #include "qemu-char.h"
 #include "qdict.h"  #include "qdict.h"
   #include "notify.h"
   
 /* keyboard/mouse support */  /* keyboard/mouse support */
   
Line 10 Line 11
 #define MOUSE_EVENT_RBUTTON 0x02  #define MOUSE_EVENT_RBUTTON 0x02
 #define MOUSE_EVENT_MBUTTON 0x04  #define MOUSE_EVENT_MBUTTON 0x04
   
   /* identical to the ps/2 keyboard bits */
   #define QEMU_SCROLL_LOCK_LED (1 << 0)
   #define QEMU_NUM_LOCK_LED    (1 << 1)
   #define QEMU_CAPS_LOCK_LED   (1 << 2)
   
 /* in ms */  /* in ms */
 #define GUI_REFRESH_INTERVAL 30  #define GUI_REFRESH_INTERVAL 30
   
 typedef void QEMUPutKBDEvent(void *opaque, int keycode);  typedef void QEMUPutKBDEvent(void *opaque, int keycode);
   typedef void QEMUPutLEDEvent(void *opaque, int ledstate);
 typedef void QEMUPutMouseEvent(void *opaque, int dx, int dy, int dz, int buttons_state);  typedef void QEMUPutMouseEvent(void *opaque, int dx, int dy, int dz, int buttons_state);
   
 typedef struct QEMUPutMouseEntry {  typedef struct QEMUPutMouseEntry {
Line 22  typedef struct QEMUPutMouseEntry { Line 29  typedef struct QEMUPutMouseEntry {
     int qemu_put_mouse_event_absolute;      int qemu_put_mouse_event_absolute;
     char *qemu_put_mouse_event_name;      char *qemu_put_mouse_event_name;
   
       int index;
   
     /* used internally by qemu for handling mice */      /* used internally by qemu for handling mice */
     struct QEMUPutMouseEntry *next;      QTAILQ_ENTRY(QEMUPutMouseEntry) node;
 } QEMUPutMouseEntry;  } QEMUPutMouseEntry;
   
   typedef struct QEMUPutLEDEntry {
       QEMUPutLEDEvent *put_led;
       void *opaque;
       QTAILQ_ENTRY(QEMUPutLEDEntry) next;
   } QEMUPutLEDEntry;
   
 void qemu_add_kbd_event_handler(QEMUPutKBDEvent *func, void *opaque);  void qemu_add_kbd_event_handler(QEMUPutKBDEvent *func, void *opaque);
   void qemu_remove_kbd_event_handler(void);
 QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func,  QEMUPutMouseEntry *qemu_add_mouse_event_handler(QEMUPutMouseEvent *func,
                                                 void *opaque, int absolute,                                                  void *opaque, int absolute,
                                                 const char *name);                                                  const char *name);
 void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry);  void qemu_remove_mouse_event_handler(QEMUPutMouseEntry *entry);
   void qemu_activate_mouse_event_handler(QEMUPutMouseEntry *entry);
   
   QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent *func, void *opaque);
   void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry);
   
 void kbd_put_keycode(int keycode);  void kbd_put_keycode(int keycode);
   void kbd_put_ledstate(int ledstate);
 void kbd_mouse_event(int dx, int dy, int dz, int buttons_state);  void kbd_mouse_event(int dx, int dy, int dz, int buttons_state);
   
   /* Does the current mouse generate absolute events */
 int kbd_mouse_is_absolute(void);  int kbd_mouse_is_absolute(void);
   void qemu_add_mouse_mode_change_notifier(Notifier *notify);
   void qemu_remove_mouse_mode_change_notifier(Notifier *notify);
   
   /* Of all the mice, is there one that generates absolute events */
   int kbd_mouse_has_absolute(void);
   
 struct MouseTransformInfo {  struct MouseTransformInfo {
     /* Touchscreen resolution */      /* Touchscreen resolution */
Line 99  struct DisplaySurface { Line 127  struct DisplaySurface {
     struct PixelFormat pf;      struct PixelFormat pf;
 };  };
   
   /* cursor data format is 32bit RGBA */
   typedef struct QEMUCursor {
       int                 width, height;
       int                 hot_x, hot_y;
       int                 refcount;
       uint32_t            data[];
   } QEMUCursor;
   
   QEMUCursor *cursor_alloc(int width, int height);
   void cursor_get(QEMUCursor *c);
   void cursor_put(QEMUCursor *c);
   QEMUCursor *cursor_builtin_hidden(void);
   QEMUCursor *cursor_builtin_left_ptr(void);
   void cursor_print_ascii_art(QEMUCursor *c, const char *prefix);
   int cursor_get_mono_bpl(QEMUCursor *c);
   void cursor_set_mono(QEMUCursor *c,
                        uint32_t foreground, uint32_t background, uint8_t *image,
                        int transparent, uint8_t *mask);
   void cursor_get_mono_image(QEMUCursor *c, int foreground, uint8_t *mask);
   void cursor_get_mono_mask(QEMUCursor *c, int transparent, uint8_t *mask);
   
 struct DisplayChangeListener {  struct DisplayChangeListener {
     int idle;      int idle;
     uint64_t gui_timer_interval;      uint64_t gui_timer_interval;
Line 131  struct DisplayState { Line 180  struct DisplayState {
     struct DisplayChangeListener* listeners;      struct DisplayChangeListener* listeners;
   
     void (*mouse_set)(int x, int y, int on);      void (*mouse_set)(int x, int y, int on);
     void (*cursor_define)(int width, int height, int bpp, int hot_x, int hot_y,      void (*cursor_define)(QEMUCursor *cursor);
                           uint8_t *image, uint8_t *mask);  
   
     struct DisplayState *next;      struct DisplayState *next;
 };  };
Line 144  DisplaySurface* qemu_create_displaysurfa Line 192  DisplaySurface* qemu_create_displaysurfa
 PixelFormat qemu_different_endianness_pixelformat(int bpp);  PixelFormat qemu_different_endianness_pixelformat(int bpp);
 PixelFormat qemu_default_pixelformat(int bpp);  PixelFormat qemu_default_pixelformat(int bpp);
   
 extern struct DisplayAllocator default_allocator;  
 DisplayAllocator *register_displayallocator(DisplayState *ds, DisplayAllocator *da);  DisplayAllocator *register_displayallocator(DisplayState *ds, DisplayAllocator *da);
 DisplaySurface* defaultallocator_create_displaysurface(int width, int height);  
 DisplaySurface* defaultallocator_resize_displaysurface(DisplaySurface *surface, int width, int height);  
 void defaultallocator_free_displaysurface(DisplaySurface *surface);  
   
 static inline DisplaySurface* qemu_create_displaysurface(DisplayState *ds, int width, int height)  static inline DisplaySurface* qemu_create_displaysurface(DisplayState *ds, int width, int height)
 {  {
Line 283  static inline int ds_get_bytes_per_pixel Line 327  static inline int ds_get_bytes_per_pixel
 typedef unsigned long console_ch_t;  typedef unsigned long console_ch_t;
 static inline void console_write_ch(console_ch_t *dest, uint32_t ch)  static inline void console_write_ch(console_ch_t *dest, uint32_t ch)
 {  {
       if (!(ch & 0xff))
           ch |= ' ';
     cpu_to_le32wu((uint32_t *) dest, ch);      cpu_to_le32wu((uint32_t *) dest, ch);
 }  }
   

Removed from v.1.1.1.5  
changed lines
  Added in v.1.1.1.6


unix.superglobalmegacorp.com