Question

I'm using GTK Sharp to work on some GUI for my app.

Take a look at this chunk of code:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Family = "Sans";
//fontdesc.Size = 12;
fontdesc.Weight = Pango.Weight.Semibold;
SyncInfo.ModifyFont(fontdesc);
Gdk.Color fontcolor = new Gdk.Color(255,255,255);
SyncInfo.ModifyFg(StateType.Normal, fontcolor);

Notice fontdesc.Size is commented out. Because only when I comment it out, will I see the label with text. If I set any value to it, the label will not appear.

Also, I did a Console.WriteLine, and the default Size is 0. So I tried frontdesc.Size = 0, and it still disappears, any idea?

Thanks!

Was it helpful?

Solution

Check this out. You need to set it to 12 * Scale.PangoScale. I had a similar problem with the C APIs.

OTHER TIPS

This is essentially a C# version of the other PangoScale answer:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....

Notes: FontDescription.Size is a int and PangoScale is type double so a type cast or other double to int conversion is needed. Scale is likely ambiguous in the referenced name spaces, so the full reference Pango.Scale is probably best used.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top