// Aseprite Document Library
// Copyright (c) 2020 Igara Studio S.A.
// Copyright (c) 2018 David Capello
//
// This file is released under the terms of the MIT license.
// Read LICENSE.txt for more information.

#ifndef DOC_ALGORITHM_FILL_SELECTION_H_INCLUDED
#define DOC_ALGORITHM_FILL_SELECTION_H_INCLUDED
#pragma once

#include "doc/color.h"
#include "gfx/rect.h"

namespace doc {
class Grid;
class Image;
class Mask;

namespace algorithm {

void fill_selection(Image* image,
                    const gfx::Rect& imageBounds,
                    const Mask* mask,
                    // This can be a color_t or a tile_t if the image is a tilemap
                    const color_t color,
                    // Optional grid for tilemaps
                    const Grid* grid = nullptr);

} // namespace algorithm
} // namespace doc

#endif
