Printer demo: the ink data now comes from the native code

This commit is contained in:
Olivier Goffart 2020-09-04 15:49:33 +02:00
parent f5aeb9ba60
commit 0751552068
3 changed files with 35 additions and 10 deletions

View file

@ -8,11 +8,23 @@
Please contact info@sixtyfps.io for more information.
LICENSE END */
#include "printerdemo.h"
#include <iostream>
struct InkLevelModel : sixtyfps::Model {
int count() const override { return m_data.size(); }
const void *get(int i) const override { return &m_data[i]; }
/// FIXME: Ideally it should be a better type in the generated code
using InkData = std::tuple<sixtyfps::Color, float>;
std::vector<InkData> m_data = {
{ sixtyfps::Color(0xffffff00), 0.9 },
{ sixtyfps::Color(0xff00ffff), 0.5 },
{ sixtyfps::Color(0xffff00ff), 0.8 },
{ sixtyfps::Color(0xff000000), 0.1 }};
};
int main()
{
static MainWindow printer_demo;
printer_demo.set_ink_levels(std::make_shared<InkLevelModel>());
printer_demo.run();
}