displaylib_1bit_PICO 2.0.0
1-bit colour graphic display library, Rpi PICO RP2040 library
Loading...
Searching...
No Matches
display_print.hpp
Go to the documentation of this file.
1
9#pragma once
10
11#include <cstdint>
12#include <cstdio> // for size_t
13#include <cstring>
14#include <cstdlib>
15#include <cmath>
16#include <string>
17#include <array>
18#include "display_data.hpp"
19
23class Print
24{
25 private:
26 int write_error;
27 size_t printNumber(unsigned long, uint8_t);
28 size_t printFloat(double, uint8_t);
29 protected:
30 void setWriteError(int err = 1) { write_error = err; }
31 public:
33 enum BaseNum : uint8_t{
34 DEC = 10,
35 HEX = 16,
36 OCT = 8,
37 BIN = 2
38 };
39
40 Print() : write_error(0) {}
41
45 int getWriteError() { return write_error; }
49 void clearWriteError() { setWriteError(0); }
53 virtual size_t write(uint8_t) = 0;
54 size_t write(const char *str) {
55 if (str == nullptr)
56 {
57 setWriteError(DisplayRet::CharArrayNullptr); //_CharArrayNullptr
58 return 0;
59 }
61 return write((const uint8_t *)str, strlen(str));
62 }
63 virtual size_t write(const uint8_t *buffer, size_t size);
64 size_t write(const char *buffer, size_t size) {
65 return write((const uint8_t *)buffer, size);
66 }
67
68 // default to zero, meaning "a single write may block"
69 // should be overriden by subclasses with buffering
70 virtual int availableForWrite() { return 0; }
71
72 size_t print(const char[]);
73 size_t print(char);
74 size_t print(int, int = DEC);
75 size_t print(unsigned int, int = DEC);
76 size_t print(long, int = DEC);
77 size_t print(unsigned long, int = DEC);
78 size_t print(double, int = 2);
79 size_t print(const std::string &);
80
81 size_t println(const char[]);
82 size_t println(char);
83 size_t println(int, int = DEC);
84 size_t println(unsigned int, int = DEC);
85 size_t println(long, int = DEC);
86 size_t println(unsigned long, int = DEC);
87 size_t println(double, int = 2);
88 size_t println(void);
89 size_t println(const std::string &s);
90};
class that provides polymorphic print methods for printing data
Definition display_print.hpp:24
virtual size_t write(uint8_t)=0
writes a character to display , defined in the sub class
BaseNum
Definition display_print.hpp:33
@ DEC
Definition display_print.hpp:34
@ HEX
Definition display_print.hpp:35
@ BIN
Definition display_print.hpp:37
@ OCT
Definition display_print.hpp:36
int getWriteError()
gets the error flag status, zero no error
Definition display_print.hpp:45
void clearWriteError()
clears the errof flag by setting it to zero
Definition display_print.hpp:49
file to hold common data to all classes and examples
@ CharArrayNullptr
Definition display_data.hpp:39