mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-12 09:09:12 +01:00
822326eea9
From wxWidgets master 81570ae070b35c9d52de47b1f14897f3ff1a66c7. include/wx/defs.h -- __w64 warning disable patch by comex brought forward. include/wx/msw/window.h -- added GetContentScaleFactor() which was not implemented on Windows but is necessary for wxBitmap scaling on Mac OS X so it needs to work to avoid #ifdef-ing the code. src/gtk/window.cpp -- Modified DoSetClientSize() to direct call wxWindowGTK::DoSetSize() instead of using public wxWindowBase::SetSize() which now prevents derived classes (like wxAuiToolbar) intercepting the call and breaking it. This matches Windows which does NOT need to call DoSetSize internally. End result is this fixes Dolphin's debug tools toolbars on Linux. src/osx/window_osx.cpp -- Same fix as for GTK since it has the same issue. src/msw/radiobox.cpp -- Hacked to fix display in HiDPI (was clipping off end of text). Updated CMakeLists for Linux and Mac OS X. Small code changes to Dolphin to fix debug error boxes, deprecation warnings, and retain previous UI behavior on Windows.
104 lines
3.0 KiB
C++
104 lines
3.0 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/statbmp.h
|
|
// Purpose: wxStaticBitmap class for wxMSW
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 01/02/97
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_STATBMP_H_
|
|
#define _WX_STATBMP_H_
|
|
|
|
#include "wx/control.h"
|
|
#include "wx/icon.h"
|
|
#include "wx/bitmap.h"
|
|
|
|
extern WXDLLIMPEXP_DATA_CORE(const char) wxStaticBitmapNameStr[];
|
|
|
|
// a control showing an icon or a bitmap
|
|
class WXDLLIMPEXP_CORE wxStaticBitmap : public wxStaticBitmapBase
|
|
{
|
|
public:
|
|
wxStaticBitmap() { Init(); }
|
|
|
|
wxStaticBitmap(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxGDIImage& label,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxStaticBitmapNameStr)
|
|
{
|
|
Init();
|
|
|
|
Create(parent, id, label, pos, size, style, name);
|
|
}
|
|
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxGDIImage& label,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxStaticBitmapNameStr);
|
|
|
|
virtual ~wxStaticBitmap() { Free(); }
|
|
|
|
virtual void SetIcon(const wxIcon& icon) { SetImage(&icon); }
|
|
virtual void SetBitmap(const wxBitmap& bitmap) { SetImage(&bitmap); }
|
|
virtual wxBitmap GetBitmap() const;
|
|
virtual wxIcon GetIcon() const;
|
|
|
|
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
|
|
|
|
// returns true if the platform should explicitly apply a theme border
|
|
virtual bool CanApplyThemeBorder() const { return false; }
|
|
|
|
protected:
|
|
virtual wxSize DoGetBestClientSize() const;
|
|
|
|
// ctor/dtor helpers
|
|
void Init();
|
|
void Free();
|
|
|
|
// true if icon/bitmap is valid
|
|
bool ImageIsOk() const;
|
|
|
|
void SetImage(const wxGDIImage* image);
|
|
void SetImageNoCopy( wxGDIImage* image );
|
|
|
|
// draw the bitmap ourselves here if the OS can't do it correctly (if it
|
|
// can we leave it to it)
|
|
void DoPaintManually(wxPaintEvent& event);
|
|
|
|
void WXHandleSize(wxSizeEvent& event);
|
|
|
|
// we can have either an icon or a bitmap
|
|
bool m_isIcon;
|
|
wxGDIImage *m_image;
|
|
|
|
// handle used in last call to STM_SETIMAGE
|
|
WXHANDLE m_currentHandle;
|
|
|
|
private:
|
|
// Flag indicating whether we own m_currentHandle, i.e. should delete it.
|
|
bool m_ownsCurrentHandle;
|
|
|
|
// Replace the image at the native control level with the given HBITMAP or
|
|
// HICON (which can be 0) and destroy the previous image if necessary.
|
|
void MSWReplaceImageHandle(WXLPARAM handle);
|
|
|
|
// Delete the current handle only if we own it.
|
|
void DeleteCurrentHandleIfNeeded();
|
|
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxStaticBitmap);
|
|
wxDECLARE_EVENT_TABLE();
|
|
wxDECLARE_NO_COPY_CLASS(wxStaticBitmap);
|
|
};
|
|
|
|
#endif
|
|
// _WX_STATBMP_H_
|