mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-14 04:19:12 +00:00
Render reference layers only in the sprite editor
This commit is contained in:
parent
609946c33f
commit
bcb775a88b
@ -173,6 +173,7 @@ protected:
|
||||
virtual void onPaint(PaintEvent& ev) override {
|
||||
Graphics* g = ev.graphics();
|
||||
AppRender& render = m_editor->renderEngine();
|
||||
render.setRefLayersVisiblity(false);
|
||||
render.setProjection(render::Projection());
|
||||
render.disableOnionskin();
|
||||
render.setBgType(render::BgType::TRANSPARENT);
|
||||
|
@ -546,6 +546,7 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
|
||||
// Create a temporary RGB bitmap to draw all to it
|
||||
rendered.reset(Image::create(IMAGE_RGB, rc.w, rc.h, m_renderBuffer));
|
||||
|
||||
m_renderEngine.setRefLayersVisiblity(true);
|
||||
m_renderEngine.setProjection(m_proj);
|
||||
m_renderEngine.setupBackground(m_document, rendered->pixelFormat());
|
||||
m_renderEngine.disableOnionskin();
|
||||
|
@ -474,7 +474,8 @@ bool has_visible_reference_layers(const LayerGroup* group)
|
||||
} // anonymous namespace
|
||||
|
||||
Render::Render()
|
||||
: m_sprite(NULL)
|
||||
: m_flags(0)
|
||||
, m_sprite(nullptr)
|
||||
, m_currentLayer(NULL)
|
||||
, m_currentFrame(0)
|
||||
, m_extraType(ExtraType::NONE)
|
||||
@ -491,6 +492,14 @@ Render::Render()
|
||||
{
|
||||
}
|
||||
|
||||
void Render::setRefLayersVisiblity(const bool visible)
|
||||
{
|
||||
if (visible)
|
||||
m_flags |= Flags::ShowRefLayers;
|
||||
else
|
||||
m_flags &= ~Flags::ShowRefLayers;
|
||||
}
|
||||
|
||||
void Render::setProjection(const Projection& projection)
|
||||
{
|
||||
m_proj = projection;
|
||||
@ -882,6 +891,11 @@ void Render::renderLayer(
|
||||
(!render_transparent && !layer->isBackground()))
|
||||
break;
|
||||
|
||||
// Ignore reference layers
|
||||
if (!(m_flags & Flags::ShowRefLayers) &&
|
||||
layer->isReference())
|
||||
break;
|
||||
|
||||
const Cel* cel = layer->cel(frame);
|
||||
if (cel) {
|
||||
Palette* pal = m_sprite->palette(frame);
|
||||
|
@ -97,9 +97,15 @@ namespace render {
|
||||
const double sy);
|
||||
|
||||
class Render {
|
||||
enum Flags {
|
||||
ShowRefLayers = 1,
|
||||
};
|
||||
|
||||
public:
|
||||
Render();
|
||||
|
||||
void setRefLayersVisiblity(const bool visible);
|
||||
|
||||
// Viewport configuration
|
||||
void setProjection(const Projection& projection);
|
||||
|
||||
@ -213,6 +219,7 @@ namespace render {
|
||||
const PixelFormat srcFormat,
|
||||
const Layer* layer);
|
||||
|
||||
int m_flags;
|
||||
const Sprite* m_sprite;
|
||||
const Layer* m_currentLayer;
|
||||
frame_t m_currentFrame;
|
||||
|
Loading…
x
Reference in New Issue
Block a user