зеркало из https://github.com/mozilla/pjs.git
d=backing out my changes, until we can figure out what version of gtk we
need to use.
This commit is contained in:
Родитель
3a8200fd2a
Коммит
80f55cdfe2
|
@ -58,10 +58,6 @@
|
|||
|
||||
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
|
||||
|
||||
#define GDK_DEFAULT_FONT1 "-*-helvetica-medium-r-*--*-100-*-*-*-*-iso8859-1"
|
||||
#define GDK_DEFAULT_FONT2 "-*-fixed-medium-r-*-*-*-100-*-*-*-*-*-*"
|
||||
extern GdkFont *default_font;
|
||||
|
||||
nscoord nsDeviceContextGTK::mDpi = 96;
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsDeviceContextGTK, nsIDeviceContext)
|
||||
|
@ -358,88 +354,7 @@ NS_IMETHODIMP nsDeviceContextGTK::GetSystemAttribute(nsSystemAttrID anID, System
|
|||
case eSystemAttr_Font_Field:
|
||||
case eSystemAttr_Font_Tooltips: // moz
|
||||
case eSystemAttr_Font_Widget:
|
||||
|
||||
aInfo->mFont->style = NS_FONT_STYLE_NORMAL;
|
||||
aInfo->mFont->weight = NS_FONT_WEIGHT_NORMAL;
|
||||
aInfo->mFont->decorations = NS_FONT_DECORATION_NONE;
|
||||
|
||||
// do we have the default_font defined by GTK/GDK then
|
||||
// we use it, if not then we load helvetica, if not then
|
||||
// we load fixed font else we error out.
|
||||
if ( !theFont )
|
||||
theFont = default_font; // GTK default font
|
||||
|
||||
if ( !theFont )
|
||||
theFont = ::gdk_font_load (GDK_DEFAULT_FONT1);
|
||||
|
||||
if ( !theFont )
|
||||
theFont = ::gdk_font_load (GDK_DEFAULT_FONT2);
|
||||
|
||||
if (!theFont )
|
||||
{
|
||||
status = NS_ERROR_FAILURE;
|
||||
}
|
||||
else
|
||||
{
|
||||
char *fontName, *fontFamily;
|
||||
GdkFontPrivate *fontPrivate;
|
||||
XFontStruct *fontInfo;
|
||||
|
||||
// XXX I am not sure if I can use this as it is supposed to
|
||||
// be private.
|
||||
fontPrivate = (GdkFontPrivate*) theFont;
|
||||
fontName = PL_strdup( (char *)fontPrivate->names->data);
|
||||
|
||||
#ifdef DEBUG_waqar
|
||||
printf("XXX default font $%s$\n", fontName);
|
||||
#endif
|
||||
// XXX strtok is not in NSPR but since this code is on Linux only
|
||||
// I am using this to parse the name of the font family
|
||||
fontFamily = strtok(fontName, "-");
|
||||
fontFamily = strtok((char *)NULL, "-");
|
||||
aInfo->mFont->name.AssignWithConversion( fontFamily );
|
||||
|
||||
PL_strfree(fontName);
|
||||
|
||||
fontInfo = (XFontStruct *)GDK_FONT_XFONT(theFont);
|
||||
unsigned long pr = 0;
|
||||
|
||||
::XGetFontProperty(fontInfo, XA_WEIGHT, &pr);
|
||||
if ( pr > 10 )
|
||||
aInfo->mFont->weight = NS_FONT_WEIGHT_BOLD;
|
||||
|
||||
pr = 0;
|
||||
::XGetFontProperty(fontInfo, XA_POINT_SIZE, &pr);
|
||||
if( pr )
|
||||
{
|
||||
int fontSize = pr/10;
|
||||
// Per rods@netscape.com, the default size of 12 is too large
|
||||
// we need to bump it down two points.
|
||||
if( anID == eSystemAttr_Font_Button ||
|
||||
anID == eSystemAttr_Font_Field ||
|
||||
anID == eSystemAttr_Font_List ||
|
||||
anID == eSystemAttr_Font_Widget ||
|
||||
anID == eSystemAttr_Font_Caption )
|
||||
fontSize -= 2;
|
||||
|
||||
// if we are below 1 then we have a problem we just make it 1
|
||||
if( fontSize < 1 )
|
||||
fontSize = 1;
|
||||
|
||||
aInfo->mFont->size = NSIntPointsToTwips( fontSize );
|
||||
}
|
||||
pr = 0;
|
||||
::XGetFontProperty(fontInfo, XA_ITALIC_ANGLE, &pr);
|
||||
if( pr )
|
||||
aInfo->mFont->style = NS_FONT_STYLE_ITALIC;
|
||||
|
||||
pr = 0;
|
||||
::XGetFontProperty(fontInfo, XA_UNDERLINE_THICKNESS, &pr);
|
||||
if( pr )
|
||||
aInfo->mFont->decorations = NS_FONT_DECORATION_UNDERLINE;
|
||||
|
||||
status = NS_OK;
|
||||
}
|
||||
break;
|
||||
} // switch
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче