Uhm, I had never tried RGB mode to be honest, my bad.The problem you mentioned does happen in that mode, but that good news is that I know why: RGB mode involves skipping every odd pixel (s+=step_x). And there is no bad news.
You're right that "Restore OSD" and "Restore original screen" don't behave as intended anymore... but I think those should be removed completely. If you don't want the CHDK OSD to show up during zebra, you can just select that behavior in "Draw over zebra", and as for the "original screen" (i.e. the Canon OSD), I see no reason to make it disappear at any time, now that it can be made to stay all the time.
P.S.: ah, and yes, the previous workaround wrote out of bounds twice. I hoped nobody would notice Anyway, it's gone now.
case ZEBRA_MODE_BLINKED_1: f = timer&1; break; case ZEBRA_MODE_BLINKED_3: f = timer&4; break; case ZEBRA_MODE_BLINKED_2: default: f = timer&2; break;
Yup, now it works in RGB mode too. Perfect! We need to get this thing to trunk, or can anyone think of a reason not to? This is a major improvement.
I agree. There isn't a way to disable the half-shoot exposure OSD witout CHDK either, is there? If someone wants it gone for some reason, that's a separate feature which needs more work I guess. And it shouldn't be zebra related. I find it unlikely that anyone has used zebra for that particular purpose...someone speak out if you did
As for what could be further improved in zebra: I think those slowest blink zebra modes are now unnecessary (Blink 3 and 2), but faster blink rates could now be useful instead.
Also, it would be nice if zebra could be also drawn under CHDK OSD gray transparent areas (I keep a 6-line misc osd on display, the rectangle takes up quite a bit of space while most of it is just background, not text) and histogram transparent areas (one thing that especially catches my attention is the histogram multiplier field on top-left corner of the histogram... it's empty when the histogram isn't scaled, but zebra never draws there).
I noticed about the free space indication, too... *shrug*, I won't say anything, since the guy or girl who wrote that part might be lurking around
I noticed about the free space indication, too... *shrug*, I won't say anything, since the guy or girl who wrote that part might be lurking around Tongue
Things like CHDK work because everything is hacked into just as long as it works, although it's probably reaching the level of complexity where some more structure will eventually be needed.
void draw_char(coord x, coord y, const char ch, color cl) {............blablabla............ else if(inside_box && cl>>8!=COLOR_TRANSPARENT) draw_pixel(x+ii ,y+i, cl>>8); } } }}