diff --git a/app/escher_demo.cpp b/app/escher_demo.cpp new file mode 100644 index 000000000..a751ceec9 --- /dev/null +++ b/app/escher_demo.cpp @@ -0,0 +1,37 @@ +extern "C" { +#include +#include +#include +#include +} + +class MyTextView : public View { + using View::View; +public: + void drawRect(KDRect frame) override; +}; + +void MyTextView::drawRect(KDRect frame) { + KDPoint zero = {0, 0}; + KDDrawString("Hello, world!", zero, 0); +} + +void ion_app() { + KDRect wholeScreen = {0, 0, 100, 100}; + KDColor a = 0x55; + View * window = new SolidColorView(wholeScreen, a); + KDRect textRect = {0, 0, 50, 50}; + MyTextView * textView = new MyTextView(textRect); + window->addSubview(textView); + + window->draw(); + + while (1) { + ion_sleep(); + textRect.y = textRect.y+1; + textView->setFrame(textRect); + } + + delete textView; + delete window; +}