MCPcopy Create free account
hub / github.com/LibreSprite/LibreSprite / flashCurrentLayer

Method flashCurrentLayer

src/app/ui/editor/editor.cpp:840–872  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

838}
839
840void Editor::flashCurrentLayer()
841{
842 if (!Preferences::instance().experimental.flashLayer())
843 return;
844
845 Site site = getSite();
846
847 int x, y;
848 const Image* src_image = site.image(&x, &y);
849 if (src_image) {
850 m_renderEngine.removePreviewImage();
851
852 ExtraCelRef extraCel(new ExtraCel);
853 extraCel->create(m_sprite, m_sprite->bounds(), m_frame, 255);
854 extraCel->setType(render::ExtraType::COMPOSITE);
855 extraCel->setBlendMode(BlendMode::NEG_BW);
856
857 Image* flash_image = extraCel->image();
858 clear_image(flash_image, flash_image->maskColor());
859 copy_image(flash_image, src_image, x, y);
860
861 {
862 ExtraCelRef oldExtraCel = m_document->extraCel();
863 m_document->setExtraCel(extraCel);
864 drawSpriteClipped(gfx::Region(
865 gfx::Rect(0, 0, m_sprite->width(), m_sprite->height())));
866 manager()->flipDisplay();
867 m_document->setExtraCel(oldExtraCel);
868 }
869
870 invalidate();
871 }
872}
873
874gfx::Point Editor::autoScroll(MouseMessage* msg, AutoScroll dir)
875{

Callers 2

onExecuteMethod · 0.80
onMouseDownMethod · 0.80

Calls 15

instanceFunction · 0.85
clear_imageFunction · 0.85
removePreviewImageMethod · 0.80
extraCelMethod · 0.80
setExtraCelMethod · 0.80
flipDisplayMethod · 0.80
RegionClass · 0.70
copy_imageFunction · 0.50
imageMethod · 0.45
createMethod · 0.45
boundsMethod · 0.45
setTypeMethod · 0.45

Tested by

no test coverage detected