{
VRle matteRle;
if (matteSource) {
- std::vector<VDrawable *> matteList;
- matteSource->renderList(matteList);
- for (auto &i : matteList) {
+ mDrawableList.clear();
+ matteSource->renderList(mDrawableList);
+ for (auto &i : mDrawableList) {
matteRle = matteRle + i->rle();
}
}
- std::vector<VDrawable *> list;
- renderList(list);
+ mDrawableList.clear();
+ renderList(mDrawableList);
VRle mask = inheritMask;
if (hasMask()) {
if (mask.isEmpty())
mask = mask & inheritMask;
}
- for (auto &i : list) {
+ for (auto &i : mDrawableList) {
painter->setBrush(i->mBrush);
VRle rle = i->rle();
if (!mask.isEmpty()) rle = i->rle() & mask;
{
VRle matteRle;
if (matteSource) {
- std::vector<VDrawable *> matteList;
- matteSource->renderList(matteList);
- for (auto &i : matteList) {
+ mDrawableList.clear();
+ matteSource->renderList(mDrawableList);
+ for (auto &i : mDrawableList) {
matteRle = matteRle + i->rle();
}
}
VRle maskRle(const VRect &clipRect);
bool hasMask() const {return !mMasks.empty();}
protected:
+ std::vector<VDrawable *> mDrawableList;
std::vector<std::unique_ptr<LOTMaskItem>> mMasks;
LOTLayerData *mLayerData;
LOTLayerItem *mParentLayer;