Bonjour,

J'aimerais pouvoir modifier la position de mon texte, qui s'ecrit obligatoirement en haut a gauche de ma fenetre.
J'ai regarder la doc je n'arrive pas a trouver une fonction qui le fait sous pango.
Voici mon code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <pango/pango.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <stdio.h>
 
void cb_expose_event (GtkWidget *, gpointer);
 
int main (int argc, char **argv)
{
    GtkWidget *p_main_window = NULL;
    GtkWidget *p_drawing_area = NULL;
 
    gtk_init (&argc, &argv);
    p_main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(p_main_window), 640, 480);
 
    p_drawing_area = gtk_drawing_area_new ();
    g_signal_connect (G_OBJECT (p_drawing_area), "expose_event",G_CALLBACK (cb_expose_event), NULL);
    gtk_container_add (GTK_CONTAINER (p_main_window), p_drawing_area);
    gtk_widget_show_all (p_main_window);
    gtk_main ();
    return 0;
}
 
void cb_expose_event (GtkWidget *p_widget, gpointer user_data)
{
    GdkGC *gc;
    int w;
    GdkPoint points[3];
    GdkPoint points2[3];
    char tab[]="Hello";
 
    GdkColor colors[2];
    GdkGC *color_gc = gdk_gc_new (p_widget->window);
 
    colors[0].red = 0;
    colors[0].green = 0;
    colors[0].blue = 0;
 
    colors[1].red = 5000;
    colors[1].green = 0;
    colors[1].blue = 65000;
    gdk_colormap_alloc_color (gdk_colormap_get_system(), &colors[0], FALSE, TRUE);
    gdk_colormap_alloc_color (gdk_colormap_get_system(), &colors[1], FALSE, TRUE);
 
    gdk_gc_set_foreground (color_gc, &colors[0]);
 
        points[0].x=0;
        points[0].y=0;
        points[1].x=0;
        points[1].y=200;
        points[2].x=200;
        points[2].y=300;
        points2[0].x=0;
        points2[0].y=0;
        points2[1].x=200;
        points2[1].y=300;
        points2[2].x=100;
        points2[2].y=300;
        gc=p_widget->style->fg_gc[GTK_WIDGET_STATE (p_widget)];
        //gdk_gc_set_rgb_bg_color(gc,&color);
        PangoContext *p_context = NULL;
        PangoLayout *p_layout = NULL;
        p_context = gtk_widget_get_pango_context (p_widget);
        p_layout = pango_layout_new (p_context);
        //pango_layout_set_indent(p_layout,-100);
        pango_layout_set_alignment(p_layout, PANGO_ALIGN_CENTER);
        pango_layout_set_text (p_layout, tab, -1);
        pango_layout_set_text (p_layout, "salut", 5);
        gdk_draw_layout (p_widget->window,p_widget->style->fg_gc[GTK_WIDGET_STATE (p_widget)],0,0,p_layout);
//        gdk_draw_line(p_widget->window,gc,(points[0].x),(points[0].y),(points[1].x),(points[1].y));
        gdk_draw_lines(p_widget->window,color_gc,points,3);
        gdk_gc_set_foreground (color_gc, &colors[1]);
 
        gdk_draw_lines(p_widget->window,color_gc,points2,3);
        gdk_draw_arc(p_widget->window,color_gc,FALSE,200,200,10,150,0,360*64);
 
        gdk_colormap_free_colors (gdk_colormap_get_system(),colors,2);
        //gtk_widget_queue_draw( aire_de_dessin )
        g_object_unref (p_layout);
 
        (void)user_data;
    }
Merci pour votre aide.