Mercurial > ecos
changeset 1188:deed043a388c
Add support for BGR233 pixel mode
| author | gthomas |
|---|---|
| date | Tue, 02 Sep 2003 01:43:35 +0000 |
| parents | 62fcf59de75c |
| children | e1afd37f2f1d |
| files | packages/net/vnc_server/current/ChangeLog packages/net/vnc_server/current/cdl/vnc-server.cdl packages/net/vnc_server/current/include/vnc-server.h packages/net/vnc_server/current/src/vnc-server.c |
| diffstat | 4 files changed, 42 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/net/vnc_server/current/ChangeLog +++ b/packages/net/vnc_server/current/ChangeLog @@ -1,3 +1,10 @@ +2003-09-01 Gary Thomas <gary@mlbassoc.com> + + * src/vnc-server.c: + * include/vnc-server.h: + * cdl/vnc-server.cdl: Add support for BGR233 (8 bit) mode, since + newer viewers support this on all displays. + 2003-08-31 Chris Garry <cgarry@sweeneydesign.co.uk> * src/vnc-server.c:
--- a/packages/net/vnc_server/current/cdl/vnc-server.cdl +++ b/packages/net/vnc_server/current/cdl/vnc-server.cdl @@ -168,9 +168,17 @@ cdl_package CYGPKG_VNC_SERVER { cdl_option CYGNUM_VNC_SERVER_PIXEL_RGB332 { display "RGB332 pixel format (8-bit)" flavor bool + default_value 0 + implements CYGNUM_VNC_SERVER_PIXEL_SELECTED + description "This selects 8-bit, RGB332 pixel format." + } + + cdl_option CYGNUM_VNC_SERVER_PIXEL_BGR233 { + display "BGR233 pixel format (8-bit)" + flavor bool default_value 1 implements CYGNUM_VNC_SERVER_PIXEL_SELECTED - description "This selects 8-bit, RGB332 pixel format." + description "This selects 8-bit, BGR233 pixel format." } cdl_option CYGNUM_VNC_SERVER_PIXEL_RGB555 {
--- a/packages/net/vnc_server/current/include/vnc-server.h +++ b/packages/net/vnc_server/current/include/vnc-server.h @@ -63,6 +63,7 @@ typedef struct bool rgb332; bool rgb555; bool rgb565; + bool bgr233; } vnc_frame_format_t; @@ -94,17 +95,14 @@ typedef struct #endif /* Type for colour values */ -#ifdef CYGNUM_VNC_SERVER_PIXEL_RGB332 +#if defined(CYGNUM_VNC_SERVER_PIXEL_RGB332) || defined(CYGNUM_VNC_SERVER_PIXEL_BGR233) typedef cyg_uint8 vnc_color_t; typedef cyg_uint8 vnc_colour_t; -#endif -#ifdef CYGNUM_VNC_SERVER_PIXEL_RGB555 +#elif defined(CYGNUM_VNC_SERVER_PIXEL_RGB555) || defined(CYGNUM_VNC_SERVER_PIXEL_RGB565) typedef cyg_uint16 vnc_color_t; typedef cyg_uint16 vnc_colour_t; -#endif -#ifdef CYGNUM_VNC_SERVER_PIXEL_RGB565 -typedef cyg_uint16 vnc_color_t; -typedef cyg_uint16 vnc_colour_t; +#else +#error "Unsupported color model" #endif @@ -133,6 +131,11 @@ vnc_printf_return_t VncPrintf(MWCFONT* f |((((cyg_uint8)g)&0xE0) >> 3) \ |((((cyg_uint8)b)&0xC0) >> 6)) #endif +#ifdef CYGNUM_VNC_SERVER_PIXEL_BGR233 +#define VNC_RGB2COL(r,g,b) (vnc_colour_t)(((((cyg_uint8)r)&0xE0) >> 5) \ + |((((cyg_uint8)g)&0xE0) >> 2) \ + |((((cyg_uint8)b)&0xC0) >> 0)) +#endif #ifdef CYGNUM_VNC_SERVER_PIXEL_RGB555 #define VNC_RGB2COL(r,g,b) (vnc_colour_t)(((((cyg_uint8)r)&0xF8) << 7) \ |((((cyg_uint8)g)&0xF8) << 2) \
--- a/packages/net/vnc_server/current/src/vnc-server.c +++ b/packages/net/vnc_server/current/src/vnc-server.c @@ -94,6 +94,17 @@ void lwip_init(void); #define BLUE_SHIFT 0 #endif +#ifdef CYGNUM_VNC_SERVER_PIXEL_BGR233 +#define BITS_PER_PIXEL 8 /* Bits per pixel */ +#define PIXEL_DEPTH 8 /* Usefull bits per pixel */ +#define RED_MAX 7 +#define GREEN_MAX 7 +#define BLUE_MAX 3 +#define RED_SHIFT 0 +#define GREEN_SHIFT 3 +#define BLUE_SHIFT 6 +#endif + #ifdef CYGNUM_VNC_SERVER_PIXEL_RGB555 #define BITS_PER_PIXEL 16 /* Bits per pixel */ #define PIXEL_DEPTH 15 /* Usefull bits per pixel */ @@ -226,6 +237,11 @@ vnc_frame_format_t frame_format = {CYGNU 0, #endif #ifdef CYGNUM_VNC_SERVER_PIXEL_RGB565 + 1, +#else + 0, +#endif +#ifdef CYGNUM_VNC_SERVER_PIXEL_BGR233 1}; #else 0};
