m_owner = (wxWindow *)NULL;
if (!window) return;
+
GtkWidget *widget = window->m_wxwindow;
if (!widget) return;
+
m_window = widget->window;
+
+ /* not realized ? */
+ if (!m_window)
+ {
+ /* force realization */
+ gtk_widget_realize( widget );
+ m_window = widget->window;
+ }
+
+ /* still not realized ? */
if (!m_window) return;
+
if (window->m_wxwindow)
m_cmap = gtk_widget_get_colormap( window->m_wxwindow );
else
long *descent, long *externalLeading,
wxFont *theFont, bool WXUNUSED(use16) )
{
- wxCHECK_RET( Ok(), _T("invalid window dc") );
-
wxFont fontToUse = m_font;
if (theFont) fontToUse = *theFont;
long wxWindowDC::GetCharWidth()
{
- wxCHECK_MSG( Ok(), 0, _T("invalid window dc") );
-
GdkFont *font = m_font.GetInternalFont( m_scaleY );
return long(gdk_string_width( font, "H" ) / m_scaleX);
}
long wxWindowDC::GetCharHeight()
{
- wxCHECK_MSG( Ok(), 0, _T("invalid window dc") );
-
GdkFont *font = m_font.GetInternalFont( m_scaleY );
return long((font->ascent + font->descent) / m_scaleY);
}
void wxWindowDC::SetFont( const wxFont &font )
{
- wxCHECK_RET( Ok(), _T("invalid window dc") );
-
m_font = font;
}