Browse Source

Simplify CairoExampleUI

Signed-off-by: falkTX <falktx@falktx.com>
pull/309/head
falkTX 4 years ago
parent
commit
9d8205092b
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 46 additions and 18 deletions
  1. +45
    -17
      examples/CairoUI/CairoExampleUI.cpp
  2. +1
    -1
      examples/CairoUI/DemoWidgetClickable.hpp

+ 45
- 17
examples/CairoUI/CairoExampleUI.cpp View File

@@ -37,32 +37,38 @@ public:
CairoExampleUI()
: UI(200, 200)
{
DemoWidgetClickable* widgetClickable = new DemoWidgetClickable(this);
fWidgetClickable = widgetClickable;
widgetClickable->setSize(50, 50);
widgetClickable->setAbsolutePos(100, 100);
fWidgetClickable = new DemoWidgetClickable(this);
fWidgetClickable->setSize(50, 50);
fWidgetClickable->setAbsolutePos(100, 100);

DemoWidgetBanner* widgetBanner = new DemoWidgetBanner(this);
fWidgetBanner = widgetBanner;
widgetBanner->setSize(180, 80);
widgetBanner->setAbsolutePos(10, 10);
fWidgetBanner = new DemoWidgetBanner(this);
fWidgetBanner->setSize(180, 80);
fWidgetBanner->setAbsolutePos(10, 10);

CairoImage knobSkin;
knobSkin.loadFromPNG(Artwork::knobData, Artwork::knobDataSize);

CairoImageKnob* knob = new CairoImageKnob(this, knobSkin);
fKnob = knob;
knob->setSize(80, 80);
knob->setAbsolutePos(10, 100);
fKnob = new CairoImageKnob(this, knobSkin);
fKnob->setSize(80, 80);
fKnob->setAbsolutePos(10, 100);

CairoImage buttonOn, buttonOff;
buttonOn.loadFromPNG(Artwork::buttonOnData, Artwork::buttonOnDataSize);
buttonOff.loadFromPNG(Artwork::buttonOffData, Artwork::buttonOffDataSize);

CairoImageButton* button = new CairoImageButton(this, buttonOff, buttonOn);
fButton = button;
button->setSize(60, 35);
button->setAbsolutePos(100, 160);
fButton = new CairoImageButton(this, buttonOff, buttonOn);
fButton->setSize(60, 35);
fButton->setAbsolutePos(100, 160);

#if 0
// we can use this if/when our resources are scalable, for now they are PNGs
const double scaleFactor = getScaleFactor();
if (scaleFactor != 1.0)
setSize(200 * scaleFactor, 200 * scaleFactor);
#else
// without scalable resources, let DPF handle the scaling internally
setGeometryConstraints(200, 200, true, true);
#endif
}

protected:
@@ -73,7 +79,29 @@ protected:
cairo_paint(cr);
}

void parameterChanged(uint32_t index, float value)
#if 0
// we can use this if/when our resources are scalable, for now they are PNGs
void onResize(const ResizeEvent& ev) override
{
UI::onResize(ev);

const double scaleFactor = getScaleFactor();

fWidgetClickable->setSize(50*scaleFactor, 50*scaleFactor);
fWidgetClickable->setAbsolutePos(100*scaleFactor, 100*scaleFactor);

fWidgetBanner->setSize(180*scaleFactor, 80*scaleFactor);
fWidgetBanner->setAbsolutePos(10*scaleFactor, 10*scaleFactor);

fKnob->setSize(80*scaleFactor, 80*scaleFactor);
fKnob->setAbsolutePos(10*scaleFactor, 100*scaleFactor);

fButton->setSize(60*scaleFactor, 35*scaleFactor);
fButton->setAbsolutePos(100*scaleFactor, 160*scaleFactor);
}
#endif

void parameterChanged(uint32_t index, float value) override
{
// unused
(void)index;


+ 1
- 1
examples/CairoUI/DemoWidgetClickable.hpp View File

@@ -87,7 +87,7 @@ protected:
}
}

return Widget::onMouse(event);
return CairoSubWidget::onMouse(event);
}

private:


Loading…
Cancel
Save