diff --git a/src/app/commands/cmd_preview.cpp b/src/app/commands/cmd_preview.cpp index 91c30411f..042959d7b 100644 --- a/src/app/commands/cmd_preview.cpp +++ b/src/app/commands/cmd_preview.cpp @@ -140,10 +140,13 @@ void PreviewCommand::onExecute(Context* context) // Render sprite and leave the result in 'render' variable if (render == NULL) { RenderEngine renderEngine(document, sprite, - editor->getLayer(), - editor->getFrame()); - render.reset(renderEngine.renderSprite(0, 0, sprite->getWidth(), sprite->getHeight(), - editor->getFrame(), 0, false)); + editor->getLayer(), + editor->getFrame()); + + render.reset( + renderEngine.renderSprite( + 0, 0, sprite->getWidth(), sprite->getHeight(), + editor->getFrame(), 0, false, false)); } // Redraw the screen diff --git a/src/app/ui/editor/editor.cpp b/src/app/ui/editor/editor.cpp index fe1422e75..f28de5453 100644 --- a/src/app/ui/editor/editor.cpp +++ b/src/app/ui/editor/editor.cpp @@ -387,7 +387,8 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& rc, in try { rendered.reset(renderEngine.renderSprite( source_x, source_y, width, height, - m_frame, m_zoom, true)); + m_frame, m_zoom, true, + ((m_flags & kShowOnionskin) == kShowOnionskin))); } catch (const std::exception& e) { Console::showException(e); diff --git a/src/app/ui/editor/editor.h b/src/app/ui/editor/editor.h index d3c652fad..7633956eb 100644 --- a/src/app/ui/editor/editor.h +++ b/src/app/ui/editor/editor.h @@ -67,7 +67,8 @@ namespace app { kNoneFlag = 0, kShowGridFlag = 1, kShowMaskFlag = 2, - kDefaultEditorFlags = kShowGridFlag | kShowMaskFlag, + kShowOnionskin = 4, + kDefaultEditorFlags = kShowGridFlag | kShowMaskFlag | kShowOnionskin, }; enum ZoomBehavior { diff --git a/src/app/util/render.cpp b/src/app/util/render.cpp index aec59ada9..6bcd29d89 100644 --- a/src/app/util/render.cpp +++ b/src/app/util/render.cpp @@ -1,5 +1,5 @@ /* Aseprite - * Copyright (C) 2001-2013 David Capello + * Copyright (C) 2001-2014 David Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -376,9 +376,10 @@ void RenderEngine::setPreviewImage(const Layer* layer, Image* image) zoom applied (sorce_x<getBackgroundLayer(); @@ -421,7 +422,7 @@ Image* RenderEngine::renderSprite(int source_x, int source_y, IDocumentSettings* docSettings = UIContext::instance() ->getSettings()->getDocumentSettings(m_document); - if (docSettings->getUseOnionskin()) { + if (enable_onionskin & docSettings->getUseOnionskin()) { // Draw background layer of the current frame with opacity=255 global_opacity = 255; renderLayer(m_sprite->getFolder(), image, diff --git a/src/app/util/render.h b/src/app/util/render.h index 70418bb8d..59b59035d 100644 --- a/src/app/util/render.h +++ b/src/app/util/render.h @@ -69,9 +69,10 @@ namespace app { // Main function used by sprite-editors to render the sprite Image* renderSprite(int source_x, int source_y, - int width, int height, - FrameNumber frame, int zoom, - bool draw_tiled_bg); + int width, int height, + FrameNumber frame, int zoom, + bool draw_tiled_bg, + bool enable_onionskin); ////////////////////////////////////////////////////////////////////// // Extra functions