本文整理汇总了C++中Palette::CreateShadedAlphaChannel方法的典型用法代码示例。如果您正苦于以下问题:C++ Palette::CreateShadedAlphaChannel方法的具体用法?C++ Palette::CreateShadedAlphaChannel怎么用?C++ Palette::CreateShadedAlphaChannel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Palette
的用法示例。
在下文中一共展示了Palette::CreateShadedAlphaChannel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetFrameInternal
Sprite2D* BAMImporter::GetFrameInternal(unsigned short findex, unsigned char mode,
bool BAMsprite, const unsigned char* data,
AnimationFactory* datasrc)
{
Sprite2D* spr = 0;
if (BAMsprite) {
bool RLECompressed = (frames[findex].FrameData & 0x80000000) == 0;
assert(data);
const unsigned char* framedata = data;
framedata += (frames[findex].FrameData & 0x7FFFFFFF) - DataStart;
if (RLECompressed) {
spr = core->GetVideoDriver()->CreateSpriteBAM8(
frames[findex].Width, frames[findex].Height,
true, framedata, datasrc, palette, CompressedColorIndex);
} else {
spr = core->GetVideoDriver()->CreateSpriteBAM8(
frames[findex].Width, frames[findex].Height, false,
framedata, datasrc, palette, CompressedColorIndex );
}
} else {
void* pixels = GetFramePixels(findex);
spr = core->GetVideoDriver()->CreateSprite8(
frames[findex].Width, frames[findex].Height, 8,
pixels, palette->col, true, 0 );
}
spr->XPos = (ieWordSigned)frames[findex].XPos;
spr->YPos = (ieWordSigned)frames[findex].YPos;
if (mode == IE_SHADED) {
// CHECKME: is this ever used? Should we modify the sprite's palette
// without creating a local copy for this sprite?
Palette* pal = spr->GetPalette();
pal->CreateShadedAlphaChannel();
pal->Release();
}
return spr;
}