diff options
Diffstat (limited to 'src/gtkext/hexview.c')
-rw-r--r-- | src/gtkext/hexview.c | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/src/gtkext/hexview.c b/src/gtkext/hexview.c index 7acf131..717c1bc 100644 --- a/src/gtkext/hexview.c +++ b/src/gtkext/hexview.c @@ -25,16 +25,17 @@ #include "area.h" +#include "contentview-int.h" /* ------------------------- BASES D'UN COMPOSANT GRAPHIQUE ------------------------- */ -/* Composant d'affichage générique (instance) */ +/* Composant d'affichage d'octets bruts et imprimables (instance) */ struct _GtkHexView { - GtkWidget parent; /* A laisser en premier */ + GtkContentView parent; /* A laisser en premier */ union { @@ -56,10 +57,10 @@ struct _GtkHexView }; -/* Composant d'affichage générique (classe) */ +/* Composant d'affichage d'octets bruts et imprimables (classe) */ struct _GtkHexViewClass { - GtkWidgetClass parent; /* A laisser en premier */ + GtkContentViewClass parent; /* A laisser en premier */ }; @@ -83,6 +84,7 @@ void demo_snapshot (GtkWidget *widget, GtkSnapshot *snapshot, GtkWidget *parent) + /* --------------------- IMPLEMENTATION DES FONCTIONS DE CLASSE --------------------- */ @@ -103,7 +105,7 @@ static void gtk_hex_view_measure(GtkWidget *, GtkOrientation, int, int *, int *, /* Détermine le type du composant d'affichage générique. */ -G_DEFINE_TYPE(GtkHexView, gtk_hex_view, GTK_TYPE_WIDGET); +G_DEFINE_TYPE(GtkHexView, gtk_hex_view, GTK_TYPE_CONTENT_VIEW); /****************************************************************************** @@ -235,6 +237,8 @@ void demo_snapshot (GtkWidget *widget, GtkSnapshot *snapshot, GtkWidget *parent) w = gtk_widget_get_width (widget) / 2.0; h = gtk_widget_get_height (widget) / 2.0; + h /= 2.0; + gtk_snapshot_append_color (snapshot, &red, &GRAPHENE_RECT_INIT(0, 0, w, h)); gtk_snapshot_append_color (snapshot, &green, @@ -244,16 +248,31 @@ void demo_snapshot (GtkWidget *widget, GtkSnapshot *snapshot, GtkWidget *parent) gtk_snapshot_append_color (snapshot, &blue, &GRAPHENE_RECT_INIT(w, h, w, h)); - /* - printf("[widget] CSS name: %s\n", gtk_widget_get_css_name(widget)); - char **iter; - iter = gtk_widget_get_css_classes(widget); - while (*iter) - printf("[widget] CSS classes: %s\n", *iter); - */ + cairo_t *cr; + int x; + + x = 0; + + cr = gtk_snapshot_append_cairo(snapshot, &GRAPHENE_RECT_INIT(0, 0, w * 2, h * 2)); + + g_token_style_draw_text(GTK_CONTENT_VIEW(parent)->style, + TRT_RAW_FULL, + cr, + &x, 0, + "A.A", 3); + + g_token_style_draw_text(GTK_CONTENT_VIEW(parent)->style, + TRT_RAW_NULL, + cr, + &x, 0, + "A.A", 3); + + cairo_destroy(cr); + + } |