Numworks Epsilon  1.4.1
Graphing Calculator Operating System
display.h
Go to the documentation of this file.
1 #ifndef ION_DISPLAY_H
2 #define ION_DISPLAY_H
3 
4 /* ION abstracts pushing pixels to the screen.
5  *
6  * There could be a single entry point, set_pixel, but setting pixels one by one
7  * incurs quite a large overhead because you need to send the coordinate of each
8  * pixel to the screen.
9  *
10  * Many displays support sending contiguous pixels without having to repeat the
11  * pixel coordinates every time. We're therefore leveraging this capability
12  * which results in a very consequent speedup (up to ~10x faster). */
13 
14 #include <kandinsky/rect.h>
15 #include <kandinsky/color.h>
16 
17 namespace Ion {
18 namespace Display {
19 
20 void pushRect(KDRect r, const KDColor * pixels);
22 void pullRect(KDRect r, KDColor * pixels);
23 
24 void waitForVBlank();
25 
26 constexpr int Width = 320;
27 constexpr int Height = 240;
28 
29 }
30 }
31 
32 #endif
constexpr int Width
Definition: display.h:26
void Display(const char *input)
Definition: display.cpp:11
void pullRect(KDRect r, KDColor *pixels)
Definition: display.cpp:26
void pushRect(KDRect r, const KDColor *pixels)
Definition: display.cpp:14
c(generic_all_nodes)
Definition: rect.h:26
Definition: color.h:6
Definition: backlight.h:6
void pushRectUniform(KDRect r, KDColor c)
Definition: display.cpp:20
constexpr int Height
Definition: display.h:27
void waitForVBlank()
Definition: display.cpp:32