Remove Sprite::getLayersList() member

This commit is contained in:
David Capello 2016-06-29 10:59:37 -03:00
parent 7f4fbb0e85
commit 2d6412357c
9 changed files with 21 additions and 42 deletions

View File

@ -227,8 +227,7 @@ namespace {
return; return;
} }
std::vector<Layer*> layers; LayerList layers = sprite->allLayers();
sprite->getLayersList(layers);
for (int i=0; i<int(layers.size()); ++i) { for (int i=0; i<int(layers.size()); ++i) {
Layer* layer = layers[i]; Layer* layer = layers[i];
bool selected = range.inRange(LayerIndex(i)); bool selected = range.inRange(LayerIndex(i));
@ -297,8 +296,7 @@ public:
if (m_docPref.spriteSheet.layer() == kSelectedLayers) if (m_docPref.spriteSheet.layer() == kSelectedLayers)
layers()->setSelectedItemIndex(i); layers()->setSelectedItemIndex(i);
{ {
std::vector<Layer*> layersList; LayerList layersList = m_sprite->allLayers();
m_sprite->getLayersList(layersList);
for (Layer* layer : layersList) { for (Layer* layer : layersList) {
i = layers()->addItem(new LayerItem(layer)); i = layers()->addItem(new LayerItem(layer));
if (m_docPref.spriteSheet.layer() == layer->name()) if (m_docPref.spriteSheet.layer() == layer->name())
@ -837,8 +835,7 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
} }
else { else {
// TODO add a getLayerByName // TODO add a getLayerByName
std::vector<Layer*> layers; LayerList layers = sprite->allLayers();
sprite->getLayersList(layers);
for (Layer* l : layers) { for (Layer* l : layers) {
if (l->name() == layerName) { if (l->name() == layerName) {
layer = l; layer = l;

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2001-2015 David Capello // Copyright (C) 2001-2016 David Capello
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as // it under the terms of the GNU General Public License version 2 as
@ -76,8 +76,7 @@ public:
for (Cel* cel : spr->cels()) for (Cel* cel : spr->cels())
saveObject("cel", cel, &Writer::writeCel); saveObject("cel", cel, &Writer::writeCel);
std::vector<Layer*> layers; LayerList layers = spr->allLayers();
spr->getLayersList(layers);
for (Layer* lay : layers) for (Layer* lay : layers)
saveObject("lay", lay, &Writer::writeLayerStructure); saveObject("lay", lay, &Writer::writeLayerStructure);
@ -104,8 +103,7 @@ private:
write32(s, spr->frameDuration(fr)); write32(s, spr->frameDuration(fr));
// IDs of all main layers // IDs of all main layers
std::vector<Layer*> layers; LayerList layers = spr->allLayers();
spr->getLayersList(layers);
write32(s, layers.size()); write32(s, layers.size());
for (Layer* lay : layers) for (Layer* lay : layers)
write32(s, lay->id()); write32(s, lay->id());

View File

@ -82,8 +82,7 @@ void DocumentApi::cropSprite(Sprite* sprite, const gfx::Rect& bounds)
setSpriteSize(sprite, bounds.w, bounds.h); setSpriteSize(sprite, bounds.w, bounds.h);
app::Document* doc = static_cast<app::Document*>(sprite->document()); app::Document* doc = static_cast<app::Document*>(sprite->document());
std::vector<Layer*> layers; LayerList layers = sprite->allLayers();
sprite->getLayersList(layers);
for (Layer* layer : layers) { for (Layer* layer : layers) {
if (!layer->isImage()) if (!layer->isImage())
continue; continue;

View File

@ -758,10 +758,7 @@ void DocumentExporter::createDataFile(const Samples& samples, std::ostream& os,
Document* doc = item.doc; Document* doc = item.doc;
Sprite* sprite = doc->sprite(); Sprite* sprite = doc->sprite();
std::vector<Layer*> layers; for (Layer* layer : sprite->allVisibleLayers()) {
sprite->getLayersList(layers);
for (Layer* layer : layers) {
if (firstLayer) if (firstLayer)
firstLayer = false; firstLayer = false;
else else

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2001-2015 David Capello // Copyright (C) 2001-2016 David Capello
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as // it under the terms of the GNU General Public License version 2 as
@ -99,9 +99,7 @@ static DocumentRange drop_range_op(
case DocumentRange::kCels: case DocumentRange::kCels:
{ {
std::vector<Layer*> layers; LayerList layers = sprite->allBrowsableLayers();
sprite->getLayersList(layers);
int srcLayerBegin, srcLayerStep, srcLayerEnd; int srcLayerBegin, srcLayerStep, srcLayerEnd;
int dstLayerBegin, dstLayerStep; int dstLayerBegin, dstLayerStep;
frame_t srcFrameBegin, srcFrameStep, srcFrameEnd; frame_t srcFrameBegin, srcFrameStep, srcFrameEnd;
@ -145,6 +143,9 @@ static DocumentRange drop_range_op(
srcLayerIdx < 0 || srcLayerIdx >= int(layers.size())) srcLayerIdx < 0 || srcLayerIdx >= int(layers.size()))
break; break;
ASSERT(layers[srcLayerIdx]->isImage());
ASSERT(layers[dstLayerIdx]->isImage());
LayerImage* srcLayer = static_cast<LayerImage*>(layers[srcLayerIdx]); LayerImage* srcLayer = static_cast<LayerImage*>(layers[srcLayerIdx]);
LayerImage* dstLayer = static_cast<LayerImage*>(layers[dstLayerIdx]); LayerImage* dstLayer = static_cast<LayerImage*>(layers[dstLayerIdx]);
@ -268,8 +269,7 @@ static DocumentRange drop_range_op(
case DocumentRange::kLayers: case DocumentRange::kLayers:
{ {
std::vector<Layer*> layers; LayerList layers = sprite->allBrowsableLayers();
sprite->getLayersList(layers);
if (layers.empty()) if (layers.empty())
break; break;
@ -382,10 +382,12 @@ void reverse_frames(Document* doc, const DocumentRange& range)
} }
} }
else { else {
std::vector<Layer*> layers; LayerList layers = sprite->allBrowsableLayers();
sprite->getLayersList(layers);
for (int layerIdx = layerBegin; layerIdx != layerEnd; ++layerIdx) { for (int layerIdx = layerBegin; layerIdx != layerEnd; ++layerIdx) {
if (!layers[layerIdx]->isImage())
continue;
for (frame_t frame = frameBegin, for (frame_t frame = frameBegin,
frameRev = frameEnd; frameRev = frameEnd;
frame != (frameBegin+frameEnd)/2+1; frame != (frameBegin+frameEnd)/2+1;

View File

@ -838,9 +838,7 @@ public:
m_sprite->getPalettes().size() == 1) { m_sprite->getPalettes().size() == 1) {
// If some layer has opacity < 255 or a different blend mode, we // If some layer has opacity < 255 or a different blend mode, we
// need to create color palettes. // need to create color palettes.
std::vector<Layer*> layers; for (const Layer* layer : m_sprite->allVisibleLayers()) {
m_sprite->getLayersList(layers);
for (const Layer* layer : layers) {
if (layer->isVisible() && layer->isImage()) { if (layer->isVisible() && layer->isImage()) {
const LayerImage* imageLayer = static_cast<const LayerImage*>(layer); const LayerImage* imageLayer = static_cast<const LayerImage*>(layer);
if (imageLayer->opacity() < 255 || if (imageLayer->opacity() < 255 ||

View File

@ -347,10 +347,8 @@ void paste()
DocumentRange srcRange = clipboard_range.range(); DocumentRange srcRange = clipboard_range.range();
Document* srcDoc = clipboard_range.document(); Document* srcDoc = clipboard_range.document();
Sprite* srcSpr = srcDoc->sprite(); Sprite* srcSpr = srcDoc->sprite();
std::vector<Layer*> srcLayers; LayerList srcLayers = srcSpr->allBrowsableLayers();
std::vector<Layer*> dstLayers; LayerList dstLayers = dstSpr->allBrowsableLayers();
srcSpr->getLayersList(srcLayers);
dstSpr->getLayersList(dstLayers);
switch (srcRange.type()) { switch (srcRange.type()) {

View File

@ -255,14 +255,6 @@ LayerIndex Sprite::layerToIndex(const Layer* layer) const
return layer2index(root(), layer, &index_count); return layer2index(root(), layer, &index_count);
} }
void Sprite::getLayersList(std::vector<Layer*>& layers) const
{
// TODO support subgroups
for (Layer* child : m_root->layers()) {
layers.push_back(child);
}
}
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
// Palettes // Palettes

View File

@ -101,8 +101,6 @@ namespace doc {
Layer* indexToLayer(LayerIndex index) const; Layer* indexToLayer(LayerIndex index) const;
LayerIndex layerToIndex(const Layer* layer) const; LayerIndex layerToIndex(const Layer* layer) const;
void getLayersList(std::vector<Layer*>& layers) const;
//////////////////////////////////////// ////////////////////////////////////////
// Palettes // Palettes