MiniDisplay/minidisplay.h
author sl
Thu, 29 May 2014 15:47:51 +0200
changeset 16 35f01a0d460a
parent 15 737f8bb110be
child 18 79801cc3bc94
permissions -rw-r--r--
Adding set pixel method to our QML MiniDisplay.
Adding more metrics and options to our test tab.
     1 #ifndef MINIDISPLAY_H
     2 #define MINIDISPLAY_H
     3 
     4 #include <QQuickItem>
     5 #include <QQuickWindow>
     6 #include "FutabaVfd.h"
     7 
     8 class MiniDisplay : public QQuickItem
     9 {
    10     Q_OBJECT
    11     Q_DISABLE_COPY(MiniDisplay)
    12     //
    13     Q_PROPERTY(bool isOpen READ isOpen NOTIFY statusChanged)
    14     Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged)
    15     Q_PROPERTY(QString vendor READ vendor)
    16     Q_PROPERTY(QString product READ product)
    17     Q_PROPERTY(QString serialNumber READ serialNumber)
    18     Q_PROPERTY(int brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
    19     Q_PROPERTY(int maxBrightness READ maxBrightness NOTIFY opened)
    20     Q_PROPERTY(int minBrightness READ minBrightness NOTIFY opened)
    21     Q_PROPERTY(QPoint framePosition READ framePosition WRITE setFramePosition NOTIFY closed)
    22 
    23 public:
    24     //Methods
    25     Q_INVOKABLE void open();
    26     Q_INVOKABLE void close();
    27     //
    28     Q_INVOKABLE void clear();
    29     Q_INVOKABLE void fill();
    30     Q_INVOKABLE void swapBuffers();
    31     //
    32     Q_INVOKABLE void requestPowerStatus();
    33     Q_INVOKABLE void requestDeviceId();
    34     Q_INVOKABLE void requestFirmwareVersion();
    35 
    36     Q_INVOKABLE void renderOwnWindow();
    37     Q_INVOKABLE void renderWindow(QQuickWindow* aWindow);
    38     Q_INVOKABLE void renderImage(QImage* aImage);
    39     //
    40     Q_INVOKABLE void setPixel(int x, int y, bool on);
    41 
    42 
    43 
    44 
    45 public:
    46     //Properties
    47     bool isOpen();
    48     QFont font() const {return iFont;}
    49     void setFont(const QFont& aFont);
    50     //
    51     QString vendor();
    52     QString product();
    53     QString serialNumber();
    54     //
    55     int maxBrightness() const;
    56     int minBrightness() const;
    57     int brightness() const;
    58     void setBrightness(int aBrightness);
    59     //
    60     QPoint framePosition() const;
    61     void setFramePosition(const QPoint& aPoint);
    62 
    63 signals:
    64     void opened();
    65     void openError();
    66     void closing();
    67     void closed();
    68     void statusChanged();
    69     void fontChanged();
    70     void brightnessChanged();
    71     //
    72     void powerStatus(bool powerOn);
    73     void deviceId(QString deviceId);
    74     void firmwareVersion(QString version);
    75 
    76 public slots:
    77     void readTimer();
    78 
    79 
    80 public:
    81     MiniDisplay(QQuickItem *parent = 0);
    82     ~MiniDisplay();
    83 
    84 private:
    85     GP1212A01A iDisplay;
    86     QFont iFont;
    87     int iReadAttempt;
    88     int iBrightness;
    89     QPoint iFramePosition;
    90 };
    91 
    92 #endif // MINIDISPLAY_H
    93