summaryrefslogtreecommitdiff
path: root/uisimulator/x11
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator/x11')
-rw-r--r--uisimulator/x11/screenhack.c76
-rw-r--r--uisimulator/x11/uibasic.c7
2 files changed, 61 insertions, 22 deletions
diff --git a/uisimulator/x11/screenhack.c b/uisimulator/x11/screenhack.c
index 37c5d2061a..277e68be62 100644
--- a/uisimulator/x11/screenhack.c
+++ b/uisimulator/x11/screenhack.c
@@ -84,6 +84,7 @@ static XrmOptionDescRec default_options [] = {
84 84
85static char *default_defaults[] = { 85static char *default_defaults[] = {
86 ".root: false", 86 ".root: false",
87#define GEOMETRY_POSITION 1
87 "*geometry: " 88 "*geometry: "
88#ifdef HAVE_LCD_BITMAP 89#ifdef HAVE_LCD_BITMAP
89 "120x68" 90 "120x68"
@@ -99,6 +100,7 @@ static char *default_defaults[] = {
99}; 100};
100 101
101extern Display* dpy; 102extern Display* dpy;
103extern int display_zoom;
102 104
103static XrmOptionDescRec *merged_options; 105static XrmOptionDescRec *merged_options;
104static int merged_options_size; 106static int merged_options_size;
@@ -313,6 +315,64 @@ int main (int argc, char **argv)
313 char version[255]; 315 char version[255];
314 316
315 sprintf(version,"rockboxui %s",ROCKBOXUI_VERSION); 317 sprintf(version,"rockboxui %s",ROCKBOXUI_VERSION);
318#ifdef HAVE_LCD_BITMAP
319 display_zoom=2;
320 {
321 char *env=getenv("RECORDER_ZOOM");
322 if (env) {
323 display_zoom=atoi(env);
324 }
325 }
326#else
327 display_zoom=1;
328 {
329 char *env=getenv("PLAYER_ZOOM");
330 if (env) {
331 display_zoom=atoi(env);
332 }
333 }
334#endif
335
336 if (argc > 1)
337 {
338 int x;
339 for (x=1; x<argc; x++) {
340 if (!strcmp("--old_lcd", argv[x])) {
341 having_new_lcd=FALSE;
342 printf("Using old LCD layout.\n");
343 } else if (!strcmp("--recorder_zoom", argv[x])) {
344 x++;
345#ifdef HAVE_LCD_BITMAP
346 display_zoom=atoi(argv[x]);
347 printf("Window zoom is %d\n", display_zoom);
348#endif
349 } else if (!strcmp("--player_zoom", argv[x])) {
350 x++;
351#ifndef HAVE_LCD_BITMAP
352 display_zoom=atoi(argv[x]);
353 printf("Window zoom is %d\n", display_zoom);
354#endif
355 } else {
356 printf("rockboxui\n");
357 printf("Arguments:\n");
358 printf(" --old_lcd \t [Player] simulate old playermodel (ROM version<4.51)\n");
359 printf(" --player_zoom \t [Player] window zoom\n");
360 printf(" --recorder_zoom \t [Recorder] window zoom\n");
361 exit(0);
362 }
363 }
364 }
365 {
366 static char geometry[40];
367#ifdef HAVE_LCD_BITMAP
368 snprintf(geometry, 40, "*geometry: %dx%d", 120*display_zoom, 68*display_zoom);
369#else
370 snprintf(geometry, 40, "*geometry: %dx%d", 280*display_zoom, 132*display_zoom);
371#endif
372 default_defaults[GEOMETRY_POSITION]=geometry;
373 }
374
375
316 merge_options (); 376 merge_options ();
317 377
318#ifdef __sgi 378#ifdef __sgi
@@ -345,22 +405,6 @@ int main (int argc, char **argv)
345 XA_WM_DELETE_WINDOW = XInternAtom (dpy, "WM_DELETE_WINDOW", False); 405 XA_WM_DELETE_WINDOW = XInternAtom (dpy, "WM_DELETE_WINDOW", False);
346 406
347 407
348 if (argc > 1)
349 {
350 int x;
351 for (x=1; x<argc; x++) {
352 if (!strcmp("--old_lcd", argv[x])) {
353 having_new_lcd=FALSE;
354 printf("Using old LCD layout.\n");
355 } else {
356 printf("rockboxui\n");
357 printf("Arguments:\n");
358 printf(" --old_lcd \t [Player] simulate old playermodel (ROM version<4.51)\n");
359 exit(0);
360 }
361 }
362 }
363
364 if (CellsOfScreen (DefaultScreenOfDisplay (dpy)) <= 2) 408 if (CellsOfScreen (DefaultScreenOfDisplay (dpy)) <= 2)
365 mono_p = True; 409 mono_p = True;
366 410
diff --git a/uisimulator/x11/uibasic.c b/uisimulator/x11/uibasic.c
index 051f5a8b6f..82ce39973c 100644
--- a/uisimulator/x11/uibasic.c
+++ b/uisimulator/x11/uibasic.c
@@ -46,7 +46,7 @@
46GC draw_gc; 46GC draw_gc;
47static Colormap cmap; 47static Colormap cmap;
48 48
49static int display_zoom=1; 49int display_zoom=1;
50 50
51Display *dpy; 51Display *dpy;
52Window window; 52Window window;
@@ -90,11 +90,6 @@ void screen_resized(int width, int height)
90 maxx = width; 90 maxx = width;
91 maxy = height; 91 maxy = height;
92 92
93 display_zoom = maxy/LCD_HEIGHT;
94 if (maxx/LCD_WIDTH < display_zoom)
95 display_zoom = maxx/LCD_WIDTH;
96 if (display_zoom<1)
97 display_zoom = 1;
98 XSetForeground (dpy, draw_gc, get_pixel_resource ("background", "Background", 93 XSetForeground (dpy, draw_gc, get_pixel_resource ("background", "Background",
99 dpy, cmap)); 94 dpy, cmap));
100 XFillRectangle(dpy, window, draw_gc, 0, 0, width*display_zoom, height*display_zoom); 95 XFillRectangle(dpy, window, draw_gc, 0, 0, width*display_zoom, height*display_zoom);