[SCM] guayadeque/master: Apply patch to make guayadeque at least build with wxWidgets 3.0.

alessio at users.alioth.debian.org alessio at users.alioth.debian.org
Tue Aug 12 11:39:20 UTC 2014


The following commit has been merged in the master branch:
commit 34218b10858282c0979401fa8da56931c5a76149
Author: Alessio Treglia <alessio at debian.org>
Date:   Tue Aug 12 12:09:38 2014 +0100

    Apply patch to make guayadeque at least build with wxWidgets 3.0.
    
    Closes: #749978
    Thanks: Olly Betts for the gret work.

diff --git a/debian/patches/05-wx3.0.patch b/debian/patches/05-wx3.0.patch
new file mode 100644
index 0000000..3e4d673
--- /dev/null
+++ b/debian/patches/05-wx3.0.patch
@@ -0,0 +1,584 @@
+Description: Fix to work with wxwidgets3.0
+ Based on partial patch by dam.
+Author: Olly Betts <olly at survex.com>
+Bug-Debian: http://bugs.debian.org/749978
+Forwarded: no
+Last-Update: 2014-08-11
+
+--- a/src/ListView.h
++++ b/src/ListView.h
+@@ -28,6 +28,7 @@
+ #include <wx/scrolwin.h>
+ #include <wx/vlbox.h>
+ #include <wx/settings.h>
++#include <wx/listbase.h>
+ 
+ class guListViewClient;
+ class guListViewHeader;
+@@ -330,7 +331,7 @@
+     size_t                  GetVisibleEnd( void ) const { return m_ListBox->GetVisibleEnd(); }
+     size_t                  GetFirstVisibleLine() const { return m_ListBox->GetFirstVisibleLine(); }
+     size_t                  GetLastVisibleLine() const { return m_ListBox->GetLastVisibleLine(); }
+-    bool                    ScrollLines( int lines ) { return m_ListBox->ScrollLines( lines ); }
++    bool                    ScrollLines( int lines ) { return m_ListBox->wxWindow::ScrollLines( lines ); }
+ 
+     bool                    ScrollToLine( size_t line ) { return m_ListBox->ScrollToLine( line ); }
+ 
+--- a/src/FileBrowser.cpp
++++ b/src/FileBrowser.cpp
+@@ -36,6 +36,7 @@
+ #include <wx/arrimpl.cpp>
+ #include <wx/artprov.h>
+ #include <wx/clipbrd.h>
++#include <wx/gtk/tglbtn.h>
+ 
+ WX_DEFINE_OBJARRAY(guFileItemArray);
+ 
+@@ -221,7 +222,7 @@
+ 
+ 	DirBtnSizer->Add( 0, 0, 1, wxEXPAND, 5 );
+ 
+-	m_ShowLibPathsBtn = new wxToggleBitmapButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
++	m_ShowLibPathsBtn = new wxBitmapToggleButton( this, wxID_ANY, guImage( guIMAGE_INDEX_tiny_library ), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
+     m_ShowLibPathsBtn->SetToolTip( ShowPaths == guFILEBROWSER_SHOWPATH_SYSTEM ?
+                           _( "See used locations" ) :
+                           _( "See system files" ) );
+--- a/src/FileBrowser.h
++++ b/src/FileBrowser.h
+@@ -36,6 +36,7 @@
+ #include <wx/sizer.h>
+ #include <wx/string.h>
+ #include <wx/tglbtn.h>
++#include <wx/gtk/tglbtn.h>
+ 
+ 
+ #define     guPANEL_FILEBROWSER_DIRCTRL             ( 1 << 0 )
+@@ -122,7 +123,7 @@
+     guMediaViewer *     m_MediaViewer;
+     guGenericDirCtrl *  m_DirCtrl;
+     bool                m_AddingFolder;
+-    wxToggleBitmapButton *  m_ShowLibPathsBtn;
++    wxBitmapToggleButton *  m_ShowLibPathsBtn;
+ 
+     void                OnShowLibPathsClick( wxCommandEvent& event );
+ 
+--- a/src/AuiNotebook.cpp
++++ b/src/AuiNotebook.cpp
+@@ -47,8 +47,8 @@
+     m_TextFgColor = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
+     m_SelTextFgColour = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
+ 
+-    m_disabled_close_bmp = guImage( guIMAGE_INDEX_tiny_close_normal );
+-    m_active_close_bmp = guImage( guIMAGE_INDEX_tiny_close_highlight );
++    m_disabledCloseBmp = guImage( guIMAGE_INDEX_tiny_close_normal );
++    m_activeCloseBmp = guImage( guIMAGE_INDEX_tiny_close_highlight );
+ }
+ 
+ // -------------------------------------------------------------------------------- //
+@@ -60,9 +60,9 @@
+ wxAuiTabArt * guAuiTabArt::Clone()
+ {
+     guAuiTabArt * art = new guAuiTabArt;
+-    art->SetNormalFont( m_normal_font );
+-    art->SetSelectedFont( m_selected_font );
+-    art->SetMeasuringFont( m_measuring_font );
++    art->SetNormalFont( m_normalFont );
++    art->SetSelectedFont( m_selectedFont );
++    art->SetMeasuringFont( m_measuringFont );
+ //    art->m_BgColor = m_BgColor;
+ //    art->m_SelBgColor = m_SelBgColor;
+ //    art->m_TextFgColor = m_TextFgColor;
+@@ -75,7 +75,7 @@
+     // draw background
+    //wxColor top_color      = m_base_colour;
+    wxColor top_color      = m_BgColor;
+-   wxColor bottom_color   = wxAuiStepColour( m_base_colour, 120 );
++   wxColor bottom_color   = wxAuiStepColour( m_baseColour, 120 );
+    wxRect r;
+ 
+    if( m_flags & wxAUI_NB_BOTTOM )
+@@ -88,7 +88,7 @@
+    dc.GradientFillLinear( r, top_color, bottom_color, wxNORTH );
+ 
+    // draw base lines
+-   dc.SetPen( m_border_pen );
++   dc.SetPen( m_borderPen );
+    int y = rect.GetHeight();
+    int w = rect.GetWidth();
+ 
+@@ -120,10 +120,10 @@
+     if( caption.empty() )
+         caption = wxT("Xj");
+ 
+-    dc.SetFont(m_selected_font);
++    dc.SetFont(m_selectedFont);
+     dc.GetTextExtent(caption, &selected_textx, &selected_texty);
+ 
+-    dc.SetFont(m_normal_font);
++    dc.SetFont(m_normalFont);
+     dc.GetTextExtent(caption, &normal_textx, &normal_texty);
+ 
+     // figure out the size of the tab
+@@ -135,7 +135,7 @@
+                                  close_button_state,
+                                  x_extent);
+ 
+-    wxCoord tab_height = m_tab_ctrl_height - 1;
++    wxCoord tab_height = m_tabCtrlHeight - 1;
+     if( !page.active )
+         tab_height -= 2;
+     wxCoord tab_width = tab_size.x;
+@@ -150,12 +150,12 @@
+ 
+     if( page.active )
+     {
+-        dc.SetFont( m_selected_font );
++        dc.SetFont( m_selectedFont );
+         texty = selected_texty;
+     }
+     else
+     {
+-        dc.SetFont(m_normal_font);
++        dc.SetFont(m_normalFont);
+         texty = normal_texty;
+     }
+ 
+@@ -221,7 +221,7 @@
+ //    }
+ 
+     // draw tab outline
+-    dc.SetPen( m_border_pen );
++    dc.SetPen( m_borderPen );
+     dc.SetBrush( * wxTRANSPARENT_BRUSH );
+     dc.DrawPolygon( WXSIZEOF( border_points ), border_points );
+ 
+@@ -230,7 +230,7 @@
+     if( page.active )
+     {
+         if( m_flags & wxAUI_NB_BOTTOM )
+-            dc.SetPen( wxPen( wxColour( wxAuiStepColour( m_base_colour, 170 ) ) ) );
++            dc.SetPen( wxPen( wxColour( wxAuiStepColour( m_baseColour, 170 ) ) ) );
+         // TODO: else if (m_flags &wxAUI_NB_LEFT) {}
+         // TODO: else if (m_flags &wxAUI_NB_RIGHT) {}
+         else //for wxAUI_NB_TOP
+@@ -246,7 +246,7 @@
+     int close_button_width = 0;
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        close_button_width = m_active_close_bmp.GetWidth();
++        close_button_width = m_activeCloseBmp.GetWidth();
+     }
+ 
+ 
+@@ -284,12 +284,12 @@
+     // draw close button if necessary
+     if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN)
+     {
+-        wxBitmap bmp = m_disabled_close_bmp;
++        wxBitmap bmp = m_disabledCloseBmp;
+ 
+         if (close_button_state == wxAUI_BUTTON_STATE_HOVER ||
+             close_button_state == wxAUI_BUTTON_STATE_PRESSED)
+         {
+-            bmp = m_active_close_bmp;
++            bmp = m_activeCloseBmp;
+         }
+ 
+         wxRect rect(tab_x + tab_width - close_button_width - 1,
+@@ -367,14 +367,14 @@
+ // UpdateTabCtrlHeight() does the actual tab resizing. It's meant
+ // to be used interally
+ // -------------------------------------------------------------------------------- //
+-void guAuiNotebook::UpdateTabCtrlHeight()
++bool guAuiNotebook::UpdateTabCtrlHeight()
+ {
+     // get the tab ctrl height we will use
+     int height = CalculateTabCtrlHeight();
+ 
+     wxAuiTabArt* art = m_tabs.GetArtProvider();
+ 
+-    m_tab_ctrl_height = height;
++    m_tabCtrlHeight = height;
+ 
+     wxAuiPaneInfoArray& all_panes = m_mgr.GetAllPanes();
+     size_t i, pane_count = all_panes.GetCount();
+@@ -385,10 +385,12 @@
+             continue;
+         wxTabFrame* tab_frame = (wxTabFrame*)pane.window;
+         wxAuiTabCtrl* tabctrl = tab_frame->m_tabs;
+-        tab_frame->SetTabCtrlHeight(m_tab_ctrl_height);
++        tab_frame->SetTabCtrlHeight(m_tabCtrlHeight);
+         tabctrl->SetArtProvider(art->Clone());
+         tab_frame->DoSizing();
+     }
++
++    return true;
+ }
+ 
+ // -------------------------------------------------------------------------------- //
+@@ -447,7 +449,7 @@
+             if( p )
+                 tabs += wxT( "," );
+ 
+-            if( ( int ) page_idx == m_curpage )
++            if( ( int ) page_idx == m_curPage )
+                 tabs += wxT( "*" );
+             else if( ( int ) p == tabframe->m_tabs->GetActivePage() )
+                 tabs += wxT( "+" );
+@@ -501,12 +503,12 @@
+         // create a new tab frame
+         wxTabFrame * new_tabs = new wxTabFrame;
+         new_tabs->m_tabs = new wxAuiTabCtrl( this,
+-                                    m_tab_id_counter++,
++                                    m_tabIdCounter++,
+                                     wxDefaultPosition,
+                                     wxDefaultSize,
+                                     wxNO_BORDER | wxWANTS_CHARS );
+         new_tabs->m_tabs->SetArtProvider( m_tabs.GetArtProvider()->Clone() );
+-        new_tabs->SetTabCtrlHeight( m_tab_ctrl_height );
++        new_tabs->SetTabCtrlHeight( m_tabCtrlHeight );
+         new_tabs->m_tabs->SetFlags( m_flags );
+         wxAuiTabCtrl * dest_tabs = new_tabs->m_tabs;
+ 
+@@ -555,7 +557,7 @@
+     m_mgr.LoadPerspective( frames );
+ 
+     // Force refresh of selection
+-    m_curpage = -1;
++    m_curPage = -1;
+     SetSelection( sel_page );
+ 
+     return true;
+--- a/src/AuiNotebook.h
++++ b/src/AuiNotebook.h
+@@ -205,7 +205,7 @@
+ 
+     virtual ~guAuiNotebook();
+ 
+-    virtual void UpdateTabCtrlHeight();
++    virtual bool UpdateTabCtrlHeight();
+ 
+     wxString SavePerspective( void );
+  	bool LoadPerspective( const wxString &layout );
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -120,7 +120,7 @@
+ SET( ADD_WXSQLITE_SUPPORT 0 )
+ PKG_CHECK_MODULES( LIBWXSQLITE3 wxsqlite3 )
+ IF( NOT LIBWXSQLITE3_LIBRARIES )
+-	PKG_CHECK_MODULES( LIBWXSQLITE3 wxsqlite3-2.8 )
++	PKG_CHECK_MODULES( LIBWXSQLITE3 wxsqlite3-3.0 )
+ 	IF( NOT LIBWXSQLITE3_LIBRARIES )
+ 		ADD_DEFINITIONS(-DADD_WXSQLITE_SUPPORT=1)
+ 		SET( ADD_WXSQLITE_SUPPORT 1 )
+--- a/src/LastFMPanel.cpp
++++ b/src/LastFMPanel.cpp
+@@ -2812,7 +2812,7 @@
+     if( event.GetKeyCode() == WXK_RETURN )
+     {
+         wxCommandEvent CmdEvent( wxEVT_COMMAND_TEXT_ENTER );
+-        m_ArtistTextCtrl->AddPendingEvent( CmdEvent );
++        m_ArtistTextCtrl->GetEventHandler()->AddPendingEvent( CmdEvent );
+         return;
+     }
+     event.Skip();
+--- a/src/MainApp.cpp
++++ b/src/MainApp.cpp
+@@ -360,8 +360,7 @@
+         if( LangInfo )
+         {
+             guLogError( wxT( "Could not initialize the translations engine for ( %s )" ), LangInfo->CanonicalName.c_str() );
+-            wxStandardPaths StdPaths;
+-            guLogError( wxT( "Locale directory '%s'" ), StdPaths.GetLocalizedResourcesDir( LangInfo->CanonicalName, wxStandardPaths::ResourceCat_Messages).c_str() );
++            guLogError( wxT( "Locale directory '%s'" ), wxStandardPaths::Get().GetLocalizedResourcesDir( LangInfo->CanonicalName, wxStandardPaths::ResourceCat_Messages).c_str() );
+         }
+         else
+         {
+--- a/src/PLSoListBox.cpp
++++ b/src/PLSoListBox.cpp
+@@ -179,7 +179,7 @@
+     if( event.GetKeyCode() == WXK_DELETE )
+     {
+         wxCommandEvent evt( wxEVT_COMMAND_MENU_SELECTED, ID_TRACKS_DELETE );
+-        GetParent()->AddPendingEvent( evt );
++        GetParent()->GetEventHandler()->AddPendingEvent( evt );
+         return;
+     }
+ 
+--- a/src/StatusBar.cpp
++++ b/src/StatusBar.cpp
+@@ -521,7 +521,7 @@
+         dc.DrawLine( rect.x + rect.width, rect.y + 1, rect.x + rect.width, rect.y + rect.height - 1 );
+     }
+ 
+-    DrawFieldText( dc, i );
++    DrawFieldText( dc, rect, i, rect.height - 2 );
+ }
+ 
+ // -------------------------------------------------------------------------------- //
+--- a/src/TagInfo.cpp
++++ b/src/TagInfo.cpp
+@@ -2453,7 +2453,7 @@
+ }
+ 
+ // -------------------------------------------------------------------------------- //
+-bool guTagSetLyrics( const wxString &filename, wxString &lyrics )
++bool guTagSetLyrics( const wxString &filename, const wxString &lyrics )
+ {
+     guMainFrame * MainFrame = ( guMainFrame * ) wxTheApp->GetTopWindow();
+ 
+--- a/src/TagInfo.h
++++ b/src/TagInfo.h
+@@ -329,7 +329,7 @@
+ bool        guTagSetPicture( const wxString &filename, wxImage * picture );
+ bool        guTagSetPicture( const wxString &filename, const wxString &imagefile );
+ wxString    guTagGetLyrics( const wxString &filename );
+-bool        guTagSetLyrics( const wxString &filename, wxString &lyrics );
++bool        guTagSetLyrics( const wxString &filename, const wxString &lyrics );
+ //void        guUpdateTrack( const guTrack &track, const wxImage * image, const wxString &lyrics, const int &changedflags );
+ void        guUpdateTracks( const guTrackArray &tracks, const guImagePtrArray &images,
+                     const wxArrayString &lyrics, const wxArrayInt &changedflags );
+--- a/src/PlayListAppend.cpp
++++ b/src/PlayListAppend.cpp
+@@ -128,7 +128,7 @@
+ int guPlayListAppend::GetSelectedPlayList( void )
+ {
+     int Selection = m_PlayListComboBox->GetSelection();
+-    if( Selection == wxNOT_FOUND && !m_PlayListComboBox->IsEmpty() )
++    if( Selection == wxNOT_FOUND && m_PlayListComboBox->GetCount() != 0 )
+     {
+         Selection = FindPlayListItem( m_PlayListItems, m_PlayListComboBox->GetValue().Lower().Trim().Trim( false ) );
+     }
+--- a/src/AlbumBrowser.cpp
++++ b/src/AlbumBrowser.cpp
+@@ -2308,7 +2308,7 @@
+                         // Its a LeftUp event
+                         event.SetEventType( wxEVT_LEFT_DOWN );
+                         event.m_leftDown = true;
+-                        m_BigCoverTracksListBox->AddPendingEvent( event );
++                        m_BigCoverTracksListBox->GetEventHandler()->AddPendingEvent( event );
+                     }
+                     return;
+                 }
+--- a/src/AuiDockArt.cpp
++++ b/src/AuiDockArt.cpp
+@@ -23,7 +23,34 @@
+ #include "Images.h"
+ #include "Utils.h"
+ 
+-extern wxString wxAuiChopText( wxDC &dc, const wxString &text, int max_size );
++wxString wxAuiChopText(wxDC& dc, const wxString& text, int max_size)
++{
++    wxCoord x,y;
++
++    // first check if the text fits with no problems
++    dc.GetTextExtent(text, &x, &y);
++    if (x <= max_size)
++        return text;
++
++    size_t i, len = text.Length();
++    size_t last_good_length = 0;
++    for (i = 0; i < len; ++i)
++    {
++        wxString s = text.Left(i);
++        s += wxT("...");
++
++        dc.GetTextExtent(s, &x, &y);
++        if (x > max_size)
++            break;
++
++        last_good_length = i;
++    }
++
++    wxString ret = text.Left(last_good_length);
++    ret += wxT("...");
++    return ret;
++}
++
+ 
+ // -------------------------------------------------------------------------------- //
+ guAuiDockArt::guAuiDockArt() : wxAuiDefaultDockArt()
+@@ -42,12 +69,12 @@
+ // -------------------------------------------------------------------------------- //
+ void guAuiDockArt::DrawCaptionBackground( wxDC &dc, const wxRect &rect, bool active )
+ {
+-    if( m_gradient_type == wxAUI_GRADIENT_NONE )
++    if( m_gradientType == wxAUI_GRADIENT_NONE )
+     {
+         if( active )
+-            dc.SetBrush( wxBrush( m_active_caption_colour ) );
++            dc.SetBrush( wxBrush( m_activeCaptionColour ) );
+         else
+-            dc.SetBrush( wxBrush( m_inactive_caption_colour ) );
++            dc.SetBrush( wxBrush( m_inactiveCaptionColour ) );
+ 
+         dc.DrawRectangle( rect.x, rect.y, rect.width, rect.height );
+     }
+@@ -58,15 +85,15 @@
+             // on mac the gradients are expected to become darker from the top
+ #ifdef __WXMAC__
+             DrawGradientRectangle( dc, rect,
+-                                 m_active_caption_colour,
+-                                 m_active_caption_gradient_colour,
+-                                 m_gradient_type );
++                                 m_activeCaptionColour,
++                                 m_activeCaptionGradientColour,
++                                 m_gradientType );
+ #else
+             // on other platforms, active gradients become lighter at the top
+             DrawGradientRectangle( dc, rect,
+-                                 m_active_caption_colour,
+-                                 m_active_caption_gradient_colour,
+-                                 m_gradient_type );
++                                 m_activeCaptionColour,
++                                 m_activeCaptionGradientColour,
++                                 m_gradientType );
+ #endif
+         }
+         else
+@@ -74,20 +101,20 @@
+ #ifdef __WXMAC__
+             // on mac the gradients are expected to become darker from the top
+             DrawGradientRectangle( dc, rect,
+-                                 m_inactive_caption_colour,
+-                                 m_inactive_caption_gradient_colour,
+-                                 m_gradient_type );
++                                 m_inactiveCaptionColour,
++                                 m_inactiveCaptionGradientColour,
++                                 m_gradientType );
+ #else
+             // on other platforms, inactive gradients become lighter at the bottom
+             DrawGradientRectangle( dc, rect,
+-                                 m_inactive_caption_colour,
+-                                 m_inactive_caption_gradient_colour,
+-                                 m_gradient_type );
++                                 m_inactiveCaptionColour,
++                                 m_inactiveCaptionGradientColour,
++                                 m_gradientType );
+ #endif
+         }
+     }
+ 
+-    dc.SetPen( m_border_pen );
++    dc.SetPen( m_borderPen );
+     int y = rect.y + rect.height - 1;
+     dc.DrawLine( rect.x, y, rect.x + rect.width, y );
+ }
+@@ -97,11 +124,11 @@
+ void guAuiDockArt::DrawCaption( wxDC &dc, wxWindow * window, const wxString &text, const wxRect &rect, wxAuiPaneInfo &pane )
+ {
+     dc.SetPen( * wxTRANSPARENT_PEN );
+-    dc.SetFont( m_caption_font );
++    dc.SetFont( m_captionFont );
+ 
+     DrawCaptionBackground( dc, rect, bool( pane.state & wxAuiPaneInfo::optionActive ) );
+ 
+-    dc.SetTextForeground( pane.state & wxAuiPaneInfo::optionActive ? m_active_caption_text_colour : m_inactive_caption_text_colour );
++    dc.SetTextForeground( pane.state & wxAuiPaneInfo::optionActive ? m_activeCaptionTextColour : m_inactiveCaptionTextColour );
+ 
+     wxCoord w, h;
+     dc.GetTextExtent( wxT( "ABCDEFHXfgkj" ), &w, &h );
+@@ -110,11 +137,11 @@
+     clip_rect.width -= 3; // text offset
+     clip_rect.width -= 2; // button padding
+     if( pane.HasCloseButton() )
+-        clip_rect.width -= m_button_size;
++        clip_rect.width -= m_buttonSize;
+     if( pane.HasPinButton() )
+-        clip_rect.width -= m_button_size;
++        clip_rect.width -= m_buttonSize;
+     if( pane.HasMaximizeButton() )
+-        clip_rect.width -= m_button_size;
++        clip_rect.width -= m_buttonSize;
+ 
+     wxString draw_text = wxAuiChopText( dc, text, clip_rect.width );
+ 
+--- a/src/SmartMode.cpp
++++ b/src/SmartMode.cpp
+@@ -500,7 +500,7 @@
+ int guGenSmartPlaylist::GetPlayListId( void )
+ {
+     int Selection = m_SaveToComboBox->GetSelection();
+-    if( Selection == wxNOT_FOUND && !m_SaveToComboBox->IsEmpty() )
++    if( Selection == wxNOT_FOUND && m_SaveToComboBox->GetCount() != 0 )
+     {
+         Selection = FindPlayListItem( &m_Playlists, m_SaveToComboBox->GetValue().Lower().Trim().Trim( false ) );
+     }
+--- a/src/StaticBitmap.cpp
++++ b/src/StaticBitmap.cpp
+@@ -70,7 +70,7 @@
+     {
+         wxCommandEvent event( guStaticBitmapMouseOverEvent, guEVT_STATICBITMAP_MOUSE_OVER );
+         event.SetEventObject( this );
+-        m_Bitmap->AddPendingEvent( event );
++        m_Bitmap->GetEventHandler()->AddPendingEvent( event );
+     }
+ }
+ 
+--- a/src/Equalizer.cpp
++++ b/src/Equalizer.cpp
+@@ -537,7 +537,7 @@
+ {
+     int Sel = m_PresetComboBox->GetSelection();
+ 
+-    m_SaveButton->Enable( !m_PresetComboBox->IsEmpty() &&
++    m_SaveButton->Enable( m_PresetComboBox->GetCount() != 0 &&
+                           ( m_BandChanged || !FindPresetName( m_PresetComboBox->GetValue(), m_EQPresets ) ) );
+ 
+     m_DelButton->Enable( Sel != wxNOT_FOUND );
+--- a/src/LocationPanel.cpp
++++ b/src/LocationPanel.cpp
+@@ -161,7 +161,52 @@
+     return 1;
+ }
+ 
+-extern wxColor wxAuiStepColour( const wxColor & c, int percent );
++unsigned char wxAuiBlendColour(unsigned char fg, unsigned char bg, double alpha)
++{
++    double result = bg + (alpha * (fg - bg));
++    if (result < 0.0)
++        result = 0.0;
++    if (result > 255)
++        result = 255;
++    return (unsigned char)result;
++}
++
++wxColor wxAuiStepColour(const wxColor& c, int ialpha)
++{
++    if (ialpha == 100)
++        return c;
++
++    unsigned char r = c.Red(),
++                  g = c.Green(),
++                  b = c.Blue();
++    unsigned char bg;
++
++    // ialpha is 0..200 where 0 is completely black
++    // and 200 is completely white and 100 is the same
++    // convert that to normal alpha 0.0 - 1.0
++    ialpha = wxMin(ialpha, 200);
++    ialpha = wxMax(ialpha, 0);
++    double alpha = ((double)(ialpha - 100.0))/100.0;
++
++    if (ialpha > 100)
++    {
++        // blend with white
++        bg = 255;
++        alpha = 1.0 - alpha;  // 0 = transparent fg; 1 = opaque fg
++    }
++    else
++    {
++        // blend with black
++        bg = 0;
++        alpha += 1.0;         // 0 = transparent fg; 1 = opaque fg
++    }
++
++    r = wxAuiBlendColour(r, bg, alpha);
++    g = wxAuiBlendColour(g, bg, alpha);
++    b = wxAuiBlendColour(b, bg, alpha);
++
++    return wxColour(r, g, b);
++}
+ 
+ // -------------------------------------------------------------------------------- //
+ void guLocationTreeCtrl::ReloadItems( const bool loadstate )
diff --git a/debian/patches/series b/debian/patches/series
index 1aa664d..239ca97 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 03-curl_headers_location.patch
+05-wx3.0.patch

-- 
guayadeque packaging



More information about the pkg-multimedia-commits mailing list