Any help for this?


--------------------------------------------------------------



I'm testing support for GetConsoleScreenBufferInfoEx.



At the moment, I've extended the screen_buffer struct in server/console.c to 
look like this:



struct screen_buffer

{

    struct object         obj;           /* object header */

    struct list           entry;         /* entry in list of all screen buffers 
*/

    struct console_input *input;         /* associated console input */

    int                   mode;          /* output mode */

    int                   cursor_size;   /* size of cursor (percentage filled) 
*/

    int                   cursor_visible;/* cursor visibility flag */

    int                   cursor_x;      /* position of cursor */

    int                   cursor_y;      /* position of cursor */

    int                   width;         /* size (w-h) of the screen buffer */

    int                   height;

    int                   max_width;     /* size (w-h) of the window given font 
size */

    int                   max_height;

    char_info_t          *data;          /* the data for each cell - a width x 
height matrix */

    unsigned short        attr;          /* default attribute for screen buffer 
*/

    rectangle_t           win;           /* current visible window on the 
screen buffer *

                                * as seen in wineconsole */

    struct fd            *fd;            /* for bare console, attached output 
fd */

    unsigned short        popup_attr;    /* the console popup fill attribute */

    BOOL                  fullscreen;    /* indicates whether fullscreen mode 
is supported */

    COLORREF              colortable[16];/* an array of DWORD values */

};



In server/protocol.def I have:



@REQ(get_console_output_info)

    obj_handle_t handle;        /* handle to the console */

@REPLY

   short int    cursor_size;   /* size of cursor (percentage filled) */

    short int    cursor_visible;/* cursor visibility flag */

    short int    cursor_x;      /* position of cursor (x, y) */

    short int    cursor_y;

    short int    width;         /* width of the screen buffer */

    short int    height;        /* height of the screen buffer */

    short int    attr;          /* default attribute */

    short int    win_left;      /* window actually displayed by renderer */

    short int    win_top;       /* the rect area is expressed within the */

    short int    win_right;     /* boundaries of the screen buffer */

    short int    win_bottom;

    short int    max_width;     /* maximum size (width x height) for the window 
*/

    short int    max_height;

    short int    popup_attr;    /* the console popup fill attribute */

    short int    fullscreen;    /* indicates whether fullscreen mode is 
supported */

--> type???      colortable;    /* a COLORREF array of DWORD values */

@END



While colortable is a COLORREF array, protocol.def does not allow types such as 
DWORD, COLORREF, etc.



What type should colortable be given to pass tools/make_requests?



Reply via email to