Commit 61f733b991e6c13f14b7c9d8fcfad0b6d5a0d6ec
1 parent
b7fdaadc
Exists in
master
and in
1 other branch
Reimplementando gdk_window_create_similar_surface para versões mais antigas do G…
…TK usando o fonte do webkit como referência. Patch webkit em https://bugs.webkit.org/attachment.cgi?id=88845&action=prettypatch
Showing
2 changed files
with
15 additions
and
0 deletions
Show diff stats
draw.c
... | ... | @@ -247,6 +247,17 @@ void v3270_draw_char(cairo_t *cr, unsigned char chr, unsigned short attr, H3270 |
247 | 247 | cairo_stroke(cr); |
248 | 248 | } |
249 | 249 | |
250 | +#if !GTK_CHECK_VERSION(2, 22, 0) | |
251 | +cairo_surface_t *gdk_window_create_similar_surface(GdkWindow *window, cairo_content_t content, int width, int height) | |
252 | +{ | |
253 | + cairo_t *cairoContext = gdk_cairo_create(window); | |
254 | + cairo_surface_t *cairoSurface = cairo_get_target(cairoContext); | |
255 | + cairo_surface_t *newSurface = cairo_surface_create_similar(cairoSurface, content, width, height); | |
256 | + cairo_destroy(cairoContext); | |
257 | + return newSurface; | |
258 | +} | |
259 | +#endif // GTK_CHECK_VERSION(2, 22, 0) | |
260 | + | |
250 | 261 | void v3270_reload(GtkWidget *widget) |
251 | 262 | { |
252 | 263 | v3270 * terminal = GTK_V3270(widget); | ... | ... |
private.h
... | ... | @@ -202,8 +202,12 @@ void v3270_update_mouse_pointer(GtkWidget *widget); |
202 | 202 | #if ! GTK_CHECK_VERSION(2,22,0) |
203 | 203 | #define gtk_accessible_set_widget(a,w) g_object_set_data(G_OBJECT(a),"widget",w) |
204 | 204 | #define gtk_accessible_get_widget(a) GTK_WIDGET(g_object_get_data(G_OBJECT(a),"widget")) |
205 | + | |
206 | + G_GNUC_INTERNAL cairo_surface_t * gdk_window_create_similar_surface(GdkWindow *window, cairo_content_t content, int width, int height); | |
207 | + | |
205 | 208 | #endif // !GTK(2,22) |
206 | 209 | |
210 | + | |
207 | 211 | #if ! GTK_CHECK_VERSION(3,0,0) |
208 | 212 | gboolean v3270_expose(GtkWidget * widget, GdkEventExpose *event); |
209 | 213 | #endif // GTK 3 | ... | ... |