Author: mordante
Date: Sun Apr 27 23:56:49 2008
New Revision: 26195
URL: http://svn.gna.org/viewcvs/wesnoth?rev=26195&view=rev
Log:
Also move the locker class for SDL_Surface*
Modified:
trunk/src/gui/widgets/helper.cpp
trunk/src/sdl_utils.cpp
Modified: trunk/src/gui/widgets/helper.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/gui/widgets/helper.cpp?rev=26195&r1=26194&r2=26195&view=diff
==============================================================================
--- trunk/src/gui/widgets/helper.cpp (original)
+++ trunk/src/gui/widgets/helper.cpp Sun Apr 27 23:56:49 2008
@@ -105,35 +105,5 @@
return result;
}
-namespace {
-
-// Surface locker class based on surface_locker in sdl_utils.hpp.
-struct surface_lock
-{
- surface_lock(SDL_Surface* surf) : surface_(surf), locked_(false)
- {
- if(SDL_MUSTLOCK(surface_)) {
- const int res = SDL_LockSurface(surface_);
- if(res == 0) {
- locked_ = true;
- }
- }
- }
-
- ~surface_lock()
- {
- if(locked_) {
- SDL_UnlockSurface(surface_);
- }
- }
-
- Uint32* pixels() { return reinterpret_cast<Uint32*>(surface_->pixels); }
-private:
- SDL_Surface* surface_;
- bool locked_;
-};
-
-} // namespace
-
} // namespace gui2
Modified: trunk/src/sdl_utils.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/sdl_utils.cpp?rev=26195&r1=26194&r2=26195&view=diff
==============================================================================
--- trunk/src/sdl_utils.cpp (original)
+++ trunk/src/sdl_utils.cpp Sun Apr 27 23:56:49 2008
@@ -1232,6 +1232,36 @@
surf->format->Rmask,surf->format->Gmask,surf->format->Bmask,surf->format->Amask);
}
+namespace {
+
+// Surface locker class based on surface_locker in sdl_utils.hpp.
+// FIXME maybe use a template class.
+struct sdl_surface_lock
+{
+ sdl_surface_lock(SDL_Surface* surf) : surface_(surf), locked_(false)
+ {
+ if(SDL_MUSTLOCK(surface_)) {
+ const int res = SDL_LockSurface(surface_);
+ if(res == 0) {
+ locked_ = true;
+ }
+ }
+ }
+
+ ~sdl_surface_lock()
+ {
+ if(locked_) {
+ SDL_UnlockSurface(surface_);
+ }
+ }
+
+ Uint32* pixels() { return reinterpret_cast<Uint32*>(surface_->pixels); }
+private:
+ SDL_Surface* surface_;
+ bool locked_;
+};
+
+} // namespace
//! Replacement for SDL_BlitSurface.
//!
//! SDL_BlitSurface has problems with blitting partly transparent surfaces so
@@ -1281,8 +1311,8 @@
{
// Extra scoping used for the surface_lock.
- surface_lock src_lock(src);
- surface_lock dst_lock(dst);
+ sdl_surface_lock src_lock(src);
+ sdl_surface_lock dst_lock(dst);
Uint32* const src_pixels =
reinterpret_cast<Uint32*>(src_lock.pixels());
Uint32* dst_pixels =
reinterpret_cast<Uint32*>(dst_lock.pixels());
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits