sl@2: #ifndef MINIDISPLAY_H sl@2: #define MINIDISPLAY_H sl@2: sl@2: #include sl@15: #include sl@4: #include "FutabaVfd.h" sl@2: sl@2: class MiniDisplay : public QQuickItem sl@2: { sl@2: Q_OBJECT sl@2: Q_DISABLE_COPY(MiniDisplay) sl@4: // sl@5: Q_PROPERTY(bool isOpen READ isOpen NOTIFY statusChanged) sl@18: Q_PROPERTY(bool offScreenMode READ offScreenMode WRITE setOffScreenMode NOTIFY offScreenModeChanged) sl@5: Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged) sl@8: Q_PROPERTY(QString vendor READ vendor) sl@8: Q_PROPERTY(QString product READ product) sl@8: Q_PROPERTY(QString serialNumber READ serialNumber) sl@10: Q_PROPERTY(int brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged) sl@10: Q_PROPERTY(int maxBrightness READ maxBrightness NOTIFY opened) sl@10: Q_PROPERTY(int minBrightness READ minBrightness NOTIFY opened) sl@11: Q_PROPERTY(QPoint framePosition READ framePosition WRITE setFramePosition NOTIFY closed) sl@4: sl@4: public: sl@5: //Methods sl@4: Q_INVOKABLE void open(); sl@4: Q_INVOKABLE void close(); sl@4: // sl@4: Q_INVOKABLE void clear(); sl@4: Q_INVOKABLE void fill(); sl@4: Q_INVOKABLE void swapBuffers(); sl@9: // sl@9: Q_INVOKABLE void requestPowerStatus(); sl@9: Q_INVOKABLE void requestDeviceId(); sl@9: Q_INVOKABLE void requestFirmwareVersion(); sl@4: sl@15: Q_INVOKABLE void renderOwnWindow(); sl@15: Q_INVOKABLE void renderWindow(QQuickWindow* aWindow); sl@15: Q_INVOKABLE void renderImage(QImage* aImage); sl@16: // sl@16: Q_INVOKABLE void setPixel(int x, int y, bool on); sl@16: sl@16: sl@16: sl@15: sl@5: public: sl@5: //Properties sl@5: bool isOpen(); sl@5: QFont font() const {return iFont;} sl@5: void setFont(const QFont& aFont); sl@8: // sl@18: bool offScreenMode(); sl@18: void setOffScreenMode(bool aOn); sl@18: // sl@8: QString vendor(); sl@8: QString product(); sl@8: QString serialNumber(); sl@10: // sl@10: int maxBrightness() const; sl@10: int minBrightness() const; sl@10: int brightness() const; sl@10: void setBrightness(int aBrightness); sl@11: // sl@11: QPoint framePosition() const; sl@11: void setFramePosition(const QPoint& aPoint); sl@5: sl@4: signals: sl@5: void opened(); sl@5: void openError(); sl@11: void closing(); sl@5: void closed(); sl@5: void statusChanged(); sl@5: void fontChanged(); sl@10: void brightnessChanged(); sl@18: void offScreenModeChanged(); sl@9: // sl@9: void powerStatus(bool powerOn); sl@9: void deviceId(QString deviceId); sl@9: void firmwareVersion(QString version); sl@9: sl@9: public slots: sl@9: void readTimer(); sl@9: sl@2: sl@2: public: sl@2: MiniDisplay(QQuickItem *parent = 0); sl@2: ~MiniDisplay(); sl@4: sl@4: private: sl@4: GP1212A01A iDisplay; sl@5: QFont iFont; sl@9: int iReadAttempt; sl@10: int iBrightness; sl@11: QPoint iFramePosition; sl@2: }; sl@2: sl@2: #endif // MINIDISPLAY_H sl@2: