Nuke GTK1 from src/gtk

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mart Raudsepp
2006-01-22 20:29:17 +00:00
parent 8fc856de1f
commit 68567a967b
36 changed files with 32 additions and 2911 deletions

View File

@@ -92,7 +92,6 @@ void gdk_wx_draw_bitmap(GdkDrawable *drawable,
wxCHECK_RET( src, _T("NULL src in gdk_wx_draw_bitmap") );
wxCHECK_RET( gc, _T("NULL gc in gdk_wx_draw_bitmap") );
#ifdef __WXGTK20__
gint src_width, src_height;
gdk_drawable_get_size(src, &src_width, &src_height);
if (width == -1) width = src_width;
@@ -106,33 +105,6 @@ void gdk_wx_draw_bitmap(GdkDrawable *drawable,
width, height,
0, 0,
1 );
#else
GdkWindowPrivate *drawable_private;
GdkWindowPrivate *src_private;
GdkGCPrivate *gc_private;
drawable_private = (GdkWindowPrivate*) drawable;
src_private = (GdkWindowPrivate*) src;
if (drawable_private->destroyed || src_private->destroyed)
return;
gint src_width = src_private->width;
gint src_height = src_private->height;
gc_private = (GdkGCPrivate*) gc;
if (width == -1) width = src_width;
if (height == -1) height = src_height;
XCopyPlane( drawable_private->xdisplay,
src_private->xwindow,
drawable_private->xwindow,
gc_private->xgc,
xsrc, ysrc,
width, height,
xdest, ydest,
1 );
#endif
}
//-----------------------------------------------------------------------------
@@ -288,11 +260,9 @@ wxWindowDC::wxWindowDC()
m_isMemDC = false;
m_isScreenDC = false;
m_owner = (wxWindow *)NULL;
#ifdef __WXGTK20__
m_context = (PangoContext *)NULL;
m_layout = (PangoLayout *)NULL;
m_fontdesc = (PangoFontDescription *)NULL;
#endif
}
wxWindowDC::wxWindowDC( wxWindow *window )
@@ -322,11 +292,9 @@ wxWindowDC::wxWindowDC( wxWindow *window )
wxASSERT_MSG( widget, wxT("DC needs a widget") );
#ifdef __WXGTK20__
m_context = window->GtkGetPangoDefaultContext();
m_layout = pango_layout_new( m_context );
m_fontdesc = pango_font_description_copy( widget->style->font_desc );
#endif
GtkPizza *pizza = GTK_PIZZA( widget );
m_window = pizza->bin_window;
@@ -358,12 +326,10 @@ wxWindowDC::~wxWindowDC()
{
Destroy();
#ifdef __WXGTK20__
if (m_layout)
g_object_unref( G_OBJECT( m_layout ) );
if (m_fontdesc)
pango_font_description_free( m_fontdesc );
#endif
}
void wxWindowDC::SetUpDC()
@@ -1184,7 +1150,6 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
// drawing a mono-bitmap (XBitmap) we use the current text GC
if (is_mono)
{
#ifdef __WXGTK20__
GdkPixmap *bitmap2 = gdk_pixmap_new( wxGetRootWindow()->window, ww, hh, -1 );
GdkGC *gc = gdk_gc_new( bitmap2 );
gdk_gc_set_foreground( gc, m_textForegroundColour.GetColor() );
@@ -1195,9 +1160,6 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
gdk_bitmap_unref( bitmap2 );
gdk_gc_unref( gc );
#else
gdk_wx_draw_bitmap( m_window, m_textGC, use_bitmap.GetBitmap(), 0, 0, xx, yy, -1, -1 );
#endif
}
else
{
@@ -1442,7 +1404,6 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest,
if (is_mono)
{
#ifdef __WXGTK20__
GdkPixmap *bitmap = gdk_pixmap_new( wxGetRootWindow()->window, bm_ww, bm_hh, -1 );
GdkGC *gc = gdk_gc_new( bitmap );
gdk_gc_set_foreground( gc, m_textForegroundColour.GetColor() );
@@ -1453,10 +1414,6 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest,
gdk_bitmap_unref( bitmap );
gdk_gc_unref( gc );
#else
// was: gdk_wx_draw_bitmap( m_window, m_textGC, use_bitmap.GetBitmap(), xsrc, ysrc, xx, yy, ww, hh );
gdk_wx_draw_bitmap( m_window, m_textGC, use_bitmap.GetBitmap(), xsrc, ysrc, cx, cy, cw, ch );
#endif
}
else
{
@@ -1529,16 +1486,9 @@ void wxWindowDC::DoDrawText( const wxString &text, wxCoord x, wxCoord y )
if (text.empty()) return;
#ifndef __WXGTK20__
GdkFont *font = m_font.GetInternalFont( m_scaleY );
wxCHECK_RET( font, wxT("invalid font") );
#endif
x = XLOG2DEV(x);
y = YLOG2DEV(y);
#ifdef __WXGTK20__
wxCHECK_RET( m_context, wxT("no Pango context") );
wxCHECK_RET( m_layout, wxT("no Pango layout") );
wxCHECK_RET( m_fontdesc, wxT("no Pango font description") );
@@ -1622,29 +1572,6 @@ void wxWindowDC::DoDrawText( const wxString &text, wxCoord x, wxCoord y )
wxCoord width = w;
wxCoord height = h;
#else // GTK+ 1.x
wxCoord width = gdk_string_width( font, text.mbc_str() );
wxCoord height = font->ascent + font->descent;
if ( m_backgroundMode == wxSOLID )
{
gdk_gc_set_foreground( m_textGC, m_textBackgroundColour.GetColor() );
gdk_draw_rectangle( m_window, m_textGC, TRUE, x, y, width, height );
gdk_gc_set_foreground( m_textGC, m_textForegroundColour.GetColor() );
}
gdk_draw_string( m_window, font, m_textGC, x, y + font->ascent, text.mbc_str() );
/* CMB 17/7/98: simple underline: ignores scaling and underlying
X font's XA_UNDERLINE_POSITION and XA_UNDERLINE_THICKNESS
properties (see wxXt implementation) */
if (m_font.GetUnderlined())
{
wxCoord ul_y = y + font->ascent;
if (font->descent > 0) ul_y++;
gdk_draw_line( m_window, m_textGC, x, ul_y, x + width, ul_y);
}
#endif // GTK+ 2.0/1.x
width = wxCoord(width / m_scaleX);
height = wxCoord(height / m_scaleY);
CalcBoundingBox (x + width, y + height);
@@ -1671,19 +1598,9 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y,
wxCoord w;
wxCoord h;
#ifdef __WXGTK20__
// implement later without GdkFont for GTK 2.0
// TODO: implement later without GdkFont for GTK 2.0
GetTextExtent(text, &w, &h, NULL,NULL, &m_font);
#else
GdkFont *font = m_font.GetInternalFont( m_scaleY );
wxCHECK_RET( font, wxT("invalid font") );
// the size of the text
w = gdk_string_width( font, text.mbc_str() );
h = font->ascent + font->descent;
#endif
// draw the string normally
wxBitmap src(w, h);
wxMemoryDC dc;
@@ -1786,7 +1703,6 @@ void wxWindowDC::DoGetTextExtent(const wxString &string,
return;
}
#ifdef __WXGTK20__
// Set new font description
if (theFont)
pango_layout_set_font_description( m_layout, theFont->GetNativeFontInfo()->description );
@@ -1832,52 +1748,22 @@ void wxWindowDC::DoGetTextExtent(const wxString &string,
// Reset old font description
if (theFont)
pango_layout_set_font_description( m_layout, m_fontdesc );
#else // GTK+ 1.x
wxFont fontToUse = m_font;
if (theFont)
fontToUse = *theFont;
GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
if ( !font )
return;
if (width)
*width = wxCoord(gdk_string_width( font, string.mbc_str() ) / m_scaleX);
if (height)
*height = wxCoord((font->ascent + font->descent) / m_scaleY);
if (descent)
*descent = wxCoord(font->descent / m_scaleY);
#endif // GTK+ 2/1
}
wxCoord wxWindowDC::GetCharWidth() const
{
#ifdef __WXGTK20__
pango_layout_set_text( m_layout, "H", 1 );
int w;
pango_layout_get_pixel_size( m_layout, &w, NULL );
return w;
#else
GdkFont *font = m_font.GetInternalFont( m_scaleY );
wxCHECK_MSG( font, -1, wxT("invalid font") );
return wxCoord(gdk_string_width( font, "H" ) / m_scaleX);
#endif
}
wxCoord wxWindowDC::GetCharHeight() const
{
#ifdef __WXGTK20__
pango_layout_set_text( m_layout, "H", 1 );
int h;
pango_layout_get_pixel_size( m_layout, NULL, &h );
return h;
#else
GdkFont *font = m_font.GetInternalFont( m_scaleY );
wxCHECK_MSG( font, -1, wxT("invalid font") );
return wxCoord((font->ascent + font->descent) / m_scaleY);
#endif
}
void wxWindowDC::Clear()
@@ -1922,7 +1808,6 @@ void wxWindowDC::SetFont( const wxFont &font )
{
m_font = font;
#ifdef __WXGTK20__
if (m_font.Ok())
{
if (m_fontdesc)
@@ -1951,7 +1836,6 @@ void wxWindowDC::SetFont( const wxFont &font )
pango_layout_set_font_description( m_layout, m_fontdesc );
}
#endif
}
void wxWindowDC::SetPen( const wxPen &pen )
@@ -2433,13 +2317,7 @@ wxSize wxWindowDC::GetPPI() const
int wxWindowDC::GetDepth() const
{
#ifdef __WXGTK20__
return gdk_drawable_get_depth(m_window);
#else
wxFAIL_MSG(wxT("not implemented"));
return -1;
#endif
}