- GC x_GcTop[XTEEVEE_BARS_COLOR_TOP_COUNT];
- GC x_GcBottom[XTEEVEE_BARS_COLOR_BOTTOM_COUNT];
- XGCValues x_GcVal;
- int color_Index;
- XColor color_Color;
- char* color_ColorTop[] =
- {
- "grey",
- "yellow",
- "light blue",
- "green",
- "orange",
- "red",
- "purple"
- };
- char* color_ColorBottom[] =
- {
- "black",
- "white",
- "black",
- "black",
- "black"
- };
-
- /* Build the GCs */
- for (color_Index = 0;color_Index < XTEEVEE_BARS_COLOR_TOP_COUNT;
- color_Index++)
- {
- if (XParseColor(x_Disp,x_WinAttr->colormap,
- color_ColorTop[color_Index],&color_Color) == 0)
- {
- /* NOTE: Um, badness? */
- }
- if (XAllocColor(x_Disp,x_WinAttr->colormap,&color_Color) == 0)
- {
- /* NOTE: More badness? */
- }
- x_GcVal.foreground = color_Color.pixel;
- x_GcTop[color_Index] =
- XCreateGC(x_Disp,x_Win,GCForeground,&x_GcVal);
- }
- for (color_Index = 0;color_Index < XTEEVEE_BARS_COLOR_BOTTOM_COUNT;
- color_Index++)
- {
- if (XParseColor(x_Disp,x_WinAttr->colormap,
- color_ColorBottom[color_Index],&color_Color) == 0)
- {
- /* NOTE: Um, badness? */
- }
- if (XAllocColor(x_Disp,x_WinAttr->colormap,&color_Color) == 0)
- {
- /* NOTE: More badness? */
- }
- x_GcVal.foreground = color_Color.pixel;
- x_GcBottom[color_Index] =
- XCreateGC(x_Disp,x_Win,GCForeground,&x_GcVal);
- }
-
- /* Draw color-bar test pattern */
- XClearWindow(x_Disp,x_Win);
- for (color_Index = 0;color_Index < XTEEVEE_BARS_COLOR_TOP_COUNT;
- color_Index++)
- {
- XFillRectangle(x_Disp,x_Win,x_GcTop[color_Index],
- ((x_WinAttr->width/XTEEVEE_BARS_COLOR_TOP_COUNT)+1)*
- color_Index,
- 0,
- (x_WinAttr->width/XTEEVEE_BARS_COLOR_TOP_COUNT)+1,
- (x_WinAttr->height/5)*4);
- }
- for (color_Index = 0;color_Index < XTEEVEE_BARS_COLOR_BOTTOM_COUNT;
- color_Index++)
- {
- XFillRectangle(x_Disp,x_Win,x_GcBottom[color_Index],
- ((x_WinAttr->width/XTEEVEE_BARS_COLOR_BOTTOM_COUNT)+1)*
- color_Index,
- (x_WinAttr->height/5)*4,
- (x_WinAttr->width/XTEEVEE_BARS_COLOR_BOTTOM_COUNT)+1,
- x_WinAttr->height-(x_WinAttr->height/5)*4);
- }
-
- /* Go! */
- if (hack_Time > 0)
- {
- hack_Time += time(NULL);
- }
- while ((time(NULL) < hack_Time) || (hack_Time == 0))
- {
- screenhack_handle_events(x_Disp);
- usleep(100000);
- }
-
- /* Free everything */
- for (color_Index = 0;color_Index < XTEEVEE_BARS_COLOR_TOP_COUNT;
- color_Index++)
- {
- xteevee_FreeColorForeground(x_Disp,x_WinAttr,
- x_GcTop[color_Index]);
- XFreeGC(x_Disp,x_GcTop[color_Index]);
- }
- for (color_Index = 0;color_Index < XTEEVEE_BARS_COLOR_BOTTOM_COUNT;
- color_Index++)
- {
- xteevee_FreeColorForeground(x_Disp,x_WinAttr,
- x_GcBottom[color_Index]);
- XFreeGC(x_Disp,x_GcBottom[color_Index]);
- }