summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-10-23 13:06:25 +0000
committerJens Arnold <amiconn@rockbox.org>2005-10-23 13:06:25 +0000
commitfc03c8e3c9a4067beccda3303236044d970d336b (patch)
tree87fea06b8b554f6583bec4946de5bcd986a48562
parentbdf558ca53f293aa112c36b7662a092abdc9f5d5 (diff)
downloadrockbox-fc03c8e3c9a4067beccda3303236044d970d336b.tar.gz
rockbox-fc03c8e3c9a4067beccda3303236044d970d336b.zip
X11 simulator: Fixed margins and scaling (window zoom) for all simulated targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7654 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--uisimulator/x11/lcd-x11.c11
-rw-r--r--uisimulator/x11/screenhack.c33
-rw-r--r--uisimulator/x11/uibasic.c10
3 files changed, 17 insertions, 37 deletions
diff --git a/uisimulator/x11/lcd-x11.c b/uisimulator/x11/lcd-x11.c
index 3ad5a79ec7..4a7dbc6bf3 100644
--- a/uisimulator/x11/lcd-x11.c
+++ b/uisimulator/x11/lcd-x11.c
@@ -131,8 +131,7 @@ void lcd_update_rect(int x_start, int y_start,
131extern unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH]; 131extern unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH];
132unsigned char lcd_remote_framebuffer_copy[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH]; 132unsigned char lcd_remote_framebuffer_copy[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH];
133 133
134#define REMOTE_MARGIN_X 2 134#define REMOTE_START_Y (LCD_HEIGHT + 2*MARGIN_Y)
135#define REMOTE_MARGIN_Y (LCD_HEIGHT + 2 + MARGIN_Y)
136 135
137void lcd_remote_update (void) 136void lcd_remote_update (void)
138{ 137{
@@ -181,15 +180,15 @@ void lcd_remote_update_rect(int x_start, int y_start,
181 if(lcd_remote_framebuffer[yline][x]&(1<<bit)) { 180 if(lcd_remote_framebuffer[yline][x]&(1<<bit)) {
182 /* set a dot */ 181 /* set a dot */
183 colors[p]=3; 182 colors[p]=3;
184 points[p].x = x + REMOTE_MARGIN_X; 183 points[p].x = x + MARGIN_X;
185 points[p].y = y+bit + REMOTE_MARGIN_Y; 184 points[p].y = y+bit + (REMOTE_START_Y + MARGIN_Y);
186 p++; /* increase the point counter */ 185 p++; /* increase the point counter */
187 } 186 }
188 else if(diff &(1<<bit)) { 187 else if(diff &(1<<bit)) {
189 /* clear a dot */ 188 /* clear a dot */
190 colors[p]=0; 189 colors[p]=0;
191 points[p].x = x + REMOTE_MARGIN_X; 190 points[p].x = x + MARGIN_X;
192 points[p].y = y+bit + REMOTE_MARGIN_Y; 191 points[p].y = y+bit + (REMOTE_START_Y + MARGIN_Y);
193 p++; /* increase the point counter */ 192 p++; /* increase the point counter */
194 } 193 }
195 } 194 }
diff --git a/uisimulator/x11/screenhack.c b/uisimulator/x11/screenhack.c
index 6c08da7123..3ad14428a9 100644
--- a/uisimulator/x11/screenhack.c
+++ b/uisimulator/x11/screenhack.c
@@ -53,6 +53,7 @@
53#else 53#else
54# include "xmu.h" 54# include "xmu.h"
55#endif 55#endif
56#include "lcd-x11.h"
56#include "screenhack.h" 57#include "screenhack.h"
57#include "version.h" 58#include "version.h"
58#include "vroot.h" 59#include "vroot.h"
@@ -147,13 +148,7 @@ static XrmOptionDescRec default_options [] = {
147static char *default_defaults[] = { 148static char *default_defaults[] = {
148 ".root: false", 149 ".root: false",
149#define GEOMETRY_POSITION 1 150#define GEOMETRY_POSITION 1
150 "*geometry: " 151 "*geometry: 120x68", /* to be replaced anyway */
151#ifdef HAVE_LCD_BITMAP
152 "120x68"
153#else
154 "280x132" /* A bit larger that necessary */
155#endif
156 , /* this should be .geometry, but nooooo... */
157 "*mono: false", 152 "*mono: false",
158 "*installColormap: false", 153 "*installColormap: false",
159 "*visualID: default", 154 "*visualID: default",
@@ -415,24 +410,15 @@ int main (int argc, char **argv)
415 if (!strcmp("--old_lcd", argv[x])) { 410 if (!strcmp("--old_lcd", argv[x])) {
416 having_new_lcd=FALSE; 411 having_new_lcd=FALSE;
417 printf("Using old LCD layout.\n"); 412 printf("Using old LCD layout.\n");
418 } else if (!strcmp("--recorder_zoom", argv[x])) { 413 } else if (!strcmp("--zoom", argv[x])) {
419 x++;
420#ifdef HAVE_LCD_BITMAP
421 display_zoom=atoi(argv[x]);
422 printf("Window zoom is %d\n", display_zoom);
423#endif
424 } else if (!strcmp("--player_zoom", argv[x])) {
425 x++; 414 x++;
426#ifndef HAVE_LCD_BITMAP
427 display_zoom=atoi(argv[x]); 415 display_zoom=atoi(argv[x]);
428 printf("Window zoom is %d\n", display_zoom); 416 printf("Window zoom is %d\n", display_zoom);
429#endif
430 } else { 417 } else {
431 printf("rockboxui\n"); 418 printf("rockboxui\n");
432 printf("Arguments:\n"); 419 printf("Arguments:\n");
433 printf(" --old_lcd \t [Player] simulate old playermodel (ROM version<4.51)\n"); 420 printf(" --old_lcd \t [Player] simulate old playermodel (ROM version<4.51)\n");
434 printf(" --player_zoom \t [Player] window zoom\n"); 421 printf(" --zoom \t window zoom\n");
435 printf(" --recorder_zoom \t [Recorder] window zoom\n");
436 printf(KEYBOARD_GENERIC KEYBOARD_SPECIFIC); 422 printf(KEYBOARD_GENERIC KEYBOARD_SPECIFIC);
437 exit(0); 423 exit(0);
438 } 424 }
@@ -440,18 +426,13 @@ int main (int argc, char **argv)
440 } 426 }
441 { 427 {
442 static char geometry[40]; 428 static char geometry[40];
443#ifdef HAVE_LCD_BITMAP 429 unsigned int height = (LCD_HEIGHT+2*MARGIN_Y);
444 unsigned int height = LCD_HEIGHT;
445#ifdef LCD_REMOTE_HEIGHT 430#ifdef LCD_REMOTE_HEIGHT
446 height += LCD_REMOTE_HEIGHT; 431 height += (LCD_REMOTE_HEIGHT+2*MARGIN_Y);
447#endif 432#endif
448 printf("height: %d\n", height); 433 printf("height: %d\n", height);
449 snprintf(geometry, 40, "*geometry: %dx%d", 434 snprintf(geometry, 40, "*geometry: %dx%d",
450 LCD_WIDTH*display_zoom+14, height*display_zoom+8); 435 (LCD_WIDTH+2*MARGIN_X) * display_zoom, height * display_zoom);
451#else
452 snprintf(geometry, 40, "*geometry: %dx%d", 280*display_zoom,
453 132*display_zoom);
454#endif
455 default_defaults[GEOMETRY_POSITION]=geometry; 436 default_defaults[GEOMETRY_POSITION]=geometry;
456 } 437 }
457 printf(KEYBOARD_GENERIC KEYBOARD_SPECIFIC); 438 printf(KEYBOARD_GENERIC KEYBOARD_SPECIFIC);
diff --git a/uisimulator/x11/uibasic.c b/uisimulator/x11/uibasic.c
index 2228e3b038..40389e946e 100644
--- a/uisimulator/x11/uibasic.c
+++ b/uisimulator/x11/uibasic.c
@@ -252,8 +252,8 @@ void screen_redraw()
252 /* draw a border around the screen */ 252 /* draw a border around the screen */
253#define X1 0 253#define X1 0
254#define Y1 0 254#define Y1 0
255#define X2 (LCD_WIDTH + MARGIN_X*2) 255#define X2 (LCD_WIDTH + 2*MARGIN_X - 1)
256#define Y2 (LCD_HEIGHT + MARGIN_Y) 256#define Y2 (LCD_HEIGHT + 2*MARGIN_Y - 1)
257 257
258 drawline(1, X1, Y1, X2, Y1); 258 drawline(1, X1, Y1, X2, Y1);
259 drawline(1, X2, Y1, X2, Y2); 259 drawline(1, X2, Y1, X2, Y2);
@@ -263,9 +263,9 @@ void screen_redraw()
263#ifdef LCD_REMOTE_HEIGHT 263#ifdef LCD_REMOTE_HEIGHT
264 /* draw a border around the remote LCD screen */ 264 /* draw a border around the remote LCD screen */
265#define RX1 0 265#define RX1 0
266#define RY1 (Y2 +1) 266#define RY1 (Y2 + 1)
267#define RX2 (LCD_REMOTE_WIDTH + MARGIN_X*2) 267#define RX2 (LCD_REMOTE_WIDTH + 2*MARGIN_X - 1)
268#define RY2 (Y2 + 1 + LCD_REMOTE_HEIGHT) 268#define RY2 (RY1 + LCD_REMOTE_HEIGHT + 2*MARGIN_Y - 1)
269 269
270 drawline(1, RX1, RY1, RX2, RY1); 270 drawline(1, RX1, RY1, RX2, RY1);
271 drawline(1, RX2, RY1, RX2, RY2); 271 drawline(1, RX2, RY1, RX2, RY2);