ComputerscareSvgPort.cpp (778B)
1 #include "Computerscare.hpp" 2 3 namespace rack { 4 namespace app { 5 6 7 ComputerscareSvgPort::ComputerscareSvgPort() { 8 fb = new widget::FramebufferWidget; 9 addChild(fb); 10 11 shadow = new CircularShadow; 12 fb->addChild(shadow); 13 // Avoid breakage if plugins fail to call setSvg() 14 // In that case, just disable the shadow. 15 shadow->box.size = math::Vec(0, 0); 16 17 sw = new widget::SvgWidget; 18 fb->addChild(sw); 19 } 20 21 void ComputerscareSvgPort::setSvg(std::shared_ptr<Svg> svg) { 22 sw->setSvg(svg); 23 fb->box.size = sw->box.size; 24 box.size = sw->box.size; 25 shadow->box.size = math::Vec(0, 0); 26 // Move shadow downward by 10% 27 shadow->box.pos = math::Vec(0, sw->box.size.y * 0.10); 28 // shadow->box = shadow->box.grow(math::Vec(2, 2)); 29 fb->dirty = true; 30 } 31 32 33 } // namespace app 34 } // namespace rack