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,7 +100,7 @@
100 rCursor.height = terminal_font_info.height; 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 int addr = (row * screen->cols) + col; 105 int addr = (row * screen->cols) + col;
106 106
latest/src/gtk2/gui.h
@@ -344,7 +344,7 @@ @@ -344,7 +344,7 @@
344 LOCAL_EXTERN void unselect(void); 344 LOCAL_EXTERN void unselect(void);
345 LOCAL_EXTERN void reselect(void); 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 LOCAL_EXTERN void update_cursor_info(void); 348 LOCAL_EXTERN void update_cursor_info(void);
349 LOCAL_EXTERN void queue_draw_cursor(void); 349 LOCAL_EXTERN void queue_draw_cursor(void);
350 LOCAL_EXTERN void update_cursor_pixmap(void); 350 LOCAL_EXTERN void update_cursor_pixmap(void);
latest/src/gtk2/screen.c
@@ -109,7 +109,7 @@ @@ -109,7 +109,7 @@
109 settitle, // void (*title)(char *text); 109 settitle, // void (*title)(char *text);
110 gdk_beep, // void (*ring_bell)(void); 110 gdk_beep, // void (*ring_bell)(void);
111 redraw, // void (*redraw)(void); 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 SetSuspended, // int (*set_suspended)(int state); 113 SetSuspended, // int (*set_suspended)(int state);
114 SetScript, // void (*set_script)(SCRIPT_STATE state); 114 SetScript, // void (*set_script)(SCRIPT_STATE state);
115 NULL, // void (*reset)(int lock); 115 NULL, // void (*reset)(int lock);
latest/src/include/lib3270/api.h
@@ -268,7 +268,7 @@ @@ -268,7 +268,7 @@
268 void (*update)(H3270 *session, int baddr, unsigned char c, unsigned short attr, unsigned char cursor); 268 void (*update)(H3270 *session, int baddr, unsigned char c, unsigned short attr, unsigned char cursor);
269 void (*changed)(H3270 *session, int bstart, int bend); 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 void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on); 272 void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on);
273 void (*update_toggle)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name); 273 void (*update_toggle)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name);
274 void (*update_luname)(H3270 *session, const char *name); 274 void (*update_luname)(H3270 *session, const char *name);
@@ -500,7 +500,7 @@ @@ -500,7 +500,7 @@
500 void (*title)(char *text); 500 void (*title)(char *text);
501 void (*ring_bell)(void); 501 void (*ring_bell)(void);
502 void (*redraw)(void); 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 int (*set_suspended)(int state); 504 int (*set_suspended)(int state);
505 void (*set_script)(SCRIPT_STATE state); 505 void (*set_script)(SCRIPT_STATE state);
506 void (*reset)(int lock); 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,7 +489,7 @@ LIB3270_EXPORT int lib3270_set_cursor_address(H3270 *h, int baddr)
489 h->cursor_addr = baddr; 489 h->cursor_addr = baddr;
490 490
491 if(h->update_cursor) 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 return ret; 494 return ret;
495 } 495 }