Highly experimental, unstable code (for determining the
encoding of the default GUI font). #ifdeffed. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
aaef15bf82
commit
d06b34a73e
@ -31,6 +31,7 @@
|
|||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
#include <gdk/gdkprivate.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -190,8 +191,11 @@ wxFont::wxFont( const wxString& fontname, const wxFontData& fontdata )
|
|||||||
tn.GetNextToken(); // pixel size
|
tn.GetNextToken(); // pixel size
|
||||||
|
|
||||||
tmp = tn.GetNextToken(); // pointsize
|
tmp = tn.GetNextToken(); // pointsize
|
||||||
long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
|
if (tmp != wxT("*"))
|
||||||
M_FONTDATA->m_pointSize = (int)(num / 10);
|
{
|
||||||
|
long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
|
||||||
|
M_FONTDATA->m_pointSize = (int)(num / 10);
|
||||||
|
}
|
||||||
|
|
||||||
tn.GetNextToken(); // x-res
|
tn.GetNextToken(); // x-res
|
||||||
tn.GetNextToken(); // y-res
|
tn.GetNextToken(); // y-res
|
||||||
|
@ -15,9 +15,13 @@
|
|||||||
#include "wx/settings.h"
|
#include "wx/settings.h"
|
||||||
#include "wx/debug.h"
|
#include "wx/debug.h"
|
||||||
|
|
||||||
|
#include "wx/cmndata.h"
|
||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
#include <gdk/gdkprivate.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#define wxSYS_COLOUR_SCROLLBAR 0
|
#define wxSYS_COLOUR_SCROLLBAR 0
|
||||||
#define wxSYS_COLOUR_BACKGROUND 1
|
#define wxSYS_COLOUR_BACKGROUND 1
|
||||||
@ -228,7 +232,35 @@ wxFont wxSystemSettings::GetSystemFont( int index )
|
|||||||
case wxSYS_DEFAULT_GUI_FONT:
|
case wxSYS_DEFAULT_GUI_FONT:
|
||||||
{
|
{
|
||||||
if (!g_systemFont)
|
if (!g_systemFont)
|
||||||
g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
|
{
|
||||||
|
GdkFont *gdk_font = (GdkFont*) NULL;
|
||||||
|
GtkWidget *widget = gtk_button_new();
|
||||||
|
#if 0
|
||||||
|
GtkStyle *def = gtk_rc_get_style( widget );
|
||||||
|
if (def)
|
||||||
|
gdk_font = def->font;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
def = gtk_widget_get_default_style();
|
||||||
|
if (def)
|
||||||
|
gdk_font = def->font;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (gdk_font)
|
||||||
|
{
|
||||||
|
GSList *font_list = ((GdkFontPrivate*)gdk_font)->names;
|
||||||
|
char *name = (char*)font_list->data;
|
||||||
|
wxString font_string( name );
|
||||||
|
wxFontData font_data;
|
||||||
|
g_systemFont = new wxFont( font_string, font_data );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_widget_destroy( widget );
|
||||||
|
}
|
||||||
return *g_systemFont;
|
return *g_systemFont;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
#include <gdk/gdkprivate.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -190,8 +191,11 @@ wxFont::wxFont( const wxString& fontname, const wxFontData& fontdata )
|
|||||||
tn.GetNextToken(); // pixel size
|
tn.GetNextToken(); // pixel size
|
||||||
|
|
||||||
tmp = tn.GetNextToken(); // pointsize
|
tmp = tn.GetNextToken(); // pointsize
|
||||||
long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
|
if (tmp != wxT("*"))
|
||||||
M_FONTDATA->m_pointSize = (int)(num / 10);
|
{
|
||||||
|
long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10);
|
||||||
|
M_FONTDATA->m_pointSize = (int)(num / 10);
|
||||||
|
}
|
||||||
|
|
||||||
tn.GetNextToken(); // x-res
|
tn.GetNextToken(); // x-res
|
||||||
tn.GetNextToken(); // y-res
|
tn.GetNextToken(); // y-res
|
||||||
|
@ -15,9 +15,13 @@
|
|||||||
#include "wx/settings.h"
|
#include "wx/settings.h"
|
||||||
#include "wx/debug.h"
|
#include "wx/debug.h"
|
||||||
|
|
||||||
|
#include "wx/cmndata.h"
|
||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
#include <gdk/gdkprivate.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#define wxSYS_COLOUR_SCROLLBAR 0
|
#define wxSYS_COLOUR_SCROLLBAR 0
|
||||||
#define wxSYS_COLOUR_BACKGROUND 1
|
#define wxSYS_COLOUR_BACKGROUND 1
|
||||||
@ -228,7 +232,35 @@ wxFont wxSystemSettings::GetSystemFont( int index )
|
|||||||
case wxSYS_DEFAULT_GUI_FONT:
|
case wxSYS_DEFAULT_GUI_FONT:
|
||||||
{
|
{
|
||||||
if (!g_systemFont)
|
if (!g_systemFont)
|
||||||
g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
|
{
|
||||||
|
GdkFont *gdk_font = (GdkFont*) NULL;
|
||||||
|
GtkWidget *widget = gtk_button_new();
|
||||||
|
#if 0
|
||||||
|
GtkStyle *def = gtk_rc_get_style( widget );
|
||||||
|
if (def)
|
||||||
|
gdk_font = def->font;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
def = gtk_widget_get_default_style();
|
||||||
|
if (def)
|
||||||
|
gdk_font = def->font;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (gdk_font)
|
||||||
|
{
|
||||||
|
GSList *font_list = ((GdkFontPrivate*)gdk_font)->names;
|
||||||
|
char *name = (char*)font_list->data;
|
||||||
|
wxString font_string( name );
|
||||||
|
wxFontData font_data;
|
||||||
|
g_systemFont = new wxFont( font_string, font_data );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_widget_destroy( widget );
|
||||||
|
}
|
||||||
return *g_systemFont;
|
return *g_systemFont;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user