[Spice-devel] [vdagent-win RFC PATCH 0/5] Replace CxImage code

Frediano Ziglio fziglio at redhat.com
Wed Nov 9 10:32:40 UTC 2016


CxImage is used for image conversion for clipboard support.
CxImage have currently some issue:
- library is old and unsupported;
- required an old libpng library.
Currently the MingW binary we distribute due to some
issue have PNG disabled (so no clipboard image support).
Note that currently we support (before and after this patch)
only BMP and PNG. PNG is required as the default agent format.
However Windows programs wants to have BMP (specifically DIB)
in the clipboard.
This patch remove CxImage and use directly libpng (BMP is
supported directly by Windows APIs).
Tested with various formats and the compiled agent with a
Linux client.
The main concern is actually the possible problem to
support some weird/old BMP file formats.

Frediano Ziglio (5):
  Move image handling to a separate file
  Initial rewrite of image conversion code
  Write code to decode PNG format
  Support encoding PNG images
  RFC: Add test for PNG files

 Makefile.am           |  25 +++-
 configure.ac          |   4 +-
 vdagent/image.cpp     | 184 +++++++++++++++++++++++++
 vdagent/image.h       |  59 ++++++++
 vdagent/imagepng.cpp  | 365 ++++++++++++++++++++++++++++++++++++++++++++++++++
 vdagent/imagepng.h    |  25 ++++
 vdagent/imagetest.cpp |  77 +++++++++++
 vdagent/vdagent.cpp   |  57 ++------
 8 files changed, 742 insertions(+), 54 deletions(-)
 create mode 100644 vdagent/image.cpp
 create mode 100644 vdagent/image.h
 create mode 100644 vdagent/imagepng.cpp
 create mode 100644 vdagent/imagepng.h
 create mode 100644 vdagent/imagetest.cpp

-- 
2.7.4



More information about the Spice-devel mailing list