[Super-tux-commit] supertux/lib/video surface.h,1.7,1.8 surface.cpp,1.11,1.12
Brought to you by:
wkendrick
From: Ricardo C. <rm...@us...> - 2004-10-20 21:09:09
|
Update of /cvsroot/super-tux/supertux/lib/video In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9926/lib/video Modified Files: surface.h surface.cpp Log Message: Apply filters when reloading Surfaces. Fixes bug that after changing video mode, player only looked right and enemies left. Index: surface.h =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/video/surface.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- surface.h 19 Oct 2004 17:45:38 -0000 1.7 +++ surface.h 20 Oct 2004 21:08:50 -0000 1.8 @@ -72,6 +72,10 @@ ConstructorType type; SDL_Surface* surface; std::string file; + + struct Filter { int type; Color color; }; + std::vector<Filter> applied_filters; + bool use_alpha; int x; int y; Index: surface.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/lib/video/surface.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- surface.cpp 19 Oct 2004 17:45:38 -0000 1.11 +++ surface.cpp 20 Oct 2004 21:08:51 -0000 1.12 @@ -194,12 +194,21 @@ { w = impl->w; h = impl->h; + for(std::vector<SurfaceData::Filter>::iterator i = + data.applied_filters.begin(); i != data.applied_filters.end(); + i++) + impl->apply_filter(i->type, i->color); } } void Surface::apply_filter(int filter, Color color) { impl->apply_filter(filter, color); + +SurfaceData::Filter apply_filter; +apply_filter.type = filter; +apply_filter.color = color; +data.applied_filters.push_back(apply_filter); } Surface::~Surface() |