#include "qdirectfbconvenience.h"
#include "qdirectfbblitter.h"
+#include "qdirectfbscreen.h"
#include <private/qpixmap_blitter_p.h>
+#include <QtGui/QWindow>
+#include <QtGui/QScreen>
+
IDirectFB *QDirectFbConvenience::dfbInterface()
{
static IDirectFB *dfb = 0;
insert(DIKS_CURLY_BRACKET_RIGHT , Qt::Key_BraceRight);
insert(DIKS_TILDE , Qt::Key_AsciiTilde);
}
+
+QDirectFbScreen *toDfbScreen(QWindow *window)
+{
+ return static_cast<QDirectFbScreen*>(window->screen()->handle());
+}
****************************************************************************/
#include "qdirectfbwindow.h"
+#include "qdirectfbbackingstore.h"
#include "qdirectfbinput.h"
+#include "qdirectfbscreen.h"
-#include "qdirectfbbackingstore.h"
#include <directfb.h>
QDirectFbWindow::QDirectFbWindow(QWindow *tlw, QDirectFbInput *inputhandler)
: QPlatformWindow(tlw), m_inputHandler(inputhandler)
{
- QDirectFBPointer<IDirectFBDisplayLayer> layer(QDirectFbConvenience::dfbDisplayLayer());
DFBDisplayLayerConfig layerConfig;
- layer->GetConfiguration(layer.data(), &layerConfig);
+ IDirectFBDisplayLayer *layer;
+
+ layer = toDfbScreen(tlw)->dfbLayer();
+ toDfbScreen(tlw)->dfbLayer()->GetConfiguration(layer, &layerConfig);
DFBWindowDescription description;
memset(&description,0,sizeof(DFBWindowDescription));
description.caps = DFBWindowCapabilities(DWCAPS_DOUBLEBUFFER|DWCAPS_ALPHACHANNEL);
description.surface_caps = DSCAPS_PREMULTIPLIED;
- DFBResult result = layer->CreateWindow(layer.data(), &description, m_dfbWindow.outPtr());
+ DFBResult result = layer->CreateWindow(layer, &description, m_dfbWindow.outPtr());
if (result != DFB_OK) {
DirectFBError("QDirectFbGraphicsSystemScreen: failed to create window",result);
}