mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-15 18:49:11 +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.
100 lines
3.9 KiB
C++
100 lines
3.9 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/stdpaths.h
|
|
// Purpose: wxStandardPaths for Win32
|
|
// Author: Vadim Zeitlin
|
|
// Modified by:
|
|
// Created: 2004-10-19
|
|
// Copyright: (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_MSW_STDPATHS_H_
|
|
#define _WX_MSW_STDPATHS_H_
|
|
|
|
struct _GUID;
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxStandardPaths
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_BASE wxStandardPaths : public wxStandardPathsBase
|
|
{
|
|
public:
|
|
// implement base class pure virtuals
|
|
virtual wxString GetExecutablePath() const;
|
|
virtual wxString GetConfigDir() const;
|
|
virtual wxString GetUserConfigDir() const;
|
|
virtual wxString GetDataDir() const;
|
|
virtual wxString GetUserDataDir() const;
|
|
virtual wxString GetUserLocalDataDir() const;
|
|
virtual wxString GetPluginsDir() const;
|
|
virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE;
|
|
|
|
|
|
// MSW-specific methods
|
|
|
|
// This class supposes that data, plugins &c files are located under the
|
|
// program directory which is the directory containing the application
|
|
// binary itself. But sometimes this binary may be in a subdirectory of the
|
|
// main program directory, e.g. this happens in at least the following
|
|
// common cases:
|
|
// 1. The program is in "bin" subdirectory of the installation directory.
|
|
// 2. The program is in "debug" subdirectory of the directory containing
|
|
// sources and data files during development
|
|
//
|
|
// By calling this function you instruct the class to remove the last
|
|
// component of the path if it matches its argument. Notice that it may be
|
|
// called more than once, e.g. you can call both IgnoreAppSubDir("bin") and
|
|
// IgnoreAppSubDir("debug") to take care of both production and development
|
|
// cases above but that each call will only remove the last path component.
|
|
// Finally note that the argument can contain wild cards so you can also
|
|
// call IgnoreAppSubDir("vc*msw*") to ignore all build directories at once
|
|
// when using wxWidgets-inspired output directories names.
|
|
void IgnoreAppSubDir(const wxString& subdirPattern);
|
|
|
|
// This function is used to ignore all common build directories and is
|
|
// called from the ctor -- use DontIgnoreAppSubDir() to undo this.
|
|
void IgnoreAppBuildSubDirs();
|
|
|
|
// Undo the effects of all preceding IgnoreAppSubDir() calls.
|
|
void DontIgnoreAppSubDir();
|
|
|
|
|
|
// Returns the directory corresponding to the specified Windows shell CSIDL
|
|
static wxString MSWGetShellDir(int csidl);
|
|
|
|
protected:
|
|
// Ctor is protected, use wxStandardPaths::Get() instead of instantiating
|
|
// objects of this class directly.
|
|
//
|
|
// It calls IgnoreAppBuildSubDirs() and also sets up the object to use
|
|
// both vendor and application name by default.
|
|
wxStandardPaths();
|
|
|
|
// get the path corresponding to the given standard CSIDL_XXX constant
|
|
static wxString DoGetDirectory(int csidl);
|
|
|
|
static wxString DoGetKnownFolder(const _GUID& rfid);
|
|
|
|
// return the directory of the application itself
|
|
wxString GetAppDir() const;
|
|
|
|
// directory returned by GetAppDir()
|
|
mutable wxString m_appDir;
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxStandardPathsWin16: this class is for internal use only
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// override config file locations to be compatible with the values used by
|
|
// wxFileConfig (dating from Win16 days which explains the class name)
|
|
class WXDLLIMPEXP_BASE wxStandardPathsWin16 : public wxStandardPaths
|
|
{
|
|
public:
|
|
virtual wxString GetConfigDir() const;
|
|
virtual wxString GetUserConfigDir() const;
|
|
};
|
|
|
|
#endif // _WX_MSW_STDPATHS_H_
|