SG_USING_STD(map);
extern puFont FONT_HELVETICA_14;
-extern puFont FONT_VERA_12B;
+extern puFont FONT_SANS_12B;
bind();
// open remembered dialogs again (no nasal generated ones, unfortunately)
- for (unsigned int i = 0; i < dlg.size(); i++)
- showDialog(dlg[i]);
+// for (unsigned int i = 0; i < dlg.size(); i++)
+// showDialog(dlg[i]);
}
void
static const struct {
char *name;
- puFont font;
+ puFont *font;
} guifonts[] = {
- "default", FONT_HELVETICA_14,
- "FIXED_8x13", PUFONT_8_BY_13,
- "FIXED_9x15", PUFONT_9_BY_15,
- "TIMES_10", PUFONT_TIMES_ROMAN_10,
- "TIMES_24", PUFONT_TIMES_ROMAN_24,
- "HELVETICA_10", PUFONT_HELVETICA_10,
- "HELVETICA_12", PUFONT_HELVETICA_12,
- "HELVETICA_14", FONT_HELVETICA_14,
- "HELVETICA_18", PUFONT_HELVETICA_18,
- "VERA_12B", FONT_VERA_12B,
+ "default", &FONT_HELVETICA_14,
+ "FIXED_8x13", &PUFONT_8_BY_13,
+ "FIXED_9x15", &PUFONT_9_BY_15,
+ "TIMES_10", &PUFONT_TIMES_ROMAN_10,
+ "TIMES_24", &PUFONT_TIMES_ROMAN_24,
+ "HELVETICA_10", &PUFONT_HELVETICA_10,
+ "HELVETICA_12", &PUFONT_HELVETICA_12,
+ "HELVETICA_14", &FONT_HELVETICA_14,
+ "HELVETICA_18", &PUFONT_HELVETICA_18,
+ "SANS_12B", &FONT_SANS_12B,
0, 0,
};
if (fontname == guifonts[i].name)
break;
if (guifonts[i].name)
- _font = guifonts[i].font;
+ _font = *guifonts[i].font;
else {
SGPath fontpath;
char* envp = ::getenv("FG_FONTS");
if (_tex_font.load((char *)path.c_str())) {
_font.initialize((fntFont *)&_tex_font, size, slant);
} else {
- _font = guifonts[0].font;
+ _font = *guifonts[0].font;
fontname = "default";
}
}
// FGColor class.
////////////////////////////////////////////////////////////////////////
-void
+bool
FGColor::merge(const SGPropertyNode *node)
{
if (!node)
- return;
+ return false;
+ bool dirty = false;
const SGPropertyNode * n;
if ((n = node->getNode("red")))
- _red = n->getFloatValue();
+ _red = n->getFloatValue(), dirty = true;
if ((n = node->getNode("green")))
- _green = n->getFloatValue();
+ _green = n->getFloatValue(), dirty = true;
if ((n = node->getNode("blue")))
- _blue = n->getFloatValue();
+ _blue = n->getFloatValue(), dirty = true;
if ((n = node->getNode("alpha")))
- _alpha = n->getFloatValue();
+ _alpha = n->getFloatValue(), dirty = true;
+ return dirty;
}
-void
+bool
FGColor::merge(const FGColor& color)
{
+ bool dirty = false;
if (color._red >= 0.0)
- _red = color._red;
+ _red = color._red, dirty = true;
if (color._green >= 0.0)
- _green = color._green;
+ _green = color._green, dirty = true;
if (color._blue >= 0.0)
- _blue = color._blue;
+ _blue = color._blue, dirty = true;
if (color._alpha >= 0.0)
- _alpha = color._alpha;
+ _alpha = color._alpha, dirty = true;
+ return dirty;
}
// end of new_gui.cxx