The following code example demonstrate the use of sixteen segment display control.
#include <xtd/xtd>
using namespace std::literals;
class form1 :
public form {
public:
form1() {
sixteen_segment_display1.
height(250);
sixteen_segment_display1.location({(client_size().width() - sixteen_segment_display1.width()) / 2, (client_size().height() - sixteen_segment_display1.height()) / 2});
sixteen_segment_display1.parent(*this);
sixteen_segment_display1.fore_color(color::red);
sixteen_segment_display1.anchor(anchor_styles::top|anchor_styles::bottom);
timer1.interval(300ms);
timer1.enabled(true);
timer1.tick += [&] {
sixteen_segment_display1.segment_style(segment_styles[(counter / chaser.size()) % segment_styles.size()]);
sixteen_segment_display1.value(chaser[counter++ % chaser.size()]);
};
back_color(color::average(color::black, sixteen_segment_display1.fore_color(), 0.20));
text("Sixteen segment display example");
resize += [&] {
sixteen_segment_display1.left((client_size().width() - sixteen_segment_display1.width()) / 2);
};
}
private:
int counter = 0;
std::vector<segments> chaser = {
segments::none,
segments::a1,
segments::a1|segments::a2,
segments::a1|segments::a2|segments::b,
segments::a1|segments::a2|segments::b|segments::c,
segments::a1|segments::a2|segments::b|segments::c|segments::d2,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2|segments::h,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2|segments::h|segments::i,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2|segments::h|segments::i|segments::j,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2|segments::h|segments::i|segments::j|segments::k,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2|segments::h|segments::i|segments::j|segments::k|segments::l,
segments::a1|segments::a2|segments::b|segments::c|segments::d1|segments::d2|segments::e|segments::f|segments::g1|segments::g2|segments::h|segments::i|segments::j|segments::k|segments::l|segments::m,
segments::dp,
segments::pc
};
std::vector<segment_style> segment_styles = {
segment_style::standard,
segment_style::modern,
segment_style::mixed,
segment_style::expanded,
segment_style::design,
segment_style::stick
};
};
int main() {
application::run(form1());
}
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition: bitmap.h:11
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17