wxWidgets/include/wx/aui/tabartgtk.h
Vadim Zeitlin 391080e77d Use wxBitmapBundle for AUI tab pages bitmaps
Take wxBitmapBundle instead of just wxBitmap in various public functions
and select the bitmap appropriate for the current DPI scaling when we
need to use it.

Note that this removes wxAuiScaleBitmap() which used custom scaling
logic that might be better than the generic approach used by
wxBitmapBundle, and so could result in a temporary regression in the
icons appearance in high DPI, but they will hopefully be replaced with
SVG versions soon, so that this shouldn't matter.
2021-11-14 00:50:24 +01:00

59 lines
2.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: include/wx/aui/tabartgtk.h
// Purpose: declaration of the wxAuiGTKTabArt
// Author: Jens Lody and Teodor Petrov
// Modified by:
// Created: 2012-03-23
// Copyright: (c) 2012 Jens Lody <jens@codeblocks.org>
// and Teodor Petrov
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_AUI_TABARTGTK_H_
#define _WX_AUI_TABARTGTK_H_
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "wx/defs.h"
#if wxUSE_AUI
#include "wx/aui/tabart.h"
#include "wx/gdicmn.h"
class wxWindow;
class wxDC;
class WXDLLIMPEXP_AUI wxAuiGtkTabArt : public wxAuiGenericTabArt
{
public:
wxAuiGtkTabArt();
virtual wxAuiTabArt* Clone() wxOVERRIDE;
virtual void DrawBorder(wxDC& dc, wxWindow* wnd, const wxRect& rect) wxOVERRIDE;
virtual void DrawBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect) wxOVERRIDE;
virtual void DrawTab(wxDC& dc,
wxWindow* wnd,
const wxAuiNotebookPage& page,
const wxRect& in_rect,
int close_button_state,
wxRect* out_tab_rect,
wxRect* out_button_rect,
int* x_extent) wxOVERRIDE;
void DrawButton(wxDC& dc, wxWindow* wnd, const wxRect& in_rect, int bitmap_id,
int button_state, int orientation, wxRect* out_rect) wxOVERRIDE;
int GetBestTabCtrlSize(wxWindow* wnd, const wxAuiNotebookPageArray& pages,
const wxSize& required_bmp_size) wxOVERRIDE;
int GetBorderWidth(wxWindow* wnd) wxOVERRIDE;
int GetAdditionalBorderSpace(wxWindow* wnd) wxOVERRIDE;
virtual wxSize GetTabSize(wxDC& dc, wxWindow* wnd, const wxString& caption,
const wxBitmapBundle& bitmap, bool active,
int close_button_state, int* x_extent) wxOVERRIDE;
};
#endif // wxUSE_AUI
#endif // _WX_AUI_TABARTGTK_H_