Hello,

I search (and try hard ) to run this pango/gtk+ "application". Its only
should put a string to a pango-layout.
It didn't work. (Nothing will happen on the graphicwindow...)

Its a main.c and the eventhandler for expose from my interface.c
If needed, I will post the glade3 XML too.

Big thanks for any helps.
Best regard


CODE: main.c
        gtk_set_locale ();
        gtk_init (&argc, &argv);
        
        gxml = glade_xml_new (GLADE_FILE, NULL, NULL);
        
        
        glade_xml_signal_autoconnect (gxml);
        
        window = glade_xml_get_widget (gxml, "window");
        fixed = glade_xml_get_widget (gxml, "fixed1");
        connect = glade_xml_get_widget (gxml, "connect");
        console = glade_xml_get_widget (gxml, "console");
        da = glade_xml_get_widget ( gxml, "drawingarea1");
        
        ....
        <snip/>
        ....

        g_signal_connect (window, "expose-event",
                                G_CALLBACK (on_expose_event), da);
        
        
        

        gtk_widget_show (window);
        
        gtk_main ();

        
**********************************************************
        

CODE: interface.c
FUNCTION: on_expose_event


gboolean
on_expose_event(GtkWidget * widget, GdkEvent* event, GtkWidget * label)
{
        PangoContext *ct;
        PangoLayout  *layout;
        PangoFontDescription * font;
                
        gint width, height;

        // prepare graphicdevice and output     

        font =  pango_font_description_from_string ("Courier,Medium 8");
        ct = gtk_widget_get_pango_context(widget);
        layout  = pango_layout_new (ct);
        g_object_unref (ct);

        pango_layout_context_changed(layout);
        pango_layout_set_font_description (layout, font);
        pango_layout_set_text (layout, "Some UTF-8 text", -1);

        //pango_layout_get_size (layout, &width, &height);
        width = 50;
        height = 50;
        
        g_return_val_if_fail (widget != NULL, FALSE);
        
        /* Clear the text from the background of the widget. */
        //gdk_window_clear_area (widget->window, 0, 0, widget->allocation.width,
        //      widget->allocation.height);
        
        /* Draw the PangoLayout on the widget, which is the message text. */
        gdk_draw_layout (widget->window ,
                widget->style->fg_gc[widget->state] ,
                widget->allocation.width ,
                widget->allocation.height ,
                layout);
        return TRUE;
}



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to