summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/linuxfb
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-08-20 10:33:33 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2010-09-02 13:25:37 (GMT)
commit5e7fdcc7a4a2bb070ad7ece920ac5db81e3e6f77 (patch)
tree5a67130cd7144084adceed7c5e1697e650cee20f /src/plugins/platforms/linuxfb
parentde66ffa4d7d057f0c782edc45374ad58322a0c4c (diff)
downloadQt-5e7fdcc7a4a2bb070ad7ece920ac5db81e3e6f77.zip
Qt-5e7fdcc7a4a2bb070ad7ece920ac5db81e3e6f77.tar.gz
Qt-5e7fdcc7a4a2bb070ad7ece920ac5db81e3e6f77.tar.bz2
Initial pluggable fontdatabase
QPlatformFontDatabase added. QPlatformIntegration now has a new virtual function: QPlatformDatabase::fontDatabase() const. Most unix platform plugins wants to follow the pattern implemented in directfb, linuxfb, vnc etc. In the pro file do: include(../fontdatabases/genericunix/genericunix.pri) In the QPlatformIntegration class do: and instansiate a QGenericFontDatabase in the constructor and return it in the getter function.
Diffstat (limited to 'src/plugins/platforms/linuxfb')
-rw-r--r--src/plugins/platforms/linuxfb/linuxfb.pro1
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp7
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.h3
3 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/linuxfb/linuxfb.pro b/src/plugins/platforms/linuxfb/linuxfb.pro
index 8d4b6d7..216b899 100644
--- a/src/plugins/platforms/linuxfb/linuxfb.pro
+++ b/src/plugins/platforms/linuxfb/linuxfb.pro
@@ -7,6 +7,7 @@ SOURCES = main.cpp qlinuxfbintegration.cpp
HEADERS = qlinuxfbintegration.h
include(../fb_base/fb_base.pri)
+include(../fontdatabases/genericunix/genericunix.pri)
target.path += $$[QT_INSTALL_PLUGINS]/platforms
INSTALLS += target
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
index 437af81..aa1d401 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
+++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
@@ -41,6 +41,7 @@
#include "qlinuxfbintegration.h"
#include "../fb_base/fb_base.h"
+#include "qgenericunixfontdatabase.h"
#include <QtGui/private/qpixmap_raster_p.h>
#include <private/qcore_unix_p.h> // overrides QT_OPEN
#include <qimage.h>
@@ -156,6 +157,7 @@ void QLinuxFbIntegrationPrivate::closeTty()
}
QLinuxFbIntegration::QLinuxFbIntegration()
+ :fontDb(new QGenericUnixFontDatabase())
{
d_ptr = new QLinuxFbIntegrationPrivate();
@@ -799,6 +801,11 @@ QPlatformWindow *QLinuxFbIntegration::createPlatformWindow(QWidget *widget, WId
return w;
}
+QPlatformFontDatabase *QLinuxFbIntegration::fontDatabase() const
+{
+ return fontDb;
+}
+
QLinuxFbScreen::QLinuxFbScreen(uchar * d, int w,
int h, int lstep, QImage::Format screenFormat) : compositePainter(0)
{
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.h b/src/plugins/platforms/linuxfb/qlinuxfbintegration.h
index dc61df5..a5d7abd 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.h
+++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.h
@@ -82,6 +82,8 @@ public:
QList<QPlatformScreen *> screens() const { return mScreens; }
+ QPlatformFontDatabase *fontDatabase() const;
+
private:
QLinuxFbScreen *mPrimaryScreen;
QList<QPlatformScreen *> mScreens;
@@ -122,6 +124,7 @@ private:
void setPixelFormat(struct fb_var_screeninfo);
void createPalette(fb_cmap &cmap, fb_var_screeninfo &vinfo, fb_fix_screeninfo &finfo);
void blank(bool on);
+ QPlatformFontDatabase *fontDb;
};
QT_END_NAMESPACE