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

View File

@ -1,5 +1,5 @@
// 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
// it under the terms of the GNU General Public License version 2 as
@ -76,8 +76,7 @@ public:
for (Cel* cel : spr->cels())
saveObject("cel", cel, &Writer::writeCel);
std::vector<Layer*> layers;
spr->getLayersList(layers);
LayerList layers = spr->allLayers();
for (Layer* lay : layers)
saveObject("lay", lay, &Writer::writeLayerStructure);
@ -104,8 +103,7 @@ private:
write32(s, spr->frameDuration(fr));
// IDs of all main layers
std::vector<Layer*> layers;
spr->getLayersList(layers);
LayerList layers = spr->allLayers();
write32(s, layers.size());
for (Layer* lay : layers)
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);
app::Document* doc = static_cast<app::Document*>(sprite->document());
std::vector<Layer*> layers;
sprite->getLayersList(layers);
LayerList layers = sprite->allLayers();
for (Layer* layer : layers) {
if (!layer->isImage())
continue;

View File

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

View File

@ -1,5 +1,5 @@
// 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
// 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:
{
std::vector<Layer*> layers;
sprite->getLayersList(layers);
LayerList layers = sprite->allBrowsableLayers();
int srcLayerBegin, srcLayerStep, srcLayerEnd;
int dstLayerBegin, dstLayerStep;
frame_t srcFrameBegin, srcFrameStep, srcFrameEnd;
@ -145,6 +143,9 @@ static DocumentRange drop_range_op(
srcLayerIdx < 0 || srcLayerIdx >= int(layers.size()))
break;
ASSERT(layers[srcLayerIdx]->isImage());
ASSERT(layers[dstLayerIdx]->isImage());
LayerImage* srcLayer = static_cast<LayerImage*>(layers[srcLayerIdx]);
LayerImage* dstLayer = static_cast<LayerImage*>(layers[dstLayerIdx]);
@ -268,8 +269,7 @@ static DocumentRange drop_range_op(
case DocumentRange::kLayers:
{
std::vector<Layer*> layers;
sprite->getLayersList(layers);
LayerList layers = sprite->allBrowsableLayers();
if (layers.empty())
break;
@ -382,10 +382,12 @@ void reverse_frames(Document* doc, const DocumentRange& range)
}
}
else {
std::vector<Layer*> layers;
sprite->getLayersList(layers);
LayerList layers = sprite->allBrowsableLayers();
for (int layerIdx = layerBegin; layerIdx != layerEnd; ++layerIdx) {
if (!layers[layerIdx]->isImage())
continue;
for (frame_t frame = frameBegin,
frameRev = frameEnd;
frame != (frameBegin+frameEnd)/2+1;

View File

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

View File

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

View File

@ -255,14 +255,6 @@ LayerIndex Sprite::layerToIndex(const Layer* layer) const
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

View File

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