X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/819850ff060cc66221a14661a339f2c841fd4f0b..d9af3670ee77b9ff4cc46416137ffc92a9ce973d:/src/stc/PlatWX.cpp?ds=sidebyside diff --git a/src/stc/PlatWX.cpp b/src/stc/PlatWX.cpp index 6d5e4a622b..8de6eae436 100644 --- a/src/stc/PlatWX.cpp +++ b/src/stc/PlatWX.cpp @@ -21,6 +21,10 @@ #include +#if wxUSE_DISPLAY +#include "wx/display.h" +#endif + #include "wx/encconv.h" #include "wx/listctrl.h" #include "wx/mstream.h" @@ -35,6 +39,7 @@ #include "Platform.h" #include "PlatWX.h" #include "wx/stc/stc.h" +#include "wx/stc/private.h" @@ -133,8 +138,9 @@ Font::Font() { Font::~Font() { } -void Font::Create(const char *faceName, int characterSet, int size, bool bold, bool italic, bool extraFontFlag) { - +void Font::Create(const char *faceName, int characterSet, + int size, bool bold, bool italic, + bool WXUNUSED(extraFontFlag)) { Release(); // The minus one is done because since Scintilla uses SC_SHARSET_DEFAULT @@ -154,7 +160,7 @@ void Font::Create(const char *faceName, int characterSet, int size, bool bold, b false, stc2wx(faceName), encoding); - font->SetNoAntiAliasing(!extraFontFlag); + //font->SetNoAntiAliasing(!extraFontFlag); id = font; } @@ -371,7 +377,6 @@ void SurfaceImpl::AlphaRectangle(PRectangle rc, int cornerSize, wxRect r = wxRectFromPRectangle(rc); wxBitmap bmp(r.width, r.height, 32); wxAlphaPixelData pixData(bmp); - pixData.UseAlpha(); // Set the fill pixels ColourDesired cdf(fill.AsLong()); @@ -721,6 +726,19 @@ void Window::SetTitle(const char *s) { } +// Returns rectangle of monitor pt is on +PRectangle Window::GetMonitorRect(Point pt) { + wxRect rect; + if (! id) return PRectangle(); +#if wxUSE_DISPLAY + // Get the display the point is found on + int n = wxDisplay::GetFromPoint(wxPoint(pt.x, pt.y)); + wxDisplay dpy(n == wxNOT_FOUND ? 0 : n); + rect = dpy.GetGeometry(); +#endif + return PRectangleFromwxRect(rect); +} + //---------------------------------------------------------------------- // Helper classes for ListBox @@ -1543,10 +1561,10 @@ wxString stc2wx(const char* str, size_t len) if (!len) return wxEmptyString; - size_t wclen = UCS2Length(str, len); + size_t wclen = UTF16Length(str, len); wxWCharBuffer buffer(wclen+1); - size_t actualLen = UCS2FromUTF8(str, len, buffer.data(), wclen+1); + size_t actualLen = UTF16FromUTF8(str, len, buffer.data(), wclen+1); return wxString(buffer.data(), actualLen); } @@ -1565,7 +1583,7 @@ const wxWX2MBbuf wx2stc(const wxString& str) size_t len = UTF8Length(wcstr, wclen); wxCharBuffer buffer(len+1); - UTF8FromUCS2(wcstr, wclen, buffer.data(), len); + UTF8FromUTF16(wcstr, wclen, buffer.data(), len); // TODO check NULL termination!!