wxImage img(*(fsfile->GetStream()));
delete fsfile;
#else
- wxImage img(GetParamValue(wxT("bitmap")));
+ wxImage img(name);
#endif
if (!img.Ok())
{
wxLogError(_("XRC resource: Cannot create bitmap from '%s'."),
- param.c_str());
+ name.c_str());
return wxNullBitmap;
}
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);
-#if !defined(__WXMSW__) || wxUSE_WXDIB
return wxBitmap(img);
-#else
- return wxBitmap();
-#endif
}
// font attributes:
// size
- int isize = wxDEFAULT;
+ int isize = -1;
bool hasSize = HasParam(wxT("size"));
if (hasSize)
- isize = GetLong(wxT("size"), wxDEFAULT);
+ isize = GetLong(wxT("size"), -1);
// style
int istyle = wxNORMAL;
}
// is this font based on a system font?
- wxFont sysfont = GetSystemFont(GetParamValue(wxT("sysfont")));
+ wxFont font = GetSystemFont(GetParamValue(wxT("sysfont")));
- if (sysfont.Ok())
+ if (font.Ok())
{
- if (hasSize)
- sysfont.SetPointSize(isize);
+ if (hasSize && isize != -1)
+ font.SetPointSize(isize);
else if (HasParam(wxT("relativesize")))
- sysfont.SetPointSize(int(sysfont.GetPointSize() *
+ font.SetPointSize(int(font.GetPointSize() *
GetFloat(wxT("relativesize"))));
if (hasStyle)
- sysfont.SetStyle(istyle);
+ font.SetStyle(istyle);
if (hasWeight)
- sysfont.SetWeight(iweight);
+ font.SetWeight(iweight);
if (hasUnderlined)
- sysfont.SetUnderlined(underlined);
+ font.SetUnderlined(underlined);
if (hasFamily)
- sysfont.SetFamily(ifamily);
+ font.SetFamily(ifamily);
if (hasFacename)
- sysfont.SetFaceName(facename);
+ font.SetFaceName(facename);
if (hasEncoding)
- sysfont.SetDefaultEncoding(enc);
-
- m_node = oldnode;
- return sysfont;
+ font.SetDefaultEncoding(enc);
+ }
+ else // not based on system font
+ {
+ font = wxFont(isize == -1 ? wxNORMAL_FONT->GetPointSize() : isize,
+ ifamily, istyle, iweight,
+ underlined, facename, enc);
}
m_node = oldnode;
- return wxFont(isize, ifamily, istyle, iweight,
- underlined, facename, enc);
+ return font;
}