178 |
|
break; |
179 |
|
case 'e': /* exposure comp. */ |
180 |
|
i++; |
181 |
< |
if (!strcmp(argv[i], "auto")) { |
181 |
> |
if (argv[i][0] == 'a') { |
182 |
|
tmflags = TM_F_CAMERA; |
183 |
|
break; |
184 |
|
} |
185 |
< |
if (!strcmp(argv[i], "human")) { |
185 |
> |
if (argv[i][0] == 'h') { |
186 |
|
tmflags = TM_F_HUMAN; |
187 |
|
break; |
188 |
|
} |
733 |
|
return(0); |
734 |
|
case 't': /* trace */ |
735 |
|
return(traceray(ekey->x, ekey->y)); |
736 |
+ |
case 'a': /* auto exposure */ |
737 |
+ |
if (tmflags == TM_F_CAMERA) |
738 |
+ |
return(0); |
739 |
+ |
tmflags = TM_F_CAMERA; |
740 |
+ |
strcpy(buf, "auto exposure..."); |
741 |
+ |
goto remap; |
742 |
+ |
case 'h': /* human response */ |
743 |
+ |
if (tmflags == TM_F_HUMAN) |
744 |
+ |
return(0); |
745 |
+ |
tmflags = TM_F_HUMAN; |
746 |
+ |
strcpy(buf, "human exposure..."); |
747 |
+ |
goto remap; |
748 |
|
case '=': /* adjust exposure */ |
749 |
|
case '@': /* adaptation level */ |
750 |
|
if (avgbox(cval) == -1) |
770 |
|
} |
771 |
|
scale += n; |
772 |
|
sprintf(buf, "%+d", scale); |
773 |
+ |
remap: |
774 |
|
XDrawImageString(thedisplay, wind, ourgc, |
775 |
|
box.xmin, box.ymin+box.ysiz, buf, strlen(buf)); |
776 |
|
XFlush(thedisplay); |