Example #1
0
static gint SetBaseFont(gtkDesc *gtkd)
{
    gtkd->fontface = 1;
    gtkd->fontsize = 12;
    gtkd->usefixed = 0;

    if(font_htab == NULL) {
	font_htab = g_hash_table_new (g_str_hash, g_str_equal);
    }

    gtkd->font = RGTKLoadFont (gtkd->fontface, gtkd->fontsize);

    if(gtkd->wgc == NULL)
	    return(1);

    if(gtkd->font != NULL) {
	gdk_gc_set_font(gtkd->wgc, gtkd->font);
	return 1;
    }

    gtkd->usefixed = 1;
    gtkd->font = gdk_font_load ("fixed");

    if(gtkd->font != NULL) {
	gdk_gc_set_font(gtkd->wgc, gtkd->font);
	return 1;
    }

    return 0;
}
Example #2
0
/* Sets the font for a graphics context.
 * (Note that all text-drawing functions in GDK take a font argument;
 * the value set here is used when that argument is NULL.) */
int
clip_GDK_GCSETFONT(ClipMachine * cm)
{
	C_object      *cgc = _fetch_co_arg(cm);
	ClipVar *c;
	GdkFont *font = 0; C_object *cfont;

	CHECKCOBJ(cgc,GDK_IS_GC(cgc)); CHECKARG3(2,CHARACTER_t,MAP_t,NUMERIC_t);
	switch ( _clip_parinfo(cm,2) )
	{
		case CHARACTER_t:
			c = _clip_spar(cm,2);
			font = gdk_font_load(c->s.str.buf);
			break;
		case MAP_t:
		case NUMERIC_t:
			cfont = _fetch_cobject(cm,_clip_spar(cm,2));
			if (cfont)
			{
				font = (GdkFont*)cfont->object;
				cfont->ref_count++;
			}
			break;
		default:
			break;
	}
	if (font)
	{
		gdk_gc_set_font(GDK_GC(cgc->object), font);
		gdk_font_ref (font);
	}
	return 0;
err:
	return 1;
}
Example #3
0
static void SetFont(NewDevDesc *dd, gint face, gint size)
{
    GdkFont *tmp_font;
    gtkDesc *gtkd = (gtkDesc *) dd->deviceSpecific;

    if (face < 1 || face > 5) face = 1;

    if (gtkd->wgc && !gtkd->usefixed &&
	(size != gtkd->fontsize	|| face != gtkd->fontface)) {
	tmp_font = RGTKLoadFont(face, size);
	if(tmp_font) {
	    gtkd->font = tmp_font;
	    gtkd->fontface = face;
	    gtkd->fontsize = size;
	    gdk_gc_set_font(gtkd->wgc, tmp_font);
	} else 
	    error("X11 font at size %d could not be loaded", size);
    }
}