added raster operations
This commit is contained in:
parent
bf2fd7a996
commit
201fdfd881
@ -73,11 +73,23 @@ void guac_rdp_gdi_memblt(rdpContext* context, MEMBLT_ORDER* memblt) {
|
|||||||
guac_socket* socket = client->socket;
|
guac_socket* socket = client->socket;
|
||||||
guac_rdp_bitmap* bitmap = (guac_rdp_bitmap*) memblt->bitmap;
|
guac_rdp_bitmap* bitmap = (guac_rdp_bitmap*) memblt->bitmap;
|
||||||
|
|
||||||
|
guac_composite_mode cmode = GUAC_COMP_OVER;
|
||||||
|
|
||||||
|
if (memblt->bRop == 204) cmode = GUAC_COMP_OVER;
|
||||||
|
else if (memblt->bRop == 238) cmode = GUAC_COMP_OR;
|
||||||
|
else if (memblt->bRop == 136) cmode = GUAC_COMP_AND;
|
||||||
|
else if (memblt->bRop == 102) cmode = GUAC_COMP_XOR2;
|
||||||
|
else if (memblt->bRop == 187) cmode = GUAC_COMP_NOR;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
guac_client_log_info (client, "guac_rdp_gdi_memblt: UNSUPPORTED opcode = %d (0x%02X)", memblt->bRop, memblt->bRop);
|
||||||
|
}
|
||||||
|
|
||||||
if (bitmap->layer != NULL)
|
if (bitmap->layer != NULL)
|
||||||
guac_protocol_send_copy(socket,
|
guac_protocol_send_copy(socket,
|
||||||
bitmap->layer,
|
bitmap->layer,
|
||||||
memblt->nXSrc, memblt->nYSrc, memblt->nWidth, memblt->nHeight,
|
memblt->nXSrc, memblt->nYSrc, memblt->nWidth, memblt->nHeight,
|
||||||
GUAC_COMP_OVER,
|
cmode,
|
||||||
current_layer, memblt->nLeftRect, memblt->nTopRect);
|
current_layer, memblt->nLeftRect, memblt->nTopRect);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user