# HG changeset patch # User sl # Date 1401221669 -7200 # Node ID 62a1d3631dcb3489c3bd9cac5486b334b9137312 # Parent 7d34342ac6e9af57f89e46b30d58ba747bcb0218 Adding font property and example C++ code for rendering font in bitmap. Cleaning up our MiniDisplay signal names. diff -r 7d34342ac6e9 -r 62a1d3631dcb DisplayTab.qml --- a/DisplayTab.qml Tue May 27 19:50:28 2014 +0200 +++ b/DisplayTab.qml Tue May 27 22:14:29 2014 +0200 @@ -11,12 +11,7 @@ //SystemPalette { id: palette } clip: true // - MiniDisplay { - id: display - onMiniDisplayOpened:{ textDisplayStatus.text=qsTr("Connected"); buttonOpenClose.enabled = true;} - onMiniDisplayClosed:textDisplayStatus.text=qsTr("Disconnected") - onMiniDisplayOpenError:{ textDisplayStatus.text=qsTr("Connection error"); buttonOpenClose.enabled = true;} - } + // ColumnLayout { diff -r 7d34342ac6e9 -r 62a1d3631dcb FontsTab.qml --- a/FontsTab.qml Tue May 27 19:50:28 2014 +0200 +++ b/FontsTab.qml Tue May 27 22:14:29 2014 +0200 @@ -34,6 +34,7 @@ onAccepted: { console.log("Accepted: " + font); textFontDemoLowerCase.font = currentFont; + display.font = currentFont; //textFontDemoUpperCase.font = currentFont; //textFontDemoDigits.font = currentFont; } diff -r 7d34342ac6e9 -r 62a1d3631dcb MiniDisplay/minidisplay.cpp --- a/MiniDisplay/minidisplay.cpp Tue May 27 19:50:28 2014 +0200 +++ b/MiniDisplay/minidisplay.cpp Tue May 27 22:14:29 2014 +0200 @@ -1,4 +1,5 @@ #include "minidisplay.h" +#include MiniDisplay::MiniDisplay(QQuickItem *parent): QQuickItem(parent) @@ -22,12 +23,12 @@ { if (iDisplay.Open()) { - emit miniDisplayOpened(); - emit miniDisplayStatusChanged(); + emit opened(); + emit statusChanged(); } else { - emit miniDisplayOpenError(); + emit openError(); } } @@ -35,8 +36,8 @@ void MiniDisplay::close() { iDisplay.Close(); - emit miniDisplayClosed(); - emit miniDisplayStatusChanged(); + emit closed(); + emit statusChanged(); } bool MiniDisplay::isOpen() @@ -64,3 +65,26 @@ // iDisplay.SwapBuffers(); } + +/** + * @brief setFont + * @param aFont + */ +void MiniDisplay::setFont(const QFont& aFont) +{ + iFont=aFont; + QString strDemo="0123456789ABCDEF"; + QFontMetrics metrics(iFont); + QSize size(metrics.width(strDemo),metrics.height()); + QImage image(size,QImage::Format_Mono); + image.fill(0xFFFFFFFF); + { + QPainter painter(&image); + //painter.begin(&image); + painter.setPen(0xFF000000); + painter.setFont(iFont); + painter.drawText(0,metrics.ascent(),strDemo); + } + //painter.end(); + image.save("font.png"); +} diff -r 7d34342ac6e9 -r 62a1d3631dcb MiniDisplay/minidisplay.h --- a/MiniDisplay/minidisplay.h Tue May 27 19:50:28 2014 +0200 +++ b/MiniDisplay/minidisplay.h Tue May 27 22:14:29 2014 +0200 @@ -9,23 +9,31 @@ Q_OBJECT Q_DISABLE_COPY(MiniDisplay) // - Q_PROPERTY(bool isOpen READ isOpen NOTIFY miniDisplayStatusChanged) + Q_PROPERTY(bool isOpen READ isOpen NOTIFY statusChanged) + Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged) public: + //Methods Q_INVOKABLE void open(); Q_INVOKABLE void close(); - bool isOpen(); // Q_INVOKABLE void clear(); Q_INVOKABLE void fill(); Q_INVOKABLE void swapBuffers(); +public: + //Properties + bool isOpen(); + QFont font() const {return iFont;} + void setFont(const QFont& aFont); + signals: - void miniDisplayOpened(); - void miniDisplayOpenError(); - void miniDisplayClosed(); - void miniDisplayStatusChanged(); + void opened(); + void openError(); + void closed(); + void statusChanged(); + void fontChanged(); public: MiniDisplay(QQuickItem *parent = 0); @@ -33,6 +41,7 @@ private: GP1212A01A iDisplay; + QFont iFont; }; #endif // MINIDISPLAY_H diff -r 7d34342ac6e9 -r 62a1d3631dcb main.qml --- a/main.qml Tue May 27 19:50:28 2014 +0200 +++ b/main.qml Tue May 27 22:14:29 2014 +0200 @@ -5,6 +5,8 @@ import QtQuick.Dialogs 1.2 import QtQuick.Window 2.1 import Qt.labs.settings 1.0 +import MiniDisplay 1.0 + ApplicationWindow { @@ -34,6 +36,13 @@ }*/ + MiniDisplay { + id: display + onOpened:{ textDisplayStatus.text=qsTr("Connected");} + onClosed:textDisplayStatus.text=qsTr("Disconnected") + onOpenError:{ textDisplayStatus.text=qsTr("Connection error");} + } + TabView { anchors.fill: parent anchors.margins: 8