1. many, many, many warnings fixed (from HP-UX build log; 50% are still left)

2. attempt (failed) at compiling wxGTK with GTK+ 1.3.0


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-12-30 17:51:26 +00:00
parent ce6d2511f8
commit 13111b2ac8
36 changed files with 703 additions and 630 deletions

View File

@@ -19,7 +19,14 @@
#include <gdk/gdk.h>
#include <gdk/gdkprivate.h>
#include <gdk/gdkx.h>
// in GTK+ 1.3 gdk_root_parent was renamed into gdk_parent_root
#ifdef __WXGTK13__
#define gdk_root_parent gdk_parent_root
#else // GTK+ <= 1.2
// need to get the declaration of gdk_root_parent from private header
#include <gdk/gdkx.h>
#endif // GTK+ 1.3/1.2
//-----------------------------------------------------------------------------
// wxMask
@@ -52,7 +59,7 @@ wxMask::wxMask( const wxBitmap& bitmap )
wxMask::~wxMask()
{
if (m_bitmap)
if (m_bitmap)
gdk_bitmap_unref( m_bitmap );
}
@@ -64,14 +71,14 @@ bool wxMask::Create( const wxBitmap& bitmap,
gdk_bitmap_unref( m_bitmap );
m_bitmap = (GdkBitmap*) NULL;
}
wxImage image( bitmap );
if (!image.Ok()) return FALSE;
GdkWindow *parent = (GdkWindow*) &gdk_root_parent;
m_bitmap = gdk_pixmap_new( parent, image.GetWidth(), image.GetHeight(), 1 );
GdkGC *gc = gdk_gc_new( m_bitmap );
GdkColor color;
color.red = 65000;
color.green = 65000;
@@ -80,14 +87,14 @@ bool wxMask::Create( const wxBitmap& bitmap,
gdk_gc_set_foreground( gc, &color );
gdk_gc_set_fill( gc, GDK_SOLID );
gdk_draw_rectangle( m_bitmap, gc, TRUE, 0, 0, image.GetWidth(), image.GetHeight() );
unsigned char *data = image.GetData();
int index = 0;
unsigned char red = colour.Red();
unsigned char green = colour.Green();
unsigned char blue = colour.Blue();
GdkVisual *visual = gdk_visual_get_system();
int bpp = visual->depth;
if ((bpp == 16) && (visual->red_mask != 0xf800)) bpp = 15;
@@ -103,33 +110,33 @@ bool wxMask::Create( const wxBitmap& bitmap,
blue = blue & 0xfc;
green = green & 0xf8;
}
color.red = 0;
color.green = 0;
color.blue = 0;
color.pixel = 0;
gdk_gc_set_foreground( gc, &color );
for (int j = 0; j < image.GetHeight(); j++)
{
int start_x = -1;
int i;
for (i = 0; i < image.GetWidth(); i++)
{
if ((data[index] == red) &&
(data[index+1] == green) &&
(data[index+2] == blue))
{
if (start_x == -1)
start_x = i;
}
else
{
if (start_x != -1)
{
gdk_draw_line( m_bitmap, gc, start_x, j, i-1, j );
start_x = -1;
}
if ((data[index] == red) &&
(data[index+1] == green) &&
(data[index+2] == blue))
{
if (start_x == -1)
start_x = i;
}
else
{
if (start_x != -1)
{
gdk_draw_line( m_bitmap, gc, start_x, j, i-1, j );
start_x = -1;
}
}
index += 3;
}
@@ -387,39 +394,39 @@ void wxBitmap::SetMask( wxMask *mask )
wxBitmap wxBitmap::GetSubBitmap( const wxRect& rect) const
{
wxCHECK_MSG( Ok() &&
(rect.x >= 0) && (rect.y >= 0) &&
(rect.x+rect.width <= M_BMPDATA->m_width) && (rect.y+rect.height <= M_BMPDATA->m_height),
(rect.x >= 0) && (rect.y >= 0) &&
(rect.x+rect.width <= M_BMPDATA->m_width) && (rect.y+rect.height <= M_BMPDATA->m_height),
wxNullBitmap, wxT("invalid bitmap or bitmap region") );
wxBitmap ret( rect.width, rect.height, M_BMPDATA->m_bpp );
wxASSERT_MSG( ret.Ok(), wxT("GetSubBitmap error") );
if (ret.GetPixmap())
{
GdkGC *gc = gdk_gc_new( ret.GetPixmap() );
gdk_draw_pixmap( ret.GetPixmap(), gc, GetPixmap(), rect.x, rect.y, 0, 0, rect.width, rect.height );
gdk_gc_destroy( gc );
gdk_draw_pixmap( ret.GetPixmap(), gc, GetPixmap(), rect.x, rect.y, 0, 0, rect.width, rect.height );
gdk_gc_destroy( gc );
}
else
{
GdkGC *gc = gdk_gc_new( ret.GetBitmap() );
gdk_draw_bitmap( ret.GetBitmap(), gc, GetBitmap(), rect.x, rect.y, 0, 0, rect.width, rect.height );
gdk_gc_destroy( gc );
gdk_draw_bitmap( ret.GetBitmap(), gc, GetBitmap(), rect.x, rect.y, 0, 0, rect.width, rect.height );
gdk_gc_destroy( gc );
}
if (GetMask())
{
wxMask *mask = new wxMask;
GdkWindow *parent = (GdkWindow*) &gdk_root_parent;
mask->m_bitmap = gdk_pixmap_new( parent, rect.width, rect.height, 1 );
GdkGC *gc = gdk_gc_new( mask->m_bitmap );
gdk_draw_bitmap( mask->m_bitmap, gc, M_BMPDATA->m_mask->m_bitmap, 0, 0, rect.x, rect.y, rect.width, rect.height );
gdk_gc_destroy( gc );
ret.SetMask( mask );
gdk_draw_bitmap( mask->m_bitmap, gc, M_BMPDATA->m_mask->m_bitmap, 0, 0, rect.x, rect.y, rect.width, rect.height );
gdk_gc_destroy( gc );
ret.SetMask( mask );
}
return ret;
}

View File

@@ -463,7 +463,7 @@ void wxComboBox::Copy()
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
#if (GTK_MINOR_VERSION > 0)
#if defined(__WXGTK13__) || (GTK_MINOR_VERSION > 0)
gtk_editable_copy_clipboard( GTK_EDITABLE(entry) );
#else
gtk_editable_copy_clipboard( GTK_EDITABLE(entry), 0 );
@@ -475,7 +475,7 @@ void wxComboBox::Cut()
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
#if (GTK_MINOR_VERSION > 0)
#if defined(__WXGTK13__) || (GTK_MINOR_VERSION > 0)
gtk_editable_cut_clipboard( GTK_EDITABLE(entry) );
#else
gtk_editable_cut_clipboard( GTK_EDITABLE(entry), 0 );
@@ -487,7 +487,7 @@ void wxComboBox::Paste()
wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
#if (GTK_MINOR_VERSION > 0)
#if defined(__WXGTK13__) || (GTK_MINOR_VERSION > 0)
gtk_editable_paste_clipboard( GTK_EDITABLE(entry) );
#else
gtk_editable_paste_clipboard( GTK_EDITABLE(entry), 0 );

View File

@@ -792,13 +792,13 @@ void wxWindowDC::DoDrawText( const wxString &text, wxCoord x, wxCoord y )
properties (see wxXt implementation) */
if (m_font.GetUnderlined())
{
long width = gdk_string_width( font, text.mbc_str() );
long ul_y = y + font->ascent;
wxCoord width = gdk_string_width( font, text.mbc_str() );
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);
}
long w, h;
wxCoord w, h;
GetTextExtent (text, &w, &h);
CalcBoundingBox (x + w, y + h);
CalcBoundingBox (x, y);
@@ -821,8 +821,8 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y,
wxCHECK_RET( font, wxT("invalid font") );
// the size of the text
int w = gdk_string_width( font, text.mbc_str() );
int h = font->ascent + font->descent;
wxCoord w = gdk_string_width( font, text.mbc_str() );
wxCoord h = font->ascent + font->descent;
// draw the string normally
wxBitmap src(w, h);

View File

@@ -208,7 +208,7 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
int y = (int)gdk_event->y;
DrawFrame( widget, win->m_oldX, win->m_oldY, win->m_width, win->m_height );
gdk_pointer_ungrab ( GDK_CURRENT_TIME );
gdk_pointer_ungrab ( (guint32)GDK_CURRENT_TIME );
int org_x = 0;
int org_y = 0;
gdk_window_get_origin( widget->window, &org_x, &org_y );

View File

@@ -100,17 +100,27 @@ wxTextCtrl::wxTextCtrl()
m_modified = FALSE;
}
wxTextCtrl::wxTextCtrl( wxWindow *parent, wxWindowID id, const wxString &value,
const wxPoint &pos, const wxSize &size,
int style, const wxValidator& validator, const wxString &name )
wxTextCtrl::wxTextCtrl( wxWindow *parent,
wxWindowID id,
const wxString &value,
const wxPoint &pos,
const wxSize &size,
long style,
const wxValidator& validator,
const wxString &name )
{
m_modified = FALSE;
Create( parent, id, value, pos, size, style, validator, name );
}
bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
const wxPoint &pos, const wxSize &size,
int style, const wxValidator& validator, const wxString &name )
bool wxTextCtrl::Create( wxWindow *parent,
wxWindowID id,
const wxString &value,
const wxPoint &pos,
const wxSize &size,
long style,
const wxValidator& validator,
const wxString &name )
{
m_needParent = TRUE;
m_acceptsFocus = TRUE;
@@ -119,7 +129,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
!CreateBase( parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG( wxT("wxTextCtrl creation failed") );
return FALSE;
return FALSE;
}
@@ -247,7 +257,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
SetForegroundColour( parent->GetForegroundColour() );
m_cursor = wxCursor( wxCURSOR_IBEAM );
Show( TRUE );
return TRUE;
@@ -330,7 +340,7 @@ void wxTextCtrl::WriteText( const wxString &text )
{
/* this moves the cursor pos to behind the inserted text */
gint len = GTK_EDITABLE(m_text)->current_pos;
#if wxUSE_UNICODE
wxWX2MBbuf buf = text.mbc_str();
gtk_editable_insert_text( GTK_EDITABLE(m_text), buf, strlen(buf), &len );
@@ -781,13 +791,13 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event )
wxWindow *top_frame = m_parent;
while (top_frame->GetParent() && !(top_frame->IsTopLevel()))
top_frame = top_frame->GetParent();
GtkWindow *window = GTK_WINDOW(top_frame->m_widget);
if (window->default_widget)
GtkWindow *window = GTK_WINDOW(top_frame->m_widget);
if (window->default_widget)
{
gtk_widget_activate (window->default_widget);
return;
}
return;
}
}
key_event.Skip();
@@ -945,11 +955,11 @@ void wxTextCtrl::OnInternalIdle()
if (cursor.Ok())
{
GdkWindow *window = (GdkWindow*) NULL;
if (HasFlag(wxTE_MULTILINE))
if (HasFlag(wxTE_MULTILINE))
window = GTK_TEXT(m_text)->text_area;
else
window = GTK_ENTRY(m_text)->text_area;
if (window)
gdk_window_set_cursor( window, cursor.GetCursor() );

View File

@@ -944,8 +944,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
event.m_middleDown = (gdk_event->state & GDK_BUTTON2_MASK);
event.m_rightDown = (gdk_event->state & GDK_BUTTON3_MASK);
event.m_x = (long)gdk_event->x;
event.m_y = (long)gdk_event->y;
event.m_x = (wxCoord)gdk_event->x;
event.m_y = (wxCoord)gdk_event->y;
// Some control don't have their own X window and thus cannot get
// any events.
@@ -1071,8 +1071,8 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
event.m_leftDown = (gdk_event->state & GDK_BUTTON1_MASK);
event.m_middleDown = (gdk_event->state & GDK_BUTTON2_MASK);
event.m_rightDown = (gdk_event->state & GDK_BUTTON3_MASK);
event.m_x = (long)gdk_event->x;
event.m_y = (long)gdk_event->y;
event.m_x = (wxCoord)gdk_event->x;
event.m_y = (wxCoord)gdk_event->y;
// Some control don't have their own X window and thus cannot get
// any events.
@@ -1191,8 +1191,8 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
event.m_middleDown = (gdk_event->state & GDK_BUTTON2_MASK);
event.m_rightDown = (gdk_event->state & GDK_BUTTON3_MASK);
event.m_x = (long)gdk_event->x;
event.m_y = (long)gdk_event->y;
event.m_x = (wxCoord)gdk_event->x;
event.m_y = (wxCoord)gdk_event->y;
// Some control don't have their own X window and thus cannot get
// any events.
@@ -1406,8 +1406,8 @@ static gint gtk_window_enter_callback( GtkWidget *widget, GdkEventCrossing *gdk_
event.m_middleDown = (state & GDK_BUTTON2_MASK);
event.m_rightDown = (state & GDK_BUTTON3_MASK);
event.m_x = (long)x;
event.m_y = (long)y;
event.m_x = x;
event.m_y = y;
if (win->GetEventHandler()->ProcessEvent( event ))
{
@@ -1452,8 +1452,8 @@ static gint gtk_window_leave_callback( GtkWidget *widget, GdkEventCrossing *gdk_
event.m_middleDown = (state & GDK_BUTTON2_MASK);
event.m_rightDown = (state & GDK_BUTTON3_MASK);
event.m_x = (long)x;
event.m_y = (long)y;
event.m_x = x;
event.m_y = y;
if (win->GetEventHandler()->ProcessEvent( event ))
{