Revision 148954fa ui/vnc.h

b/ui/vnc.h
39 39
#include <stdbool.h>
40 40

  
41 41
#include "keymaps.h"
42
#include "vnc-palette.h"
43
#include "vnc-enc-zrle.h"
42 44

  
43 45
// #define _VNC_DEBUG 1
44 46

  
......
180 182
    int level;
181 183
} VncZlib;
182 184

  
185
typedef struct VncZrle {
186
    int type;
187
    Buffer fb;
188
    Buffer zrle;
189
    Buffer tmp;
190
    Buffer zlib;
191
    z_stream stream;
192
    VncPalette palette;
193
} VncZrle;
194

  
195
typedef struct VncZywrle {
196
    int buf[VNC_ZRLE_TILE_WIDTH * VNC_ZRLE_TILE_HEIGHT];
197
} VncZywrle;
198

  
183 199
#ifdef CONFIG_VNC_THREAD
184 200
struct VncRect
185 201
{
......
273 289
    VncTight tight;
274 290
    VncZlib zlib;
275 291
    VncHextile hextile;
276

  
292
    VncZrle zrle;
293
    VncZywrle zywrle;
277 294

  
278 295
    Notifier mouse_mode_notifier;
279 296

  
......
377 394
#define VNC_FEATURE_COPYRECT                 6
378 395
#define VNC_FEATURE_RICH_CURSOR              7
379 396
#define VNC_FEATURE_TIGHT_PNG                8
397
#define VNC_FEATURE_ZRLE                     9
398
#define VNC_FEATURE_ZYWRLE                  10
380 399

  
381 400
#define VNC_FEATURE_RESIZE_MASK              (1 << VNC_FEATURE_RESIZE)
382 401
#define VNC_FEATURE_HEXTILE_MASK             (1 << VNC_FEATURE_HEXTILE)
......
387 406
#define VNC_FEATURE_COPYRECT_MASK            (1 << VNC_FEATURE_COPYRECT)
388 407
#define VNC_FEATURE_RICH_CURSOR_MASK         (1 << VNC_FEATURE_RICH_CURSOR)
389 408
#define VNC_FEATURE_TIGHT_PNG_MASK           (1 << VNC_FEATURE_TIGHT_PNG)
409
#define VNC_FEATURE_ZRLE_MASK                (1 << VNC_FEATURE_ZRLE)
410
#define VNC_FEATURE_ZYWRLE_MASK              (1 << VNC_FEATURE_ZYWRLE)
390 411

  
391 412

  
392 413
/* Client -> Server message IDs */
......
521 542
                                          int w, int h);
522 543
void vnc_tight_clear(VncState *vs);
523 544

  
545
int vnc_zrle_send_framebuffer_update(VncState *vs, int x, int y, int w, int h);
546
int vnc_zywrle_send_framebuffer_update(VncState *vs, int x, int y, int w, int h);
547
void vnc_zrle_clear(VncState *vs);
548

  
524 549
#endif /* __QEMU_VNC_H */

Also available in: Unified diff