Hi

I need to implement a function similar to "OS shell".

In fact I have a web browser written under svgallib that calls external,
text-mode program.

I need to implement function vga_block and vga_unblock.

vga_block restores original state before start of the program (vga_setmode(TEXT))
and also has to restore original mouse state (so that the program can use mouse 
services
without problems).

vga_unblock has to set up the graphics mode and restart the mouse.

I found it is impossible under 1.9.13. Because only way how to restore
original mouse state is mouse_close. When I call mouse_close, __svgalib_mouse_fd is
closed, and mouse_open is still left at 1.

The only way how to reengage the mouse is do in my program this gross hack:
extern int mouse_open;

There are also two limiting factors in my program:
a) I need to know the __svgalib_mouse_fd because I need to do a select() on the 
descriptor when
   the program is idle and doing nothing. This is only possible via calling 
mouse_init_return_fd
   when the mouse is already running.
b) I may not use mouse_init because I don't know the values that are normally set up in
   /etc/vga/libvga.config.  So I can't use mouse_init and mouse_init_return_fd to kick 
up the mouse.
   The only remaining possibility is vga_init.

I have written it this way:

vga_ublock(int mode)
{
        ...
        mouse_open=0;
        vga_init();
        vga_setmousesupport(1);
        vga_setmode(mode);
        mouse_fd_for_use_ini_select=mouse_init_return_fd(...);
}


But the I realized my program doesn't work with svgalib 1.4.1 because it knows nothing 
about mouse_open.

I am gonna puke from the svgalib.

Please tell me how to correctly write my vga_block and vga_unblock according to said 
specifications.

Clock


------------------------------------------------------------------
Unsubscribe:  To:   [EMAIL PROTECTED]
              Body: unsubscribe linux-svgalib

Reply via email to