| 184 | } |
| 185 | |
| 186 | void createPreview() { |
| 187 | if (previewWidget) |
| 188 | return; |
| 189 | |
| 190 | previewWidget = new widget::TransparentWidget; |
| 191 | addChild(previewWidget); |
| 192 | |
| 193 | zoomWidget = new widget::ZoomWidget; |
| 194 | previewWidget->addChild(zoomWidget); |
| 195 | |
| 196 | fb = new widget::FramebufferWidget; |
| 197 | if (APP->window->pixelRatio < 2.0) { |
| 198 | // Small details draw poorly at low DPI, so oversample when drawing to the framebuffer |
| 199 | fb->oversample = 2.0; |
| 200 | } |
| 201 | zoomWidget->addChild(fb); |
| 202 | |
| 203 | mwc = new ModuleWidgetContainer; |
| 204 | fb->addChild(mwc); |
| 205 | |
| 206 | INFO("Creating module widget %s", model->getFullName().c_str()); |
| 207 | moduleWidget = model->createModuleWidget(NULL); |
| 208 | mwc->addChild(moduleWidget); |
| 209 | mwc->box.size = moduleWidget->box.size; |
| 210 | |
| 211 | // Step ModuleWidget so it can set its default appearance. |
| 212 | moduleWidget->step(); |
| 213 | |
| 214 | updateZoom(); |
| 215 | } |
| 216 | |
| 217 | void draw(const DrawArgs& args) override { |
| 218 | // Lazily create preview when drawn |
nothing calls this directly
no test coverage detected