From d834f40c1014ac8926af9aaadc434a49e632b000 Mon Sep 17 00:00:00 2001 From: JF Date: Sun, 8 Mar 2020 21:38:11 +0100 Subject: [PATCH] Do not copy LittleVgl object in DislayApp, use reference instead. Make Cst816s, SpiMaster and St7789 not copiable and not movable --- src/DisplayApp/DisplayApp.h | 2 +- src/drivers/Cst816s.h | 6 ++++++ src/drivers/SpiMaster.h | 5 +++++ src/drivers/St7789.h | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/DisplayApp/DisplayApp.h b/src/DisplayApp/DisplayApp.h index 348fd5bf..2505423a 100644 --- a/src/DisplayApp/DisplayApp.h +++ b/src/DisplayApp/DisplayApp.h @@ -43,7 +43,7 @@ namespace Pinetime { static void Process(void* instance); void InitHw(); Pinetime::Drivers::St7789& lcd; - Pinetime::Components::LittleVgl lvgl; + Pinetime::Components::LittleVgl& lvgl; void Refresh(); States state = States::Running; diff --git a/src/drivers/Cst816s.h b/src/drivers/Cst816s.h index 93b05df1..4a5dda60 100644 --- a/src/drivers/Cst816s.h +++ b/src/drivers/Cst816s.h @@ -27,6 +27,12 @@ namespace Pinetime { bool isTouch = false; }; + Cst816S() = default; + Cst816S(const Cst816S&) = delete; + Cst816S& operator=(const Cst816S&) = delete; + Cst816S(Cst816S&&) = delete; + Cst816S& operator=(Cst816S&&) = delete; + void Init(); void Probe(); TouchInfos GetTouchInfo(); diff --git a/src/drivers/SpiMaster.h b/src/drivers/SpiMaster.h index 82042bdf..362f480c 100644 --- a/src/drivers/SpiMaster.h +++ b/src/drivers/SpiMaster.h @@ -26,6 +26,11 @@ namespace Pinetime { }; SpiMaster(const SpiModule spi, const Parameters& params); + SpiMaster(const SpiMaster&) = delete; + SpiMaster& operator=(const SpiMaster&) = delete; + SpiMaster(SpiMaster&&) = delete; + SpiMaster& operator=(SpiMaster&&) = delete; + bool Init(); bool Write(const uint8_t* data, size_t size); diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index 4341e909..42fbe6a7 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -7,6 +7,11 @@ namespace Pinetime { class St7789 { public: explicit St7789(SpiMaster& spiMaster, uint8_t pinDataCommand); + St7789(const St7789&) = delete; + St7789& operator=(const St7789&) = delete; + St7789(St7789&&) = delete; + St7789& operator=(St7789&&) = delete; + void Init(); void Uninit(); void DrawPixel(uint16_t x, uint16_t y, uint32_t color);