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