本文整理汇总了C++中Surface::SetColorKey方法的典型用法代码示例。如果您正苦于以下问题:C++ Surface::SetColorKey方法的具体用法?C++ Surface::SetColorKey怎么用?C++ Surface::SetColorKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Surface
的用法示例。
在下文中一共展示了Surface::SetColorKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawCursor
/* draw simple cursor */
void Cursor::DrawCursor(Surface &surface, const u8 indexcolor, bool solid)
{
if(! surface.isValid()) return;
surface.SetColorKey();
u16 width = surface.w();
u16 height = surface.h();
// draw cursor
u32 color = surface.GetColor(indexcolor);
surface.Lock();
if(solid)
{
for(u8 i = 0; i < width; ++i)
{
surface.SetPixel(i, 0, color);
surface.SetPixel(i, height - 1, color);
}
for(u8 i = 0; i < height; ++i)
{
surface.SetPixel(0, i, color);
surface.SetPixel(width - 1, i, color);
}
}
else
{
for(u8 i = 0; i < width; ++i)
{
surface.SetPixel(i, 0, color);
if(i + 1 < width) surface.SetPixel(i + 1, 0, color);
i += 3;
}
for(u8 i = 0; i < width; ++i)
{
surface.SetPixel(i, height - 1, color);
if(i + 1 < width) surface.SetPixel(i + 1, height - 1, color);
i += 3;
}
for(u8 i = 0; i < height; ++i)
{
surface.SetPixel(0, i, color);
if(i + 1 < height) surface.SetPixel(0, i + 1, color);
i += 3;
}
for(u8 i = 0; i < height; ++i)
{
surface.SetPixel(width - 1, i, color);
if(i + 1 < height) surface.SetPixel(width - 1, i + 1, color);
i += 3;
}
}
surface.Unlock();
}