Hi, thanks for working on this.  I can't get back to it until this weekend.

> 1,i found the freerpd/xrdp-freerdp.c
>
> static RD_HCURSOR DEFAULT_CC
> ui_create_cursor(rdpInst* inst, unsigned int x, unsigned int y,
>                  int width, int height, uint8* andmask,
>                  uint8* xormask, int bpp)
> {
>   struct my_cursor* cur;
>
>   g_writeln("ui_create_cursor: x %d y %d width %d height %d bpp %d",
>             x, y, width, height, bpp);
>   cur = (struct my_cursor*)g_malloc(sizeof(struct my_cursor), 1);
>   cur->width = width;
>   cur->height = height;
>   cur->hotx = x;
>   cur->hoty = y;
>   cur->andmask = g_malloc(32 * 32 * 4, 1);
>   cur->xormask = g_malloc(32 * 32 * 4, 1);
>   return (RD_HCURSOR)cur;
> }
> cur->andmask  and  cur->xormask have to be assigned.
>
> i add the code
>
> memcpy( cur->andmask,andmask,32 * 32 * 4);
> memcpy( cur->xormask ,xormask ,32 * 32 * 4);
>
>
> but the mouse image can not be showed correctly.

This should work.  Maybe the data has to be converted.

> 2,i found the freerpd/xrdp-freerdp.c
>
>
> static void DEFAULT_CC ui_draw_glyph(rdpInst* inst, int x, int y, int cx,
> int cy, RD_HGLYPH glyph)
>
> has not be implemented. it cause much image and text not to be showed
> correctly.
>
> i try to implement this function.
>
> in the freerdp-0.8.2 , the function is the
>
> static void
> l_ui_draw_glyph(struct rdp_inst * inst, int x, int y, int cx, int cy,
>     RD_HGLYPH glyph)
> {
>     xfInfo * xfi;
>
>     xfi = GET_XFI(inst);
>     //DEBUG("ui_draw_glyph:\n");
>     XSetStipple(xfi->display, xfi->gc, (Pixmap) glyph);
>     XSetTSOrigin(xfi->display, xfi->gc, x, y);
>     XFillRectangle(xfi->display, xfi->drw, xfi->gc, x, y, cx, cy);
>     XSetStipple(xfi->display, xfi->gc, xfi->bitmap_mono);
> }
>
> i do not  how to implement the  XSetStipple(xfi->display, xfi->gc, (Pixmap)
> glyph) and   XSetTSOrigin(xfi->display, xfi->gc, x, y); and
> XSetStipple(xfi->display, xfi->gc, xfi->bitmap_mono);
> in the xrdp.
>
> can any people give me some advice. thank you

What I was going to do there is change freerdp to pass the unparsed
font data to the ui so the ui can process it if it wants.  xrdp would
just pass it on to the client.
This is how librdp works in xrdp now.

Jay

------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel

Reply via email to