void Surface :: ClearColorBuffer(const Color & rgba, const Color & mask, const Rect& scissor) { switch (GetColorFormat()) { case ColorFormatRGB565: ClearBuffer16(m_ColorBuffer, rgba.ConvertTo565(), mask.ConvertTo565(), scissor); break; case ColorFormatRGBA4444: ClearBuffer16(m_ColorBuffer, rgba.ConvertTo4444(), mask.ConvertTo4444(), scissor); break; case ColorFormatRGBA5551: ClearBuffer16(m_ColorBuffer, rgba.ConvertTo5551(), mask.ConvertTo5551(), scissor); break; case ColorFormatRGBA8: ClearBuffer32(m_ColorBuffer, rgba.ConvertToRGBA(), mask.ConvertToRGBA(), scissor); break; default: assert(false); } }