diff options
Diffstat (limited to 'src/gtkext')
-rw-r--r-- | src/gtkext/gtkbufferdisplay.c | 18 | ||||
-rw-r--r-- | src/gtkext/gtkdisplaypanel-int.h | 13 | ||||
-rw-r--r-- | src/gtkext/gtkdisplaypanel.c | 137 | ||||
-rw-r--r-- | src/gtkext/gtkdisplaypanel.h | 6 | ||||
-rw-r--r-- | src/gtkext/gtkgraphdisplay.c | 129 |
5 files changed, 264 insertions, 39 deletions
diff --git a/src/gtkext/gtkbufferdisplay.c b/src/gtkext/gtkbufferdisplay.c index b9784de..b7af1d6 100644 --- a/src/gtkext/gtkbufferdisplay.c +++ b/src/gtkext/gtkbufferdisplay.c @@ -423,8 +423,14 @@ static gboolean gtk_buffer_display_draw(GtkWidget *widget, cairo_t *cr) if (parent->show_border) { - gtk_display_panel_define_border_path(parent, cr, 0, 0); + gtk_widget_get_allocation(widget, &allocation); + + allocation.x = 0; + allocation.y = 0; + + gtk_display_panel_define_border_path(parent, cr, &allocation); cairo_clip(cr); + } /* Décalage pour le défilement horizontal */ @@ -441,7 +447,7 @@ static gboolean gtk_buffer_display_draw(GtkWidget *widget, cairo_t *cr) cache = g_buffer_view_get_cache(display->view); - left_margin = g_buffer_cache_get_left_margin(cache); + left_margin = g_buffer_cache_get_left_margin(cache) * parent->scale; g_object_unref(G_OBJECT(cache)); @@ -494,6 +500,10 @@ static gboolean gtk_buffer_display_draw(GtkWidget *widget, cairo_t *cr) /* Impression du désassemblage */ + cairo_save(cr); + + cairo_scale(cr, parent->scale, parent->scale); + if (display->view != NULL) { g_generic_config_get_value(get_main_configuration(), MPK_SELECTION_LINE, &sel_line); @@ -511,7 +521,7 @@ static gboolean gtk_buffer_display_draw(GtkWidget *widget, cairo_t *cr) virt_y += area.y; g_buffer_view_draw(display->view, cr, virt_y, &area, parent->options, &display->offsets, - selected, parent->export); + selected, parent->scale, parent->export); } @@ -528,6 +538,8 @@ static gboolean gtk_buffer_display_draw(GtkWidget *widget, cairo_t *cr) GTK_WIDGET_CLASS(gtk_buffer_display_parent_class)->draw(widget, cr); + cairo_restore(cr); + return FALSE; } diff --git a/src/gtkext/gtkdisplaypanel-int.h b/src/gtkext/gtkdisplaypanel-int.h index 7be5616..17fd6f0 100644 --- a/src/gtkext/gtkdisplaypanel-int.h +++ b/src/gtkext/gtkdisplaypanel-int.h @@ -71,6 +71,9 @@ typedef GLineCursor * (* get_cursor_fc) (const GtkDisplayPanel *); /* Place en cache un rendu destiné à l'aperçu graphique rapide. */ typedef void (* cache_glance_fc) (GtkDisplayPanel *, cairo_t *, const GtkAllocation *, double); +/* Spécifie l'échelle à appliquer à l'affichage du composant. */ +typedef void (* apply_scale_fc) (GtkDisplayPanel *, double, double); + /* Marque ou non le composant pour une exportation prochaine. */ typedef void (* prepare_export_fc) (GtkDisplayPanel *, bool); @@ -86,6 +89,8 @@ struct _GtkDisplayPanel GtkScrollablePolicy hscroll_policy; /* Politique horizontale */ GtkScrollablePolicy vscroll_policy; /* Politique verticale */ + double scale; /* Echelle de l'affichage */ + bool show_border; /* Affichage d'une bordure ? */ unsigned int view_index; /* Indice du type de contenu */ GDisplayOptions *options; /* Affichage des colonnes ? */ @@ -112,8 +117,14 @@ struct _GtkDisplayPanelClass get_cursor_fc get_cursor; /* Fourniture d'une position */ cache_glance_fc cache_glance; /* Cache de la mignature */ + apply_scale_fc scale; /* Mise à jour de l'échelle */ + prepare_export_fc prepare_export; /* Préparation d'exportation */ + /* Signaux */ + + void (* scaled) (GtkDisplayPanel *, double, double); + }; /* Propriétés propres au composant d'affichage */ @@ -129,7 +140,7 @@ typedef enum _ViewPanelProps /* Définit un chemin décrivant la bordure autour du panneau. */ -void gtk_display_panel_define_border_path(GtkDisplayPanel *, cairo_t *, gint, gint); +void gtk_display_panel_define_border_path(GtkDisplayPanel *, cairo_t *, const GtkAllocation *); /* Dessine si besoin est une bordure autour du composant. */ void gtk_display_panel_draw_border(GtkDisplayPanel *, cairo_t *); diff --git a/src/gtkext/gtkdisplaypanel.c b/src/gtkext/gtkdisplaypanel.c index b32adfa..76c18ec 100644 --- a/src/gtkext/gtkdisplaypanel.c +++ b/src/gtkext/gtkdisplaypanel.c @@ -28,6 +28,7 @@ #include "gtkdisplaypanel-int.h" +#include "../glibext/chrysamarshal.h" #include "../glibext/gbinarycursor.h" // REMME #include "../glibext/gloadedpanel-int.h" @@ -161,6 +162,16 @@ static void gtk_display_panel_class_init(GtkDisplayPanelClass *class) panel->compute_inc = gtk_display_panel_compute_scroll_inc; + /* Signaux */ + + g_signal_new("scaled", + GTK_TYPE_DISPLAY_PANEL, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GtkDisplayPanelClass, scaled), + NULL, NULL, + g_cclosure_user_marshal_VOID__DOUBLE_DOUBLE, + G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + } @@ -181,6 +192,8 @@ static void gtk_display_panel_init(GtkDisplayPanel *panel) gtk_widget_set_has_window(GTK_WIDGET(panel), TRUE); gtk_widget_set_can_focus(GTK_WIDGET(panel), TRUE); + panel->scale = 1.0; + panel->export = false; } @@ -460,9 +473,14 @@ static void gtk_display_panel_size_allocate(GtkWidget *widget, GtkAllocation *al static void gtk_display_panel_get_preferred_height(GtkWidget *widget, gint *minimum, gint *natural) { + GtkDisplayPanel *panel; /* Autre version du composant */ gint req; /* Dimension requise */ - GTK_DISPLAY_PANEL_GET_CLASS(widget)->compute_size(GTK_DISPLAY_PANEL(widget), NULL, &req); + panel = GTK_DISPLAY_PANEL(widget); + + GTK_DISPLAY_PANEL_GET_CLASS(widget)->compute_size(panel, NULL, &req); + + req *= panel->scale; if (minimum != NULL) *minimum = req; if (natural != NULL) *natural = req; @@ -486,9 +504,14 @@ static void gtk_display_panel_get_preferred_height(GtkWidget *widget, gint *mini static void gtk_display_panel_get_preferred_width(GtkWidget *widget, gint *minimum, gint *natural) { + GtkDisplayPanel *panel; /* Autre version du composant */ gint req; /* Dimension requise */ - GTK_DISPLAY_PANEL_GET_CLASS(widget)->compute_size(GTK_DISPLAY_PANEL(widget), &req, NULL); + panel = GTK_DISPLAY_PANEL(widget); + + GTK_DISPLAY_PANEL_GET_CLASS(widget)->compute_size(panel, &req, NULL); + + req *= panel->scale; if (minimum != NULL) *minimum = req; if (natural != NULL) *natural = req; @@ -687,7 +710,7 @@ static void gtk_display_panel_update_adjustment(GtkDisplayPanel *panel, GtkOrien { adj = panel->hadjustment; - GTK_DISPLAY_PANEL_GET_CLASS(panel)->compute_size(panel, &req, NULL); + gtk_widget_get_preferred_width(GTK_WIDGET(panel), &req, NULL); allocated = allocation.width; } @@ -695,7 +718,7 @@ static void gtk_display_panel_update_adjustment(GtkDisplayPanel *panel, GtkOrien { adj = panel->vadjustment; - GTK_DISPLAY_PANEL_GET_CLASS(panel)->compute_size(panel, NULL, &req); + gtk_widget_get_preferred_height(GTK_WIDGET(panel), &req, NULL); allocated = allocation.height; } @@ -739,6 +762,73 @@ static void gtk_display_panel_adjustment_value_changed(GtkAdjustment *adj, GtkDi /****************************************************************************** * * * Paramètres : panel = composant GTK à mettre à jour. * +* * +* Description : Indique l'échelle appliquée à l'affichage du composant. * +* * +* Retour : Echelle appliquée à l'affichage. * +* * +* Remarques : - * +* * +******************************************************************************/ + +double gtk_display_panel_get_scale(const GtkDisplayPanel *panel) +{ + double result; /* Echelle à retourner */ + + result = panel->scale; + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : panel = composant GTK à mettre à jour. * +* scale = échelle appliquée à l'affichage. * +* * +* Description : Spécifie l'échelle à appliquer à l'affichage du composant. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void gtk_display_panel_set_scale(GtkDisplayPanel *panel, double scale) +{ + double old_scale; /* Echelle précédente */ + GtkDisplayPanelClass *class; /* Classe associée au composant*/ + + if (scale > 1.0) + scale = 1.0; + + else if (scale < 0.01) + scale = 0.01; + + if (panel->scale != scale) + { + old_scale = panel->scale; + + panel->scale = scale; + + class = GTK_DISPLAY_PANEL_GET_CLASS(panel); + + if (class->scale != NULL) + class->scale(panel, old_scale, scale); + + gtk_widget_queue_resize(GTK_WIDGET(panel)); + + g_signal_emit_by_name(panel, "scaled", old_scale, scale); + + } + +} + + +/****************************************************************************** +* * +* Paramètres : panel = composant GTK à mettre à jour. * * show = état de l'affichage auquel parvenir. * * * * Description : Définit si une bordure est à afficher. * @@ -785,9 +875,9 @@ void gtk_display_panel_prepare_export(GtkDisplayPanel *panel, bool export) /****************************************************************************** * * -* Paramètres : panel = composant GTK à venir consulter. * -* cr = contexte graphique associé à l'événement. * -* offset = décalage éventuel à appliquer. * +* Paramètres : panel = composant GTK à venir consulter. * +* cr = contexte graphique associé à l'événement. * +* area = surface à considérer. * * * * Description : Définit un chemin décrivant la bordure autour du panneau. * * * @@ -797,35 +887,32 @@ void gtk_display_panel_prepare_export(GtkDisplayPanel *panel, bool export) * * ******************************************************************************/ -void gtk_display_panel_define_border_path(GtkDisplayPanel *panel, cairo_t *cr, gint off_x, gint off_y) +void gtk_display_panel_define_border_path(GtkDisplayPanel *panel, cairo_t *cr, const GtkAllocation *area) { - GtkRequisition req; /* Taille allouée à l'élément */ double degrees; /* Conversion en degrés */ - gtk_widget_get_preferred_size(GTK_WIDGET(panel), NULL, &req); - degrees = M_PI / 180.0; cairo_new_sub_path(cr); cairo_arc(cr, - off_x + req.width - BORDER_CORNER_RADIUS - 0.5, - off_y + BORDER_CORNER_RADIUS + 0.5, + area->x + area->width - BORDER_CORNER_RADIUS - 0.5, + area->y + BORDER_CORNER_RADIUS + 0.5, BORDER_CORNER_RADIUS, -90 * degrees, 0 * degrees); cairo_arc(cr, - off_x + req.width - BORDER_CORNER_RADIUS - 0.5, - off_y + req.height - BORDER_CORNER_RADIUS - 0.5, + area->x + area->width - BORDER_CORNER_RADIUS - 0.5, + area->y + area->height - BORDER_CORNER_RADIUS - 0.5, BORDER_CORNER_RADIUS, 0 * degrees, 90 * degrees); cairo_arc(cr, - off_x + BORDER_CORNER_RADIUS + 0.5, - off_y + req.height - BORDER_CORNER_RADIUS - 0.5, + area->x + BORDER_CORNER_RADIUS + 0.5, + area->y + area->height - BORDER_CORNER_RADIUS - 0.5, BORDER_CORNER_RADIUS, 90 * degrees, 180 * degrees); cairo_arc(cr, - off_x + BORDER_CORNER_RADIUS + 0.5, - off_y + BORDER_CORNER_RADIUS + 0.5, + area->x + BORDER_CORNER_RADIUS + 0.5, + area->y + BORDER_CORNER_RADIUS + 0.5, BORDER_CORNER_RADIUS, 180 * degrees, 270 * degrees); cairo_close_path(cr); @@ -849,9 +936,10 @@ void gtk_display_panel_define_border_path(GtkDisplayPanel *panel, cairo_t *cr, g void gtk_display_panel_draw_border(GtkDisplayPanel *panel, cairo_t *cr) { GtkWidget *widget; /* Autre version du composant */ - GtkRequisition req; /* Taille allouée à l'élément */ GtkStyleContext *context; /* Contexte du thème actuel */ GdkRGBA color; /* Couleur de thème récupérée */ + GtkRequisition req; /* Taille allouée à l'élément */ + GtkAllocation area; /* Emplacement à considérer */ if (panel->show_border) { @@ -873,7 +961,14 @@ void gtk_display_panel_draw_border(GtkDisplayPanel *panel, cairo_t *cr) cairo_set_line_width(cr, 1.0); - gtk_display_panel_define_border_path(panel, cr, 0, 0); + gtk_widget_get_preferred_size(GTK_WIDGET(panel), NULL, &req); + + area.x = 0; + area.y = 0; + area.width = req.width; + area.height = req.height; + + gtk_display_panel_define_border_path(panel, cr, &area); cairo_stroke(cr); gtk_style_context_restore(context); diff --git a/src/gtkext/gtkdisplaypanel.h b/src/gtkext/gtkdisplaypanel.h index 937d41d..9f58b87 100644 --- a/src/gtkext/gtkdisplaypanel.h +++ b/src/gtkext/gtkdisplaypanel.h @@ -52,6 +52,12 @@ typedef struct _GtkDisplayPanelClass GtkDisplayPanelClass; /* Détermine le type du composant d'affichage générique. */ GType gtk_display_panel_get_type(void); +/* Indique l'échelle appliquée à l'affichage du composant. */ +double gtk_display_panel_get_scale(const GtkDisplayPanel *); + +/* Spécifie l'échelle à appliquer à l'affichage du composant. */ +void gtk_display_panel_set_scale(GtkDisplayPanel *, double); + /* Définit si une bordure est à afficher. */ void gtk_display_panel_show_border(GtkDisplayPanel *, bool); diff --git a/src/gtkext/gtkgraphdisplay.c b/src/gtkext/gtkgraphdisplay.c index 97bb4d3..aeecc0f 100644 --- a/src/gtkext/gtkgraphdisplay.c +++ b/src/gtkext/gtkgraphdisplay.c @@ -146,6 +146,9 @@ static GLineCursor *gtk_graph_display_get_cursor(const GtkGraphDisplay *); /* Place en cache un rendu destiné à l'aperçu graphique rapide. */ static void gtk_graph_display_cache_glance(GtkGraphDisplay *, cairo_t *, const GtkAllocation *, double); +/* Spécifie l'échelle à appliquer à l'affichage du composant. */ +static void gtk_graph_display_apply_scale(GtkGraphDisplay *, double, double); + /* Marque ou non le composant pour une exportation prochaine. */ static void gtk_graph_display_prepare_export(GtkGraphDisplay *, bool); @@ -205,6 +208,8 @@ static void gtk_graph_display_class_init(GtkGraphDisplayClass *class) panel_class->get_cursor = (get_cursor_fc)gtk_graph_display_get_cursor; panel_class->cache_glance = (cache_glance_fc)gtk_graph_display_cache_glance; + panel_class->scale = (apply_scale_fc)gtk_graph_display_apply_scale; + panel_class->prepare_export = (prepare_export_fc)gtk_graph_display_prepare_export; } @@ -470,16 +475,23 @@ static void gtk_graph_display_adjust_scroll_value(GtkGraphDisplay *display, GtkA static gboolean gtk_graph_display_draw(GtkWidget *widget, cairo_t *cr, GtkGraphDisplay *display) { + GtkDisplayPanel *parent; /* Autre version du composant */ cairo_surface_t *pat_image; /* Fond du futur pinceau */ cairo_t *pat_cr; /* Pinceau pour le pinceau */ cairo_pattern_t *pattern; /* Patron de remplissage */ double degrees; /* Conversion en degrés */ size_t i; /* Boucle de parcours */ + parent = GTK_DISPLAY_PANEL(display); + /* Eventuel fond pour la zone de compression */ if (display->may_collapsing && !GTK_DISPLAY_PANEL(display)->export) { + cairo_save(cr); + + cairo_scale(cr, parent->scale, parent->scale); + /* Préparation du pinceau */ pat_image = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, @@ -555,13 +567,21 @@ static gboolean gtk_graph_display_draw(GtkWidget *widget, cairo_t *cr, GtkGraphD cairo_surface_destroy(pat_image); + cairo_restore(cr); + } /* Dessin des ombres */ + cairo_save(cr); + + cairo_scale(cr, parent->scale, parent->scale); + void draw_shadow(GtkWidget *child, gpointer unused) { + GGraphCluster *cluster; /* Cluster correspondant */ GtkAllocation alloc; /* Emplacement de l'enfant */ + GtkAllocation area; /* Emplacement à considérer */ gint j; /* Boucle de parcours */ cairo_pattern_t *pattern; /* Zones d'application */ @@ -569,19 +589,30 @@ static gboolean gtk_graph_display_draw(GtkWidget *widget, cairo_t *cr, GtkGraphD if (!GTK_IS_DISPLAY_PANEL(child)) return; - gtk_widget_get_allocation(child, &alloc); + cluster = g_graph_cluster_find_by_widget(display->cluster, child); + assert(cluster != NULL); + + g_graph_cluster_get_allocation(cluster, &alloc); + + alloc.x += GRAPH_MARGIN; + alloc.y += GRAPH_MARGIN; + + area = alloc; for (j = 1; j < SHADOW_SIZE; j++) { cairo_push_group(cr); - gtk_display_panel_define_border_path(GTK_DISPLAY_PANEL(child), cr, alloc.x + j, alloc.y + j); + area.x = alloc.x + j; + area.y = alloc.y + j; + + gtk_display_panel_define_border_path(GTK_DISPLAY_PANEL(child), cr, &area); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); cairo_fill(cr); cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); - gtk_display_panel_define_border_path(GTK_DISPLAY_PANEL(child), cr, alloc.x, alloc.y); + gtk_display_panel_define_border_path(GTK_DISPLAY_PANEL(child), cr, &alloc); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); cairo_fill(cr); @@ -602,6 +633,8 @@ static gboolean gtk_graph_display_draw(GtkWidget *widget, cairo_t *cr, GtkGraphD for (i = 0; i < display->edges_count; i++) g_graph_edge_draw(display->edges[i], cr, true, display->hl_edge_index == i); + cairo_restore(cr); + return FALSE; } @@ -710,6 +743,7 @@ static gboolean gtk_graph_display_motion_notify(GtkWidget *widget, GdkEventMotio GtkAdjustment *hadj; /* Gestionnaire du défilement */ GtkAdjustment *vadj; /* Gestionnaire du défilement */ gdouble value; /* Nouvelle valeur bornée */ + double scale; /* Echelle appliquée au rendu */ size_t i; /* Boucle de parcours */ /* Déplacement du graphique ? */ @@ -739,8 +773,10 @@ static gboolean gtk_graph_display_motion_notify(GtkWidget *widget, GdkEventMotio /* Survol d'un lien ? */ else { + scale = GTK_DISPLAY_PANEL(display)->scale; + for (i = 0; i < display->edges_count; i++) - if (g_graph_edge_detect_at(display->edges[i], event->x, event->y)) + if (g_graph_edge_detect_at(display->edges[i], event->x / scale, event->y / scale)) { display->hl_edge_index = i; break; @@ -1131,21 +1167,28 @@ static GLineCursor *gtk_graph_display_get_cursor(const GtkGraphDisplay *display) static void gtk_graph_display_cache_glance(GtkGraphDisplay *display, cairo_t *cr, const GtkAllocation *area, double scale) { + GtkDisplayPanel *parent; /* Autre version du composant */ size_t i; /* Boucle de parcours */ + parent = GTK_DISPLAY_PANEL(display); + + cairo_scale(cr, scale * parent->scale, scale * parent->scale); + void draw_child_glance(GtkWidget *child, gpointer unused) { + GGraphCluster *cluster; /* Cluster correspondant */ GtkAllocation sub_area; /* Emplacement réservé */ if (!GTK_IS_BUFFER_DISPLAY(child)) return; - gtk_widget_get_allocation(child, &sub_area); + cluster = g_graph_cluster_find_by_widget(display->cluster, child); + assert(cluster != NULL); - sub_area.x *= scale; - sub_area.y *= scale; - sub_area.width = sub_area.width * scale + 1; - sub_area.height = sub_area.height * scale + 1; + g_graph_cluster_get_allocation(cluster, &sub_area); + + sub_area.x += GRAPH_MARGIN; + sub_area.y += GRAPH_MARGIN; g_loaded_panel_cache_glance(G_LOADED_PANEL(child), cr, &sub_area, scale); @@ -1153,8 +1196,6 @@ static void gtk_graph_display_cache_glance(GtkGraphDisplay *display, cairo_t *cr gtk_container_foreach(GTK_CONTAINER(display->support), (GtkCallback)draw_child_glance, NULL); - cairo_scale(cr, scale, scale); - for (i = 0; i < display->edges_count; i++) g_graph_edge_draw(display->edges[i], cr, false, false); @@ -1164,6 +1205,68 @@ static void gtk_graph_display_cache_glance(GtkGraphDisplay *display, cairo_t *cr /****************************************************************************** * * * Paramètres : display = composant GTK à mettre à jour. * +* old = ancienne échelle appliquée. * +* new = nouvelle échelle à appliquer. * +* * +* Description : Spécifie l'échelle à appliquer à l'affichage du composant. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +static void gtk_graph_display_apply_scale(GtkGraphDisplay *display, double old, double new) +{ + GtkDisplayPanel *parent; /* Autre version du composant */ + gint right; /* Abscisse du coin droit */ + gint bottom; /* Ordonnée du coin inférieur */ + + /* Traitement des blocs */ + + void apply_child_scale(GtkWidget *child, gpointer unused) + { + GGraphCluster *cluster; /* Cluster correspondant */ + GtkAllocation sub_area; /* Emplacement réservé */ + gint x; /* Abscisse du point d'arrivée */ + gint y; /* Ordonnée du point d'arrivée */ + + if (!GTK_IS_BUFFER_DISPLAY(child)) + return; + + cluster = g_graph_cluster_find_by_widget(display->cluster, child); + assert(cluster != NULL); + + g_graph_cluster_get_allocation(cluster, &sub_area); + + x = (GRAPH_MARGIN + sub_area.x) * new; + y = (GRAPH_MARGIN + sub_area.y) * new; + + gtk_fixed_move(GTK_FIXED(display->support), child, x, y); + + gtk_display_panel_set_scale(GTK_DISPLAY_PANEL(child), new); + + } + + gtk_container_foreach(GTK_CONTAINER(display->support), (GtkCallback)apply_child_scale, NULL); + + /* Calcul du nouvel espace nécessaire */ + + parent = GTK_DISPLAY_PANEL(display); + + gtk_graph_display_compute_requested_size(display, &right, &bottom); + + right *= parent->scale; + bottom *= parent->scale; + + gtk_fixed_move(GTK_FIXED(display->support), display->extender, right - 1, bottom - 1); + +} + + +/****************************************************************************** +* * +* Paramètres : display = composant GTK à mettre à jour. * * export = préparation d'une exportation complète du rendu ? * * * * Description : Marque ou non le composant pour une exportation prochaine. * @@ -1238,8 +1341,7 @@ GtkWidget *gtk_graph_display_get_support(GtkGraphDisplay *display) * * * Paramètres : display = composant GTK à mettre à jour. * * widget = composant GTK à insérer. * -* x = abscisse du point d'insertion. * -* y = ordonnée du point d'insertion. * +* alloc = position du point d'insertion. * * * * Description : Place une vue sous forme de bloc dans le graphique. * * * @@ -1261,7 +1363,6 @@ void gtk_graph_display_put(GtkGraphDisplay *display, GtkWidget *widget, const Gt } - /****************************************************************************** * * * Paramètres : display = composant GTK à mettre à jour. * |