Commit 76239934bdd1381da30ae031504c3a9f4d0ddbfa

Authored by perry.werneck@gmail.com
1 parent 5c0206d3
Exists in master

Incluindo conteúdo do buffer na posição do cursor na mensagem de posicionamento …

…para facilitar o redesenho do cursor pela aplicação principal
latest/src/gtk2/cursor.c
... ... @@ -100,7 +100,7 @@
100 100 rCursor.height = terminal_font_info.height;
101 101 }
102 102  
103   - void update_cursor_position(H3270 *session, unsigned short row, unsigned short col)
  103 + void update_cursor_position(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr)
104 104 {
105 105 int addr = (row * screen->cols) + col;
106 106  
... ...
latest/src/gtk2/gui.h
... ... @@ -344,7 +344,7 @@
344 344 LOCAL_EXTERN void unselect(void);
345 345 LOCAL_EXTERN void reselect(void);
346 346  
347   - LOCAL_EXTERN void update_cursor_position(H3270 *session, unsigned short row, unsigned short col);
  347 + LOCAL_EXTERN void update_cursor_position(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr);
348 348 LOCAL_EXTERN void update_cursor_info(void);
349 349 LOCAL_EXTERN void queue_draw_cursor(void);
350 350 LOCAL_EXTERN void update_cursor_pixmap(void);
... ...
latest/src/gtk2/screen.c
... ... @@ -109,7 +109,7 @@
109 109 settitle, // void (*title)(char *text);
110 110 gdk_beep, // void (*ring_bell)(void);
111 111 redraw, // void (*redraw)(void);
112   - update_cursor_position, // void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col);
  112 + update_cursor_position, // void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr);
113 113 SetSuspended, // int (*set_suspended)(int state);
114 114 SetScript, // void (*set_script)(SCRIPT_STATE state);
115 115 NULL, // void (*reset)(int lock);
... ...
latest/src/include/lib3270/api.h
... ... @@ -268,7 +268,7 @@
268 268 void (*update)(H3270 *session, int baddr, unsigned char c, unsigned short attr, unsigned char cursor);
269 269 void (*changed)(H3270 *session, int bstart, int bend);
270 270  
271   - void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col);
  271 + void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr);
272 272 void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on);
273 273 void (*update_toggle)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name);
274 274 void (*update_luname)(H3270 *session, const char *name);
... ... @@ -500,7 +500,7 @@
500 500 void (*title)(char *text);
501 501 void (*ring_bell)(void);
502 502 void (*redraw)(void);
503   - void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col);
  503 + void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr);
504 504 int (*set_suspended)(int state);
505 505 void (*set_script)(SCRIPT_STATE state);
506 506 void (*reset)(int lock);
... ...
latest/src/lib/screen.c
... ... @@ -489,7 +489,7 @@ LIB3270_EXPORT int lib3270_set_cursor_address(H3270 *h, int baddr)
489 489 h->cursor_addr = baddr;
490 490  
491 491 if(h->update_cursor)
492   - h->update_cursor(h,(unsigned short) (baddr/h->cols),(unsigned short) (baddr%h->cols));
  492 + h->update_cursor(h,(unsigned short) (baddr/h->cols),(unsigned short) (baddr%h->cols),ea_buf[baddr].chr,ea_buf[baddr].attr);
493 493  
494 494 return ret;
495 495 }
... ...