Commit dc2c0db1aad490a1a71d22bb523706b05d9751f4
1 parent
496f55ee
Exists in
master
and in
1 other branch
Implementando conversão do buffer de terminal para HTML
Showing
1 changed file
with
19 additions
and
1 deletions
Show diff stats
draw.c
| @@ -28,6 +28,7 @@ | @@ -28,6 +28,7 @@ | ||
| 28 | */ | 28 | */ |
| 29 | 29 | ||
| 30 | #include <gtk/gtk.h> | 30 | #include <gtk/gtk.h> |
| 31 | + #include <math.h> | ||
| 31 | #include <pw3270.h> | 32 | #include <pw3270.h> |
| 32 | #include <lib3270.h> | 33 | #include <lib3270.h> |
| 33 | #include <lib3270/session.h> | 34 | #include <lib3270/session.h> |
| @@ -131,7 +132,24 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | @@ -131,7 +132,24 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 | ||
| 131 | gdk_cairo_set_source_color(cr,fg); | 132 | gdk_cairo_set_source_color(cr,fg); |
| 132 | 133 | ||
| 133 | // Draw char | 134 | // Draw char |
| 134 | - if(attr & LIB3270_ATTR_CG) | 135 | + if( (attr & LIB3270_ATTR_MARKER) && lib3270_get_toggle(session,LIB3270_TOGGLE_VIEW_FIELD) ) |
| 136 | + { | ||
| 137 | + double sz = (double) rect->width; | ||
| 138 | + if(rect->height < rect->width) | ||
| 139 | + sz = (double) rect->height; | ||
| 140 | + | ||
| 141 | + cairo_save(cr); | ||
| 142 | + | ||
| 143 | + sz /= 10; | ||
| 144 | + | ||
| 145 | + cairo_translate(cr, rect->x + (rect->width / 2), rect->y + (rect->height / 2)); | ||
| 146 | + cairo_scale(cr, sz, sz); | ||
| 147 | + cairo_arc(cr, 0., 0., 1., 0., 2 * M_PI); | ||
| 148 | + | ||
| 149 | + | ||
| 150 | + cairo_restore(cr); | ||
| 151 | + } | ||
| 152 | + else if(attr & LIB3270_ATTR_CG) | ||
| 135 | { | 153 | { |
| 136 | switch(chr) | 154 | switch(chr) |
| 137 | { | 155 | { |