projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
http://ftp.ussg.iu.edu/linux/slackware/slackware-9.0/source/xap/xscreensaver/xscreens...
[xscreensaver]
/
hacks
/
glx
/
grab-ximage.c
diff --git
a/hacks/glx/grab-ximage.c
b/hacks/glx/grab-ximage.c
index 6a5b1fa2daa2e6474c4202c2ee525895997dacbf..e199c4a4c9beb16f31ac45251e63082ed0fd08f1 100644
(file)
--- a/
hacks/glx/grab-ximage.c
+++ b/
hacks/glx/grab-ximage.c
@@
-1,5
+1,5
@@
/* grab-ximage.c --- grab the screen to an XImage for use with OpenGL.
/* grab-ximage.c --- grab the screen to an XImage for use with OpenGL.
- * xscreensaver, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 2001
, 2003
Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@
-149,13
+149,16
@@
screen_to_ximage (Screen *screen, Window window)
unsigned char spread_map[3][256];
unsigned char spread_map[3][256];
- srmsk = ximage1->red_mask;
- sgmsk = ximage1->green_mask;
- sbmsk = ximage1->blue_mask;
+ if (colors == 0) /* truecolor */
+ {
+ srmsk = ximage1->red_mask;
+ sgmsk = ximage1->green_mask;
+ sbmsk = ximage1->blue_mask;
- decode_mask (srmsk, &srpos, &srsiz);
- decode_mask (sgmsk, &sgpos, &sgsiz);
- decode_mask (sbmsk, &sbpos, &sbsiz);
+ decode_mask (srmsk, &srpos, &srsiz);
+ decode_mask (sgmsk, &sgpos, &sgsiz);
+ decode_mask (sbmsk, &sbpos, &sbsiz);
+ }
/* Note that unlike X, which is endianness-agnostic (since any XImage
can have its own specific bit ordering, with the server reversing
/* Note that unlike X, which is endianness-agnostic (since any XImage
can have its own specific bit ordering, with the server reversing
@@
-165,11
+168,14
@@
screen_to_ximage (Screen *screen, Window window)
*/
crpos = 0, cgpos = 8, cbpos = 16, capos = 24;
*/
crpos = 0, cgpos = 8, cbpos = 16, capos = 24;
- for (i = 0; i < 256; i++)
+ if (colors == 0) /* truecolor */
{
{
- spread_map[0][i] = spread_bits (i, srsiz);
- spread_map[1][i] = spread_bits (i, sgsiz);
- spread_map[2][i] = spread_bits (i, sbsiz);
+ for (i = 0; i < 256; i++)
+ {
+ spread_map[0][i] = spread_bits (i, srsiz);
+ spread_map[1][i] = spread_bits (i, sgsiz);
+ spread_map[2][i] = spread_bits (i, sbsiz);
+ }
}
for (y = 0; y < win_height; y++)
}
for (y = 0; y < win_height; y++)