MCPcopy Create free account
hub / github.com/ErrorAtLine0/infinipaint / draw

Method draw

src/DrawingProgram/DrawingProgram.cpp:820–846  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

818}
819
820void 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
848Vector4f* DrawingProgram::get_foreground_color_ptr() {
849 return &world.main.toolConfig.globalConf.foregroundColor;

Callers 1

draw_componentsMethod · 0.45

Calls 8

draw_componentsMethod · 0.80
restoreMethod · 0.80
draw_guiMethod · 0.80
clearMethod · 0.45
get_typeMethod · 0.45

Tested by

no test coverage detected