From 29315df024251850832583f73e67e515dae10830 Mon Sep 17 00:00:00 2001 From: wh11204 Date: Mon, 7 Feb 2022 15:55:51 +0000 Subject: [PATCH] - Fix compilation of notebookstyles.cpp with wxWidgets-master. This change allows testing C::B with the upcoming wx3.1.6. git-svn-id: https://svn.code.sf.net/p/codeblocks/code/trunk@12707 2a5c6006-c6dd-42ca-98ab-0921f2732cef --- src/src/notebookstyles.cpp | 52 +++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/src/src/notebookstyles.cpp b/src/src/notebookstyles.cpp index d53edcaed..51fef6e49 100644 --- a/src/src/notebookstyles.cpp +++ b/src/src/notebookstyles.cpp @@ -124,14 +124,23 @@ void NbStyleVC71::DrawTab(wxDC& dc, wxWindow* wnd, if (page.bitmap.IsOk()) { bitmap_offset = tab_x + 8; - // draw bitmap +#if wxCHECK_VERSION(3, 1, 6) + const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd)); + dc.DrawBitmap(bmp, + bitmap_offset, + drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2), + true); + + text_offset = bitmap_offset + bmp.GetWidth(); +#else dc.DrawBitmap(page.bitmap, bitmap_offset, drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2), true); text_offset = bitmap_offset + page.bitmap.GetWidth(); +#endif text_offset += 3; // bitmap padding } else @@ -161,13 +170,23 @@ void NbStyleVC71::DrawTab(wxDC& dc, wxWindow* wnd, // draw 'x' on tab (if enabled) if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN) { - int close_button_width = m_activeCloseBmp.GetWidth(); - wxBitmap bmp = m_disabledCloseBmp; + wxBitmap bmp; +#if wxCHECK_VERSION(3, 1, 6) + if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) || + (close_button_state == wxAUI_BUTTON_STATE_PRESSED)) + bmp = m_activeCloseBmp.GetBitmapFor(wnd); + else + bmp = m_disabledCloseBmp.GetBitmapFor(wnd); +#else if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) || (close_button_state == wxAUI_BUTTON_STATE_PRESSED)) bmp = m_activeCloseBmp; + else + bmp = m_disabledCloseBmp; +#endif + const int close_button_width = bmp.GetWidth(); wxRect rect(tab_x + tab_width - close_button_width - 3, drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2), close_button_width, tab_height); @@ -285,17 +304,27 @@ void NbStyleFF2::DrawTab(wxDC& dc, wxWindow* wnd, int text_offset = tab_x + 8; int bitmap_offset = 0; + if (page.bitmap.IsOk()) { bitmap_offset = tab_x + 8; - // draw bitmap +#if wxCHECK_VERSION(3, 1, 6) + const wxBitmap bmp(page.bitmap.GetBitmapFor(wnd)); + dc.DrawBitmap(bmp, + bitmap_offset, + drawn_tab_yoff + (drawn_tab_height/2) - (bmp.GetHeight()/2), + true); + + text_offset = bitmap_offset + bmp.GetWidth(); +#else dc.DrawBitmap(page.bitmap, bitmap_offset, drawn_tab_yoff + (drawn_tab_height/2) - (page.bitmap.GetHeight()/2), true); text_offset = bitmap_offset + page.bitmap.GetWidth(); +#endif text_offset += 3; // bitmap padding } else @@ -303,7 +332,6 @@ void NbStyleFF2::DrawTab(wxDC& dc, wxWindow* wnd, text_offset = tab_x + 8; } - // if the caption is empty, measure some temporary text wxString caption = page.caption; if (caption.empty()) @@ -325,13 +353,23 @@ void NbStyleFF2::DrawTab(wxDC& dc, wxWindow* wnd, // draw 'x' on tab (if enabled) if (close_button_state != wxAUI_BUTTON_STATE_HIDDEN) { - int close_button_width = m_activeCloseBmp.GetWidth(); - wxBitmap bmp = m_disabledCloseBmp; + wxBitmap bmp; +#if wxCHECK_VERSION(3, 1, 6) + if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) || + (close_button_state == wxAUI_BUTTON_STATE_PRESSED)) + bmp = m_activeCloseBmp.GetBitmapFor(wnd); + else + bmp = m_disabledCloseBmp.GetBitmapFor(wnd); +#else if ((close_button_state == wxAUI_BUTTON_STATE_HOVER) || (close_button_state == wxAUI_BUTTON_STATE_PRESSED)) bmp = m_activeCloseBmp; + else + bmp = m_disabledCloseBmp; +#endif + const int close_button_width = bmp.GetWidth(); wxRect rect(tab_x + tab_width - close_button_width - 3, drawn_tab_yoff + (drawn_tab_height / 2) - (bmp.GetHeight() / 2), close_button_width, tab_height);