|  | #include "scene.hpp"
namespace rack {
void Light::draw(NVGcontext *vg) {
	NVGcolor colorOutline = nvgLerpRGBA(color, nvgRGBf(0.0, 0.0, 0.0), 0.5);
	float radius = box.size.x / 2.0;
	nvgBeginPath(vg);
	nvgCircle(vg, radius, radius, radius);
	nvgFillColor(vg, color);
	nvgFill(vg);
	nvgStrokeWidth(vg, 1.0);
	nvgStrokeColor(vg, colorOutline);
	nvgStroke(vg);
	nvgGlobalCompositeOperation(vg, NVG_LIGHTER);
	NVGpaint paint;
	NVGcolor icol = color;
	icol.a = 0.1;
	NVGcolor ocol = color;
	ocol.a = 0.0;
	float oradius = radius + 30.0;
	paint = nvgRadialGradient(vg, radius, radius, radius, oradius, icol, ocol);
	nvgFillPaint(vg, paint);
	nvgBeginPath(vg);
	nvgRect(vg, radius - oradius, radius - oradius, 2*oradius, 2*oradius);
	nvgFill(vg);
}
} // namespace rack
 |