本文整理汇总了C++中std::shared_ptr::ChainTransformation方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::ChainTransformation方法的具体用法?C++ shared_ptr::ChainTransformation怎么用?C++ shared_ptr::ChainTransformation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::ChainTransformation方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Validate
void Validate() override
{
if (Validated) return;
Layer0 = std::make_shared<Sprite>();
LayerMiss = std::make_shared<Sprite>();
Layer1 = std::make_shared<Sprite>();
Layer2 = std::make_shared<Sprite>();
Layer0->ChainTransformation(&Transform);
LayerMiss->ChainTransformation(&Transform);
Layer1->ChainTransformation(&Transform);
Layer2->ChainTransformation(&Transform);
Layer0->SetZ(0);
Layer1->SetZ(0);
LayerMiss->SetZ(0);
Layer2->SetZ(0);
Layer1->BlackToTransparent = Layer2->BlackToTransparent = BlackToTransparent;
LayerMiss->SetImage(List.GetFromIndex(0), false);
Layer0->SetImage(List.GetFromIndex(1), false);
sort(EventsLayer0.begin(), EventsLayer0.end());
sort(EventsLayerMiss.begin(), EventsLayerMiss.end());
sort(EventsLayer1.begin(), EventsLayer1.end());
sort(EventsLayer2.begin(), EventsLayer2.end());
// Add BMP 0 as default value for layer 0. I was opting for a
// if() at SetLayerImage time, but we're microoptimizing for branch mishits.
if (EventsLayerMiss.size() == 0 || (EventsLayerMiss.size() > 0 && EventsLayerMiss[0].Time > 0))
{
AutoplayBMP bmp;
bmp.Time = 0;
bmp.BMP = 0;
EventsLayerMiss.push_back(bmp);
}
Transform.SetWidth(256);
Transform.SetHeight(256);
Validated = true;
}