summaryrefslogtreecommitdiffstats
path: root/xorg/X11R7.6/rdp/rdpup.c
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2013-03-18 23:43:17 -0700
committerJay Sorg <jay.sorg@gmail.com>2013-03-18 23:43:17 -0700
commit12f7cd64f1642130b82f112b57e7a7993932cf1f (patch)
tree348dca0607e223dc7cad90db84fc07e96f218ba6 /xorg/X11R7.6/rdp/rdpup.c
parent561b263b9141cb56f315d754920bf07e26af7317 (diff)
downloadxrdp-proprietary-12f7cd64f1642130b82f112b57e7a7993932cf1f.tar.gz
xrdp-proprietary-12f7cd64f1642130b82f112b57e7a7993932cf1f.zip
work on new(color) cursors
Diffstat (limited to 'xorg/X11R7.6/rdp/rdpup.c')
-rw-r--r--xorg/X11R7.6/rdp/rdpup.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/xorg/X11R7.6/rdp/rdpup.c b/xorg/X11R7.6/rdp/rdpup.c
index d1d654de..78263b55 100644
--- a/xorg/X11R7.6/rdp/rdpup.c
+++ b/xorg/X11R7.6/rdp/rdpup.c
@@ -1,5 +1,5 @@
/*
-Copyright 2005-2012 Jay Sorg
+Copyright 2005-2013 Jay Sorg
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
@@ -1367,6 +1367,36 @@ rdpup_set_cursor(short x, short y, char *cur_data, char *cur_mask)
/******************************************************************************/
int
+rdpup_set_cursor_ex(short x, short y, char *cur_data, char *cur_mask, int bpp)
+{
+ int size;
+ int Bpp;
+
+ if (g_connected)
+ {
+ LLOGLN(10, (" rdpup_set_cursor_ex"));
+ Bpp = (bpp == 0) ? 3 : (bpp + 7) / 8;
+ size = 10 + 32 * (32 * Bpp) + 32 * (32 / 8);
+ rdpup_pre_check(size);
+ out_uint16_le(g_out_s, 51); /* set cursor ex */
+ out_uint16_le(g_out_s, size); /* size */
+ g_count++;
+ x = MAX(0, x);
+ x = MIN(31, x);
+ y = MAX(0, y);
+ y = MIN(31, y);
+ out_uint16_le(g_out_s, x);
+ out_uint16_le(g_out_s, y);
+ out_uint16_le(g_out_s, bpp);
+ out_uint8a(g_out_s, cur_data, 32 * (32 * Bpp));
+ out_uint8a(g_out_s, cur_mask, 32 * (32 / 8));
+ }
+
+ return 0;
+}
+
+/******************************************************************************/
+int
rdpup_create_os_surface(int rdpindex, int width, int height)
{
LLOGLN(10, ("rdpup_create_os_surface:"));