X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd2be5df8d8a250c7987631e996f49ab024a4b54..059d234d4176165d975048eaa5436ef40af7d037:/src/dfb/nonownedwnd.cpp diff --git a/src/dfb/nonownedwnd.cpp b/src/dfb/nonownedwnd.cpp index 58d59ebebc..2c4809aee1 100644 --- a/src/dfb/nonownedwnd.cpp +++ b/src/dfb/nonownedwnd.cpp @@ -21,8 +21,8 @@ #include "wx/evtloop.h" #include "wx/dfb/private.h" -#define TRACE_EVENTS _T("events") -#define TRACE_PAINT _T("paint") +#define TRACE_EVENTS "events" +#define TRACE_PAINT "paint" // ============================================================================ // globals @@ -101,14 +101,14 @@ bool wxNonOwnedWindow::Create(wxWindow *parent, long style, const wxString &name) { - wxCHECK_MSG( pos.x >= 0 && pos.y >= 0, false, _T("invalid position") ); - wxCHECK_MSG( size.x > 0 && size.y > 0, false, _T("invalid size") ); + wxCHECK_MSG( pos.x >= 0 && pos.y >= 0, false, "invalid position" ); + wxCHECK_MSG( size.x > 0 && size.y > 0, false, "invalid size" ); m_tlw = this; // create DirectFB window: wxIDirectFBDisplayLayerPtr layer(wxIDirectFB::Get()->GetDisplayLayer()); - wxCHECK_MSG( layer, false, _T("no display layer") ); + wxCHECK_MSG( layer, false, "no display layer" ); DFBWindowDescription desc; desc.flags = (DFBWindowDescriptionFlags) @@ -153,7 +153,7 @@ bool wxNonOwnedWindow::Create(wxWindow *parent, wxNonOwnedWindow::~wxNonOwnedWindow() { - m_isBeingDeleted = true; + SendDestroyEvent(); // destroy all children before we destroy the underlying DirectFB window, // so that if any of them does something with the TLW, it will still work: @@ -228,7 +228,7 @@ bool wxNonOwnedWindow::Show(bool show) m_sizeSet = true; wxSizeEvent event(GetSize(), GetId()); event.SetEventObject(this); - GetEventHandler()->ProcessEvent(event); + HandleWindowEvent(event); } // make sure the window is fully painted, with all pending updates, before @@ -259,6 +259,16 @@ bool wxNonOwnedWindow::Show(bool show) return true; } +void wxNonOwnedWindow::Raise() +{ + m_dfbwin->RaiseToTop(); +} + +void wxNonOwnedWindow::Lower() +{ + m_dfbwin->LowerToBottom(); +} + // ---------------------------------------------------------------------------- // surfaces and painting // ---------------------------------------------------------------------------- @@ -291,23 +301,19 @@ void wxNonOwnedWindow::HandleQueuedPaintRequests() // blit the entire back buffer to front soon m_isPainting = true; -#ifdef __WXDEBUG__ int requestsCount = 0; -#endif wxRect request; while ( m_toPaint->GetNext(request) ) { -#ifdef __WXDEBUG__ requestsCount++; -#endif wxRect clipped(request); clipped.Intersect(winRect); if ( clipped.IsEmpty() ) continue; // nothing to refresh wxLogTrace(TRACE_PAINT, - _T("%p ('%s'): processing paint request [%i,%i,%i,%i]"), + "%p ('%s'): processing paint request [%i,%i,%i,%i]", this, GetName().c_str(), clipped.x, clipped.y, clipped.GetRight(), clipped.GetBottom()); @@ -346,7 +352,7 @@ void wxNonOwnedWindow::HandleQueuedPaintRequests() GetDfbSurface()->FlipToFront(rptr); wxLogTrace(TRACE_PAINT, - _T("%p ('%s'): processed %i paint requests, flipped surface: [%i,%i,%i,%i]"), + "%p ('%s'): processed %i paint requests, flipped surface: [%i,%i,%i,%i]", this, GetName().c_str(), requestsCount, paintedRect.x, paintedRect.y, @@ -362,7 +368,7 @@ void wxNonOwnedWindow::DoRefreshRect(const wxRect& rect) return; wxLogTrace(TRACE_PAINT, - _T("%p ('%s'): [TLW] refresh rect [%i,%i,%i,%i]"), + "%p ('%s'): [TLW] refresh rect [%i,%i,%i,%i]", this, GetName().c_str(), rect.x, rect.y, rect.GetRight(), rect.GetBottom()); @@ -402,9 +408,9 @@ struct InsideDFBFocusHandlerSetter void wxNonOwnedWindow::SetDfbFocus() { - wxCHECK_RET( IsShown(), _T("cannot set focus to hidden window") ); + wxCHECK_RET( IsShown(), "cannot set focus to hidden window" ); wxASSERT_MSG( FindFocus() && FindFocus()->GetTLW() == this, - _T("setting DirectFB focus to unexpected window") ); + "setting DirectFB focus to unexpected window" ); // Don't set DirectFB focus if we're called from HandleFocusEvent() on // this window, because we already have the focus in that case. Not only @@ -450,7 +456,7 @@ void wxNonOwnedWindow::HandleDFBWindowEvent(const wxDFBWindowEvent& event_) if ( gs_dfbWindowsMap.find(event.window_id) == gs_dfbWindowsMap.end() ) { wxLogTrace(TRACE_EVENTS, - _T("received event for unknown DirectFB window, ignoring")); + "received event for unknown DirectFB window, ignoring"); return; } @@ -465,12 +471,12 @@ void wxNonOwnedWindow::HandleDFBWindowEvent(const wxDFBWindowEvent& event_) if ( !recipient ) { wxLogTrace(TRACE_EVENTS, - _T("ignoring event: no recipient window")); + "ignoring event: no recipient window"); return; } wxCHECK_RET( recipient && recipient->GetTLW() == tlw, - _T("event recipient not in TLW which received the event") ); + "event recipient not in TLW which received the event" ); recipient->HandleKeyEvent(event_); break; @@ -486,7 +492,7 @@ void wxNonOwnedWindow::HandleDFBWindowEvent(const wxDFBWindowEvent& event_) case DWET_NONE: case DWET_ALL: - wxFAIL_MSG( _T("invalid event type") ); + wxFAIL_MSG( "invalid event type" ); break; default: