183 |
|
quiterr("input picture too large"); |
184 |
|
if (_setvideomode(video[i].mode) == 0) |
185 |
|
quiterr("inadequate display card for picture"); |
186 |
+ |
ms_init(); |
187 |
|
initialized = 1; |
188 |
|
_getvideoconfig(&config); |
189 |
|
if (maxcolors == 0) |
208 |
|
quiterr(err) /* print message and exit */ |
209 |
|
char *err; |
210 |
|
{ |
211 |
< |
if (initialized) |
211 |
> |
if (initialized) { |
212 |
> |
ms_done(); |
213 |
|
_setvideomode(_DEFAULTMODE); |
214 |
+ |
} |
215 |
|
if (err != NULL) { |
216 |
|
fprintf(stderr, "%s: %s\n", progname, err); |
217 |
|
exit(1); |
270 |
|
|
271 |
|
watch_mouse() /* look after mousie */ |
272 |
|
{ |
270 |
– |
static int mouse_installed = 0; |
273 |
|
int a_x, a_y, l_x, l_y; |
274 |
|
|
273 |
– |
if (!mouse_installed) { |
274 |
– |
ms_init(); |
275 |
– |
mouse_installed = 1; |
276 |
– |
} |
275 |
|
if (mouse_event & M_MOTION) |
276 |
|
move_cursor(mouse_xpos, mouse_ypos); |
277 |
|
if (!(mouse_event & M_LDOWN)) |
432 |
|
/* set gamma correction */ |
433 |
|
setcolrgam(gamcor); |
434 |
|
/* make histogram */ |
435 |
+ |
_outtext("Quantizing image -- Please wait..."); |
436 |
|
new_histo(); |
437 |
|
for (y = 0; y < ymax; y++) { |
438 |
|
if (getscan(y) < 0) |
587 |
|
|
588 |
|
return(1); |
589 |
|
} |
590 |
+ |
|
591 |
+ |
ms_done() |
592 |
+ |
{ |
593 |
+ |
union REGS inregs, outregs; |
594 |
+ |
|
595 |
+ |
/* uninstall watcher */ |
596 |
+ |
|
597 |
+ |
inregs.w.ax = 0; |
598 |
+ |
int386 (0x33, &inregs, &outregs); |
599 |
+ |
} |
600 |
+ |
|