console: add qemu_pixman_linebuf_copy
Helper function for copying data from linebuf to framebuffer using pixman, possibly converting in case src and dst formats differ. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									4c38762fb5
								
							
						
					
					
						commit
						43c7d8bd44
					
				| 
						 | 
				
			
			@ -42,6 +42,8 @@ pixman_image_t *qemu_pixman_linebuf_create(pixman_format_code_t format,
 | 
			
		|||
                                           int width);
 | 
			
		||||
void qemu_pixman_linebuf_fill(pixman_image_t *linebuf, pixman_image_t *fb,
 | 
			
		||||
                              int width, int x, int y);
 | 
			
		||||
void qemu_pixman_linebuf_copy(pixman_image_t *fb, int width, int x, int y,
 | 
			
		||||
                              pixman_image_t *linebuf);
 | 
			
		||||
pixman_image_t *qemu_pixman_mirror_create(pixman_format_code_t format,
 | 
			
		||||
                                          pixman_image_t *image);
 | 
			
		||||
void qemu_pixman_image_unref(pixman_image_t *image);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -133,6 +133,7 @@ pixman_image_t *qemu_pixman_linebuf_create(pixman_format_code_t format,
 | 
			
		|||
    return image;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* fill linebuf from framebuffer */
 | 
			
		||||
void qemu_pixman_linebuf_fill(pixman_image_t *linebuf, pixman_image_t *fb,
 | 
			
		||||
                              int width, int x, int y)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -140,6 +141,14 @@ void qemu_pixman_linebuf_fill(pixman_image_t *linebuf, pixman_image_t *fb,
 | 
			
		|||
                           x, y, 0, 0, 0, 0, width, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* copy linebuf to framebuffer */
 | 
			
		||||
void qemu_pixman_linebuf_copy(pixman_image_t *fb, int width, int x, int y,
 | 
			
		||||
                              pixman_image_t *linebuf)
 | 
			
		||||
{
 | 
			
		||||
    pixman_image_composite(PIXMAN_OP_SRC, linebuf, NULL, fb,
 | 
			
		||||
                           0, 0, 0, 0, x, y, width, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pixman_image_t *qemu_pixman_mirror_create(pixman_format_code_t format,
 | 
			
		||||
                                          pixman_image_t *image)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue