PERFORCE change 219891 for review
Brooks Davis
brooks at FreeBSD.org
Thu Dec 6 21:05:42 UTC 2012
http://p4web.freebsd.org/@@219891?ac=10
Change 219891 by brooks at brooks_zenith on 2012/12/06 21:04:43
Make all file matches case insensitive for more reliable FAT support.
Extend the edges of full height normal slides.
Make the radio button style controls look slighly more like radio
buttons by using (*) instead of [*].
Affected files ...
.. //depot/projects/ctsrd/cheribsd/src/ctsrd/cheripoint/cheripoint.c#18 edit
Differences ...
==== //depot/projects/ctsrd/cheribsd/src/ctsrd/cheripoint/cheripoint.c#18 (text+ko) ====
@@ -74,7 +74,7 @@
uint32_t header_height;
uint32_t *busyarea, *hourglass;
enum sbtype sb = SB_CHERI;
-enum mtl_display_mode res = MTL_DM_720x480;
+enum mtl_display_mode res = MTL_DM_800x480;
static int zombies_waiting = 0;
int *slidep;
@@ -184,10 +184,10 @@
* The screen looks like:
*
* Sandbox Resolution
- * [*] None [ ] 800x480
- * [ ] Capsicum [*] 720x480
- * [ ] CHERI [ ] 640x480 (Left)
- * [ ] 640x480 (Centered)
+ * (*) None ( ) 800x480
+ * ( ) Capsicum (*) 720x480
+ * ( ) CHERI ( ) 640x480 (Left)
+ * ( ) 640x480 (Centered)
* [ ] Visible
*
*/
@@ -258,7 +258,7 @@
textbuf, f_width * CD_SB_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_SB_COLS, f_height);
- sprintf(text, "[%c] None", sb == SB_NONE ? '*' : ' ');
+ sprintf(text, "(%c) None", sb == SB_NONE ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_SB_COLS, f_height);
fb_composite(dbuf, d_width, d_height,
@@ -266,7 +266,7 @@
textbuf, f_width * CD_SB_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_SB_COLS, f_height);
- sprintf(text, "[%c] Capsicum", sb == SB_CAPSICUM ? '*' : ' ');
+ sprintf(text, "(%c) Capsicum", sb == SB_CAPSICUM ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_SB_COLS, f_height);
fb_composite(dbuf, d_width, d_height,
@@ -274,7 +274,7 @@
textbuf, f_width * CD_SB_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_SB_COLS, f_height);
- sprintf(text, "[%c] CHERI", sb == SB_CHERI ? '*' : ' ');
+ sprintf(text, "(%c) CHERI", sb == SB_CHERI ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_SB_COLS, f_height);
fb_composite(dbuf, d_width, d_height,
@@ -297,7 +297,7 @@
textbuf, f_width * CD_RES_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_RES_COLS, f_height);
- sprintf(text, "[%c] 800x480", res == MTL_DM_800x480 ? '*' : ' ');
+ sprintf(text, "(%c) 800x480", res == MTL_DM_800x480 ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_RES_COLS, f_height);
fb_composite(dbuf, d_width, d_height,
@@ -305,7 +305,7 @@
textbuf, f_width * CD_RES_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_RES_COLS, f_height);
- sprintf(text, "[%c] 720x480", res == MTL_DM_720x480 ? '*' : ' ');
+ sprintf(text, "(%c) 720x480", res == MTL_DM_720x480 ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_RES_COLS, f_height);
fb_composite(dbuf, d_width, d_height,
@@ -313,7 +313,7 @@
textbuf, f_width * CD_RES_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_RES_COLS, f_height);
- sprintf(text, "[%c] 640x480 (Left)", res == MTL_DM_640x480 ? '*' : ' ');
+ sprintf(text, "(%c) 640x480 (Left)", res == MTL_DM_640x480 ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_RES_COLS, f_height);
fb_composite(dbuf, d_width, d_height,
@@ -321,7 +321,7 @@
textbuf, f_width * CD_RES_COLS, f_height);
fb_fill_buf(textbuf, white, f_width * CD_RES_COLS, f_height);
- sprintf(text, "[%c] 640x480 (Centered)",
+ sprintf(text, "(%c) 640x480 (Centered)",
res == MTL_DM_640x480_CENTER ? '*' : ' ');
fb_render_text(text, 2, black, white, textbuf,
f_width * CD_RES_COLS, f_height);
@@ -471,7 +471,7 @@
fb_fill_region(is->buffer[r * is->width],
0, r, fcol, 1);
}
- if (is->width < (uint)fb_width) {
+ if (is->width < (uint)fb_width - fcol) {
/* Right extend the image if needed */
for (r = 0; r < is->height; r++)
fb_fill_region(is->buffer[((r + 1) * is->width) - 1],
@@ -564,14 +564,33 @@
default:
break;
}
- iboxstate_free(is);
- /* Skip the rest in the full height image case */
+ /*
+ * If the image is full height, then left and right extend the
+ * edges and skip further compositing
+ */
if (y == 0) {
+ if (x > 0) {
+ /* Left extend the image if needed */
+ for (r = 0; r < is->height; r++)
+ fb_fill_region(is->buffer[r * is->width],
+ 0, r, x, 1);
+ }
+ if (x + is->width < (uint)fb_width) {
+ /* Right extend the image if needed */
+ for (r = 0; r < is->height; r++)
+ fb_fill_region(is->buffer[((r + 1) *
+ is->width) - 1],
+ x + is->width, r,
+ fb_width - (x + is->width), 1);
+ }
+ iboxstate_free(is);
unbusy();
return (0);
}
+ iboxstate_free(is);
+
busy(0);
/* put an SRI logo in the lower left corner */
@@ -890,10 +909,10 @@
if (entry->d_type != DT_REG)
continue;
/* Skip obvious non-PNGs */
- if (fnmatch("*.[pP][nN][gG]", entry->d_name, 0) != 0)
+ if (fnmatch("*.png", entry->d_name, FNM_CASEFOLD) != 0)
continue;
- if (fnmatch("*-cover-*.png", entry->d_name, 0) == 0)
+ if (fnmatch("*-cover-*.png", entry->d_name, FNM_CASEFOLD) == 0)
addslide(&ncovers, &maxcovers, &covers, entry->d_name);
else
addslide(&nslides, &maxslides, &slides, entry->d_name);
@@ -906,10 +925,15 @@
slide = *slidep;
for (;;) {
gesture = 0;
+ /* If there isn't a cover, skip over it */
+ if (slide == 0 && ncovers == 0)
+ slide = 1;
+
if (slide == 0) {
asprintf(&coverpat, "*-cover-%d.png", slide_width);
for (cover = 0; cover < ncovers; cover++)
- if (fnmatch(coverpat, covers[cover], 0) == 0)
+ if (fnmatch(coverpat, covers[cover],
+ FNM_CASEFOLD) == 0)
break;
free(coverpat);
if (cover == ncovers)
@@ -981,7 +1005,7 @@
set_display_mode(res);
break;
case TSG_EAST:
- if (slide == 0)
+ if (slide == 0 || (slide == 1 && ncovers == 0))
slide = nslides;
else
slide--;
More information about the p4-projects
mailing list