All pastes #486046 Raw Edit

Something

public text v1 · immutable
·published 2007-05-13 18:48 UTC
rendered paste body
int applyInputFrame(u_int8_t *raw_frame, InputFrame *data, u_int32_t frame_height, u_int32_t frame_width)
{
	// TODO: Error-checking
	unsigned long i, j;
	
	for (i = 0; i < data->num_rects; i++)
	{
		InputRect *rect = &data->rects[i];
		
		for (j = 0; j < rect->height; j++)
		{
			int rect_line = rect->y + j;
			int frame_line = frame_height - rect_line - j;
			
			u_int8_t *raw_frame_line = raw_frame + 4 * frame_width * frame_line;	// go to the correct line of the frame.
			u_int8_t *rect_data_line = rect->data + 4 * rect->width * j;		// go to the correct line of the rect data.
			
			memcpy(raw_frame_line + 4 * rect->x, rect_data_line, sizeof(u_int8_t) * rect->width * 4);
		}
	}
}