#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
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)
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:
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
return true;
}
+void wxNonOwnedWindow::Raise()
+{
+ m_dfbwin->RaiseToTop();
+}
+
+void wxNonOwnedWindow::Lower()
+{
+ m_dfbwin->LowerToBottom();
+}
+
// ----------------------------------------------------------------------------
// surfaces and painting
// ----------------------------------------------------------------------------
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());
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,
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());
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
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;
}
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;
case DWET_NONE:
case DWET_ALL:
- wxFAIL_MSG( _T("invalid event type") );
+ wxFAIL_MSG( "invalid event type" );
break;
default: