15 Background::Background(
const std::initializer_list<const Fill*>& fills,
16 const std::initializer_list<const Image*>& images)
18 m_Fills.insert(m_Fills.end(), fills);
19 m_Images.insert(m_Images.end(), images);
22 Background::Background(
const std::initializer_list<const Fill*>& fills)
24 m_Fills.insert(m_Fills.end(), fills);
27 Background::Background(
const Fill* fill) : Background({fill}) {}
29 void Background::addFill(
const Fill* fill) { assert(fill); m_Fills.push_back(fill); }
30 void Background::addImage(
const Image* image) { assert(image); m_Images.push_back(image); }
32 void Background::clearFills() { m_Fills.clear(); }
33 void Background::clearImages() { m_Images.clear(); }
35 const std::vector<const Fill*>& Background::getFills()
const {
return m_Fills; }
36 const std::vector<const Image*> Background::getImages()
const {
return m_Images; }
38 void Background::fillArea(
const Background* background,
const Sml::Rectangle<int32_t>& targetRegion)
40 for (
const Fill* fill : background->getFills())
42 fill->fillArea({0, 0, targetRegion.width, targetRegion.height}, targetRegion);
45 for (
const Image* image : background->getImages())
47 renderImage(image, targetRegion);