11 #include <FL/Fl_Window.H> 12 #include <FL/Fl_Box.H> 16 #undef None // TODO: Remove me 22 #define FRAMEBUFFER_ADDRESS (sDisplay->m_framebuffer) 36 int keyboard_height = screen_width;
38 Fl_Window * window =
new Fl_Window(screen_width+2*margin, margin+screen_height+margin+keyboard_height+margin);
41 #if defined(_WIN32) || defined(_WIN64) 42 Fl::set_font(FL_SYMBOL,
"Arial Unicode MS");
53 sDisplay =
new FltkLCD(margin, margin, screen_width, screen_height, pixels);
54 sKeyboard =
new FltkKbd(margin, margin+screen_height+margin, screen_width, keyboard_height);
87 auto last = std::chrono::high_resolution_clock::now();
90 Fl::wait(*timeout / 1000.0);
91 auto next = std::chrono::high_resolution_clock::now();
92 long long elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(next - last).count();
94 if (elapsed > *timeout) {
108 auto start = std::chrono::high_resolution_clock::now();
112 auto elapsed = std::chrono::high_resolution_clock::now() -
start;
113 long long milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(elapsed).count();
114 if (milliseconds >= ms) {
121 strlcpy(buffer,
"Simulator", Ion::SerialNumberLength+1);
void terminateHandler(Fl_Widget *)
Event getEvent(int *timeout)
void pushRectUniform(KDRect rect, KDColor color)
bool key_down(Ion::Keyboard::Key key)
void pullRect(KDRect r, KDColor *pixels)
size_t strlcpy(char *dst, const char *src, size_t len)
void pushRect(KDRect r, const KDColor *pixels)
constexpr int NumberOfKeys
Ion::Events::Event currentEvent
void pushRect(KDRect rect, const KDColor *pixels)
void pullRect(KDRect rect, KDColor *pixels)
void getSerialNumber(char *buffer)
void * malloc(size_t size)
void pushRectUniform(KDRect r, KDColor c)
constexpr Event Termination