2 #define QUOTE(x) QUOTE_(x)
4 //default per-screen size
5 #define DEFAULT_WIDTH (640 / 4)
6 #define DEFAULT_HEIGHT 480
8 static gint option_fake
= 0;
9 static gboolean option_force_multiscreen
= FALSE
;
10 static gboolean option_fullscreen
= FALSE
;
11 static gint option_x_screens
= 1;
12 static gint option_screens
= 4;
13 static gint option_width
= 0;
14 static gint option_height
= 0;
15 static gint option_autosize
= 0; //not actually exposed to commandline
16 static char *option_content
= NULL
;
20 #define MAX_X_SCREENS 8
21 #define MIN_X_SCREENS 1
22 #define MAX_PIXELS 999999
24 static GOptionEntry entries
[] =
26 { "fake-source", 'F', 0, G_OPTION_ARG_INT
, &option_fake
,
27 "use videotestsrc (1, 2 ->different patterns)", NULL
},
28 { "full-screen", 'f', 0, G_OPTION_ARG_NONE
, &option_fullscreen
, "run full screen", NULL
},
29 { "force-multiscreen", 'm', 0, G_OPTION_ARG_NONE
, &option_force_multiscreen
,
30 "put windows on proper screens, or crash", NULL
},
31 { "x-screens", 'x', 0, G_OPTION_ARG_INT
, &option_x_screens
,
32 "use this many X screens", NULL
},
33 { "width", 'w', 0, G_OPTION_ARG_INT
, &option_width
, "width of each screen", NULL
},
34 { "height", 'h', 0, G_OPTION_ARG_INT
, &option_height
, "height of screen", NULL
},
35 { "screens", 's', 0, G_OPTION_ARG_INT
, &option_screens
, "Use this many screens, (max "
36 QUOTE(MAX_SCREENS
) ")", "S" },
37 { "content", 'c', 0, G_OPTION_ARG_FILENAME
, &option_content
, "Content video file", NULL
},
38 { NULL
, 0, 0, 0, NULL
, NULL
, NULL
}
41 typedef struct window_s
{