Beispiel #1
0
void wf_update_encode(wfInfo* wfi)
{
	
	RFX_RECT rect;
	long height, width;
	BYTE* pDataBits = NULL;
	int stride;
	
	SURFACE_BITS_COMMAND* cmd;

	wf_info_find_invalid_region(wfi);

	cmd = &wfi->cmd;

	stream_set_pos(wfi->s, 0);

	wf_info_getScreenData(wfi, &width, &height, &pDataBits, &stride);

	rect.x = 0;
	rect.y = 0;
	rect.width = (UINT16) width;
	rect.height = (UINT16) height;

	//printf("x:%d y:%d w:%d h:%d\n", wfi->invalid.left, wfi->invalid.top, width, height);

	stream_clear(wfi->s);
	rfx_compose_message(wfi->rfx_context, wfi->s, &rect, 1,
			pDataBits, width, height, stride);

	wfi->frame_idx = wfi->rfx_context->frame_idx;

	cmd->destLeft = wfi->invalid.left;
	cmd->destTop = wfi->invalid.top;
	cmd->destRight = wfi->invalid.left + width;
	cmd->destBottom = wfi->invalid.top + height;

	cmd->bpp = 32;
	cmd->codecID = 3;
	cmd->width = width;
	cmd->height = height;
	cmd->bitmapDataLength = stream_get_length(wfi->s);
	cmd->bitmapData = stream_get_head(wfi->s);
}
Beispiel #2
0
void wf_update_encode(wfInfo* wfi)
{
    long offset;
    RFX_RECT rect;
    long height, width;
    GETCHANGESBUF* changes;
    SURFACE_BITS_COMMAND* cmd;

    wf_info_find_invalid_region(wfi);

    cmd = &wfi->cmd;
    changes = (GETCHANGESBUF*) wfi->changeBuffer;

    width = (wfi->invalid.right - wfi->invalid.left) + 1;
    height = (wfi->invalid.bottom - wfi->invalid.top) + 1;

    stream_clear(wfi->s);
    stream_set_pos(wfi->s, 0);

    rect.x = 0;
    rect.y = 0;
    rect.width = (uint16) width;
    rect.height = (uint16) height;

    offset = (4 * wfi->invalid.left) + (wfi->invalid.top * wfi->width * 4);

    rfx_compose_message(wfi->rfx_context, wfi->s, &rect, 1,
                        ((uint8*) (changes->Userbuffer)) + offset, width, height, wfi->width * 4);

    cmd->destLeft = wfi->invalid.left;
    cmd->destTop = wfi->invalid.top;
    cmd->destRight = wfi->invalid.left + width;
    cmd->destBottom = wfi->invalid.top + height;

    cmd->bpp = 32;
    cmd->codecID = 3;
    cmd->width = width;
    cmd->height = height;
    cmd->bitmapDataLength = stream_get_length(wfi->s);
    cmd->bitmapData = stream_get_head(wfi->s);
}