| 818 | } |
| 819 | |
| 820 | void DrawingProgram::draw(SkCanvas* canvas, const DrawData& drawData) { |
| 821 | if(drawData.takingScreenshot) |
| 822 | layerMan.draw(canvas, drawData); |
| 823 | else { |
| 824 | canvas->saveLayer(nullptr, nullptr); |
| 825 | canvas->clear(SkColor4f{0.0f, 0.0f, 0.0f, 0.0f}); |
| 826 | drawCache.update_and_draw_cached_canvas(canvas, drawData); |
| 827 | canvas->saveLayer(nullptr, nullptr); |
| 828 | selection.draw_components(canvas, drawData); |
| 829 | canvas->restore(); |
| 830 | canvas->restore(); |
| 831 | |
| 832 | for(auto& droppedDownFile : droppedDownloadingFiles) |
| 833 | static_cast<ImageCanvasComponent&>(droppedDownFile.comp->obj->get_comp()).draw_download_progress_bar(canvas, drawData, droppedDownFile.downData->progress); |
| 834 | |
| 835 | for(auto& c : updateableComponents) { |
| 836 | if(c->obj->get_comp().get_type() == CanvasComponentType::IMAGE) { |
| 837 | auto& img = static_cast<ImageCanvasComponent&>(c->obj->get_comp()); |
| 838 | float progress = drawData.main->world->rMan.get_resource_retrieval_progress(img.d.imageID); |
| 839 | img.draw_download_progress_bar(canvas, drawData, progress); |
| 840 | } |
| 841 | } |
| 842 | |
| 843 | selection.draw_gui(canvas, drawData); |
| 844 | drawTool->draw(canvas, drawData); |
| 845 | } |
| 846 | } |
| 847 | |
| 848 | Vector4f* DrawingProgram::get_foreground_color_ptr() { |
| 849 | return &world.main.toolConfig.globalConf.foregroundColor; |
no test coverage detected