mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-30 04:20:23 +00:00
Fix eyedropper when composite groups option is enabled (#3225)
This commit is contained in:
parent
c61a5c9a01
commit
874ab55581
@ -1,5 +1,5 @@
|
||||
// Aseprite
|
||||
// Copyright (C) 2019-2023 Igara Studio S.A.
|
||||
// Copyright (C) 2019-2024 Igara Studio S.A.
|
||||
// Copyright (C) 2001-2018 David Capello
|
||||
//
|
||||
// This program is distributed under the terms of
|
||||
@ -93,10 +93,12 @@ void ColorPicker::pickColor(const Site& site,
|
||||
m_alpha = 255;
|
||||
m_color = app::Color::fromMask();
|
||||
|
||||
auto& pref = Preferences::instance();
|
||||
|
||||
// Check tiled mode
|
||||
if (sprite && site.document()) {
|
||||
auto doc = static_cast<const Doc*>(site.document());
|
||||
DocumentPreferences& docPref = Preferences::instance().document(doc);
|
||||
DocumentPreferences& docPref = pref.document(doc);
|
||||
|
||||
pos = wrap_pointF(docPref.tiled.mode(),
|
||||
site.sprite()->size(), pos);
|
||||
@ -107,7 +109,7 @@ void ColorPicker::pickColor(const Site& site,
|
||||
|
||||
// Pick from the composed image
|
||||
case FromComposition: {
|
||||
doc::RenderPlan plan;
|
||||
doc::RenderPlan plan(pref.experimental.composeGroups());
|
||||
plan.addLayer(sprite->root(), site.frame());
|
||||
|
||||
doc::CelList cels;
|
||||
@ -136,7 +138,8 @@ void ColorPicker::pickColor(const Site& site,
|
||||
sprite->pixelFormat(),
|
||||
render::get_sprite_pixel(sprite, pos.x, pos.y,
|
||||
site.frame(), proj,
|
||||
Preferences::instance().experimental.newBlend()));
|
||||
pref.experimental.newBlend(),
|
||||
pref.experimental.composeGroups()));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -182,7 +185,7 @@ void ColorPicker::pickColor(const Site& site,
|
||||
}
|
||||
|
||||
case FromFirstReferenceLayer: {
|
||||
doc::RenderPlan plan;
|
||||
doc::RenderPlan plan(pref.experimental.composeGroups());
|
||||
for (doc::Layer* refLayer : sprite->allVisibleReferenceLayers())
|
||||
plan.addLayer(refLayer, site.frame());
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Aseprite Render Library
|
||||
// Copyright (c) 2019 Igara Studio S.A.
|
||||
// Copyright (c) 2019-2024 Igara Studio S.A.
|
||||
// Copyright (c) 2001-2018 David Capello
|
||||
//
|
||||
// This file is released under the terms of the MIT license.
|
||||
@ -22,7 +22,8 @@ color_t get_sprite_pixel(const Sprite* sprite,
|
||||
const double y,
|
||||
const frame_t frame,
|
||||
const Projection& proj,
|
||||
const bool newBlend)
|
||||
const bool newBlend,
|
||||
const bool composeGroups)
|
||||
{
|
||||
color_t color = 0;
|
||||
|
||||
@ -32,6 +33,7 @@ color_t get_sprite_pixel(const Sprite* sprite,
|
||||
|
||||
render::Render render;
|
||||
render.setNewBlend(newBlend);
|
||||
render.setComposeGroups(composeGroups);
|
||||
render.setRefLayersVisiblity(true);
|
||||
render.setProjection(proj);
|
||||
render.renderSprite(
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Aseprite Render Library
|
||||
// Copyright (c) 2019 Igara Studio S.A.
|
||||
// Copyright (c) 2019-2024 Igara Studio S.A.
|
||||
// Copyright (c) 2001-2016 David Capello
|
||||
//
|
||||
// This file is released under the terms of the MIT license.
|
||||
@ -28,7 +28,8 @@ namespace render {
|
||||
const double y,
|
||||
const frame_t frame,
|
||||
const Projection& proj,
|
||||
const bool newBlend);
|
||||
const bool newBlend,
|
||||
const bool composeGroups);
|
||||
|
||||
} // namespace render
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user