Example #1
0
	SurfacePtr SurfaceSDL::runGlobalAlphaFilter()
	{
		auto filter_fn = Surface::getAlphaFilter();
		if(filter_fn && !(getFlags() & SurfaceFlags::NO_ALPHA_FILTER)) {
			return handleConvert(PixelFormat::PF::PIXELFORMAT_ARGB8888, [&filter_fn](int& r, int& g, int& b, int& a) {
				if(filter_fn(r, g, b)) {
					r = g = b = a = 0;
				}
			});	
		}
		return shared_from_this();
	}
Example #2
0
	SurfacePtr Surface::convert(PixelFormat::PF fmt, SurfaceConvertFn convert)
	{
		return handleConvert(fmt, convert);
	}