summaryrefslogtreecommitdiff
path: root/src/analysis/line.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-07-04 12:21:26 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-07-04 12:21:26 (GMT)
commita60e81ac70b3d829f486ce7b6534005a9d025206 (patch)
tree0e3b284a12a1f8f4932f5cd05247a556cf8c5bf9 /src/analysis/line.c
parentb6893c7b85c34f7a3c65ac76bfd9d95b1c4ebf55 (diff)
Defined general rendering options using a GLib object.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@89 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/line.c')
-rw-r--r--src/analysis/line.c61
1 files changed, 32 insertions, 29 deletions
diff --git a/src/analysis/line.c b/src/analysis/line.c
index 332e88d..42b034a 100644
--- a/src/analysis/line.c
+++ b/src/analysis/line.c
@@ -38,8 +38,7 @@
-
-
+/* ------------------------ TRAITEMENT INDIVIDUEL DES LIGNES ------------------------ */
/* Initialise la classe des lignes de représentation. */
@@ -56,11 +55,15 @@ static GdkPixbuf *g_rendering_line_render_icon(const GRenderingLine *, const cha
+/* ---------------------------------------------------------------------------------- */
+/* TRAITEMENT INDIVIDUEL DES LIGNES */
+/* ---------------------------------------------------------------------------------- */
+
+
/* Indique le type définit pour une ligne de représentation. */
G_DEFINE_TYPE(GRenderingLine, g_rendering_line, G_TYPE_OBJECT);
-
/******************************************************************************
* *
* Paramètres : klass = classe à initialiser. *
@@ -104,7 +107,7 @@ static void g_rendering_line_init(GRenderingLine *line)
{
GdkScreen *screen; /* Ecran d'application */
PangoFontDescription *desc; /* Description de la police */
- LinesMainOwner i; /* Boucle de parcours */
+ MainRendering i; /* Boucle de parcours */
static PangoContext *context = NULL; /* Contexte graphique Pango */
@@ -120,7 +123,7 @@ static void g_rendering_line_init(GRenderingLine *line)
}
- for (i = 0; i < LMO_COUNT; i++)
+ for (i = 0; i < MRD_COUNT; i++)
line->layout[i] = pango_layout_new(context);
line->get_bin_len = NULL;
@@ -397,14 +400,14 @@ static GdkPixbuf *g_rendering_line_render_icon(const GRenderingLine *line, const
/******************************************************************************
* *
-* Paramètres : line = adresse de la structure à représenter. *
-* drawable = support de rendu pour le dessin. *
-* gc = contexte graphique à utiliser. *
-* x0 = abscisse de la zone de rendu (marge). *
-* x1 = abscisse de la zone de rendu (texte). *
-* y = ordonnée de la zone de rendu. *
-* h = hauteur réservée pour la ligne. *
-* owner = support effectif final des lignes de code. *
+* Paramètres : line = adresse de la structure à représenter. *
+* drawable = support de rendu pour le dessin. *
+* gc = contexte graphique à utiliser. *
+* x0 = abscisse de la zone de rendu (marge). *
+* x1 = abscisse de la zone de rendu (texte). *
+* y = ordonnée de la zone de rendu. *
+* h = hauteur réservée pour la ligne. *
+* rendering = support effectif final des lignes de code. *
* *
* Description : Procède à l'initialisation des bases d'une représentation. *
* *
@@ -414,11 +417,11 @@ static GdkPixbuf *g_rendering_line_render_icon(const GRenderingLine *line, const
* *
******************************************************************************/
-void g_rendering_line_draw(GRenderingLine *line, GdkDrawable *drawable, GdkGC *gc, gint x0, gint x1, gint y, gint h, LinesMainOwner owner)
+void g_rendering_line_draw(GRenderingLine *line, GdkDrawable *drawable, GdkGC *gc, gint x0, gint x1, gint y, gint h, MainRendering rendering)
{
GdkPixbuf *pixbuf; /* Données utiles au dessin */
- gdk_draw_layout(drawable, gc, x1, y, line->layout[owner]);
+ gdk_draw_layout(drawable, gc, x1, y, line->layout[rendering]);
if (line->to != NULL)
pixbuf = g_rendering_line_render_icon(line, "gtk-bold", GTK_ICON_SIZE_MENU);
@@ -561,9 +564,9 @@ GRenderingLine *g_rendering_line_get_next_iter(GRenderingLine *lines, const GRen
/******************************************************************************
* *
-* Paramètres : lines = liste de lignes de représentation à actualiser. *
-* last = dernière élément imposé du parcours ou NULL. *
-* owner = support effectif des lignes pour l'appelant. *
+* Paramètres : lines = liste de lignes de représentation à actualiser. *
+* last = dernière élément imposé du parcours ou NULL. *
+* rendering = support effectif des lignes pour l'appelant. *
* *
* Description : Met à jour le nombre d'octets maximal par instruction. *
* *
@@ -573,7 +576,7 @@ GRenderingLine *g_rendering_line_get_next_iter(GRenderingLine *lines, const GRen
* *
******************************************************************************/
-void g_rendering_line_update_bin_len(GRenderingLine *lines, GRenderingLine *last, LinesMainOwner owner)
+void g_rendering_line_update_bin_len(GRenderingLine *lines, GRenderingLine *last, MainRendering rendering)
{
GRenderingLine *iter; /* Boucle de parcours */
off_t bin_len; /* Taille d'instruction */
@@ -591,8 +594,8 @@ void g_rendering_line_update_bin_len(GRenderingLine *lines, GRenderingLine *last
lines_list_for_each(iter, lines)
{
- iter->max_bin_len[owner] = (bin_len > 0 ? bin_len * 2 + (bin_len - 1) : 0);
- iter->refresh_markup(iter, owner);
+ iter->max_bin_len[rendering] = (bin_len > 0 ? bin_len * 2 + (bin_len - 1) : 0);
+ iter->refresh_markup(iter, rendering);
if (iter == last) break;
@@ -603,12 +606,12 @@ void g_rendering_line_update_bin_len(GRenderingLine *lines, GRenderingLine *last
/******************************************************************************
* *
-* Paramètres : lines = liste de lignes de représentation à actualiser. *
-* last = dernière élément imposé du parcours ou NULL. *
-* owner = support effectif final des lignes de code. *
-* width = largeur maximale des lignes. [OUT] *
-* height = hauteur maximale des lignes. [OUT] *
-* alone = hauteur d'une seule ligne. [OUT] *
+* Paramètres : lines = liste de lignes de représentation à actualiser. *
+* last = dernière élément imposé du parcours ou NULL. *
+* rendering = support effectif final des lignes de code. *
+* width = largeur maximale des lignes. [OUT] *
+* height = hauteur maximale des lignes. [OUT] *
+* alone = hauteur d'une seule ligne. [OUT] *
* *
* Description : Fournit les dimensions de lignes de représentation. *
* *
@@ -618,7 +621,7 @@ void g_rendering_line_update_bin_len(GRenderingLine *lines, GRenderingLine *last
* *
******************************************************************************/
-void g_rendering_line_get_size(GRenderingLine *lines, const GRenderingLine *last, LinesMainOwner owner, int *width, int *height, int *alone)
+void g_rendering_line_get_size(GRenderingLine *lines, const GRenderingLine *last, MainRendering rendering, int *width, int *height, int *alone)
{
GRenderingLine *iter; /* Boucle de parcours */
int w; /* Largeur de l'objet actuelle */
@@ -630,7 +633,7 @@ void g_rendering_line_get_size(GRenderingLine *lines, const GRenderingLine *last
lines_list_for_each(iter, lines)
{
- pango_layout_get_pixel_size(iter->layout[owner], &w, &h);
+ pango_layout_get_pixel_size(iter->layout[rendering], &w, &h);
*width = MAX(*width, w);
*height += h;