x11screen.c: Fix fast version of Update_rect()
also remove useless static variable;
This commit is contained in:
parent
761100beb0
commit
12df99cc3b
@ -34,7 +34,6 @@
|
||||
Display * X11_display = NULL;
|
||||
Window X11_window = 0;
|
||||
static XImage * X11_image = NULL;
|
||||
static char * image_pixels = NULL;
|
||||
static XTextProperty windowName;
|
||||
static GC X11_gc = 0;
|
||||
static T_GFX2_Surface * screen = NULL;
|
||||
@ -171,16 +170,14 @@ void GFX2_Set_mode(int *width, int *height, int fullscreen)
|
||||
screen->h = *height;
|
||||
XDestroyImage(X11_image);
|
||||
X11_image = NULL;
|
||||
image_pixels = NULL;
|
||||
}
|
||||
|
||||
if (image_pixels == NULL)
|
||||
{
|
||||
image_pixels = malloc(*height * *width * 4);
|
||||
memset(image_pixels, 64, *height * *width * 4);
|
||||
}
|
||||
if (X11_image == NULL)
|
||||
{
|
||||
char * image_pixels = NULL;
|
||||
|
||||
image_pixels = malloc(*height * *width * 4);
|
||||
memset(image_pixels, 64, *height * *width * 4);
|
||||
X11_image = XCreateImage(X11_display, visual, depth,
|
||||
ZPixmap, 0, image_pixels, *width, *height,
|
||||
32, 0/**width * 4*/);
|
||||
@ -264,7 +261,7 @@ void Update_rect(short x, short y, unsigned short width, unsigned short height)
|
||||
width *= Pixel_width;
|
||||
y *= Pixel_height;
|
||||
height *= Pixel_height;
|
||||
//printf("Update_rect(%d %d %d %d) %d %d\n", x, y, width, height, screen->w, screen->h);
|
||||
//GFX2_Log(GFX2_DEBUG, "Update_rect(%d %d %d %d) %d %d\n", x, y, width, height, screen->w, screen->h);
|
||||
if (y >= screen->h || x >= screen->w) return;
|
||||
if (y + height > screen->h)
|
||||
height = screen->h - y;
|
||||
@ -272,9 +269,9 @@ void Update_rect(short x, short y, unsigned short width, unsigned short height)
|
||||
width = screen->w - x;
|
||||
for (line = y; line < y + height; line++)
|
||||
{
|
||||
#if 0
|
||||
#if 1
|
||||
const byte * src = Get_Screen_pixel_ptr(x, line);
|
||||
byte * dest = image_pixels + line * X11_image->bytes_per_line + x * 4,
|
||||
byte * dest = (byte *)X11_image->data + line * X11_image->bytes_per_line + x * 4;
|
||||
i = width;
|
||||
do
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user