mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-13 01:29: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.
112 lines
3.4 KiB
C++
112 lines
3.4 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/sstream.h
|
|
// Purpose: string-based streams
|
|
// Author: Vadim Zeitlin
|
|
// Modified by:
|
|
// Created: 2004-09-19
|
|
// Copyright: (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_SSTREAM_H_
|
|
#define _WX_SSTREAM_H_
|
|
|
|
#include "wx/stream.h"
|
|
|
|
#if wxUSE_STREAMS
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxStringInputStream is a stream reading from the given (fixed size) string
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_BASE wxStringInputStream : public wxInputStream
|
|
{
|
|
public:
|
|
// ctor associates the stream with the given string which makes a copy of
|
|
// it
|
|
wxStringInputStream(const wxString& s);
|
|
|
|
virtual wxFileOffset GetLength() const wxOVERRIDE;
|
|
virtual bool IsSeekable() const wxOVERRIDE { return true; }
|
|
|
|
protected:
|
|
virtual wxFileOffset OnSysSeek(wxFileOffset ofs, wxSeekMode mode) wxOVERRIDE;
|
|
virtual wxFileOffset OnSysTell() const wxOVERRIDE;
|
|
virtual size_t OnSysRead(void *buffer, size_t size) wxOVERRIDE;
|
|
|
|
private:
|
|
// the string that was passed in the ctor
|
|
wxString m_str;
|
|
|
|
// the buffer we're reading from
|
|
wxCharBuffer m_buf;
|
|
|
|
// length of the buffer we're reading from
|
|
size_t m_len;
|
|
|
|
// position in the stream in bytes, *not* in chars
|
|
size_t m_pos;
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxStringInputStream);
|
|
};
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxStringOutputStream writes data to the given string, expanding it as needed
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_BASE wxStringOutputStream : public wxOutputStream
|
|
{
|
|
public:
|
|
// The stream will write data either to the provided string or to an
|
|
// internal string which can be retrieved using GetString()
|
|
//
|
|
// Note that the conversion object should have the life time greater than
|
|
// this stream.
|
|
wxStringOutputStream(wxString *pString = NULL,
|
|
wxMBConv& conv = wxConvUTF8)
|
|
: m_conv(conv)
|
|
#if wxUSE_UNICODE
|
|
, m_unconv(0)
|
|
#endif // wxUSE_UNICODE
|
|
{
|
|
m_str = pString ? pString : &m_strInternal;
|
|
m_pos = m_str->length() / sizeof(wxChar);
|
|
}
|
|
|
|
// get the string containing current output
|
|
const wxString& GetString() const { return *m_str; }
|
|
|
|
virtual bool IsSeekable() const wxOVERRIDE { return true; }
|
|
|
|
protected:
|
|
virtual wxFileOffset OnSysTell() const wxOVERRIDE;
|
|
virtual size_t OnSysWrite(const void *buffer, size_t size) wxOVERRIDE;
|
|
|
|
private:
|
|
// internal string, not used if caller provided his own string
|
|
wxString m_strInternal;
|
|
|
|
// pointer given by the caller or just pointer to m_strInternal
|
|
wxString *m_str;
|
|
|
|
// position in the stream in bytes, *not* in chars
|
|
size_t m_pos;
|
|
|
|
// converter to use: notice that with the default UTF-8 one the input
|
|
// stream must contain valid UTF-8 data, use wxConvISO8859_1 to work with
|
|
// arbitrary 8 bit data
|
|
wxMBConv& m_conv;
|
|
|
|
#if wxUSE_UNICODE
|
|
// unconverted data from the last call to OnSysWrite()
|
|
wxMemoryBuffer m_unconv;
|
|
#endif // wxUSE_UNICODE
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxStringOutputStream);
|
|
};
|
|
|
|
#endif // wxUSE_STREAMS
|
|
|
|
#endif // _WX_SSTREAM_H_
|
|
|