File oled_display.h¶
File List > disp > oled_display.h
Go to the documentation of this file
Source Code¶
#pragma once
#ifndef DSY_OLED_DISPLAY_H
#define DSY_OLED_DISPLAY_H
#include "display.h"
namespace daisy
{
template <typename DisplayDriver>
class OledDisplay : public OneBitGraphicsDisplayImpl<OledDisplay<DisplayDriver>>
{
public:
OledDisplay() {}
virtual ~OledDisplay() {}
struct Config
{
typename DisplayDriver::Config driver_config;
};
void Init(Config config) { driver_.Init(config.driver_config); }
uint16_t Height() const override { return driver_.Height(); }
uint16_t Width() const override { return driver_.Width(); }
void Fill(bool on) override { driver_.Fill(on); }
void DrawPixel(uint_fast8_t x, uint_fast8_t y, bool on) override
{
driver_.DrawPixel(x, y, on);
}
void Update() override { driver_.Update(); }
bool UpdateFinished() override { return driver_.UpdateFinished(); }
private:
DisplayDriver driver_;
void Reset() { driver_.Reset(); };
void SendCommand(uint8_t cmd) { driver_.SendCommand(cmd); };
void SendData(uint8_t* buff, size_t size) { driver_.SendData(buff, size); };
};
} // namespace daisy
#endif