The Battle for Wesnoth  1.19.11+dev
Public Member Functions | Private Attributes | List of all members
surface Class Reference

#include <surface.hpp>

Public Member Functions

 surface ()=default
 
 surface (SDL_Surface *surf)
 
 surface (int w, int h)
 Allocates a new surface with the given dimensions. More...
 
 surface (const surface &s)
 
 surface (surface &&s) noexcept
 
 ~surface ()
 
surfaceoperator= (const surface &s)
 
surfaceoperator= (surface &&s) noexcept
 
surface clone () const
 Creates a new, duplicate surface in memory using the 'neutral' pixel format. More...
 
std::size_t area () const
 Total area of the surface in square pixels. More...
 
 operator SDL_Surface * () const
 
SDL_Surface * get () const
 
SDL_Surface * operator-> () const
 

Private Attributes

SDL_Surface * surface_ {}
 

Detailed Description

Definition at line 24 of file surface.hpp.

Constructor & Destructor Documentation

◆ surface() [1/5]

surface::surface ( )
default

Referenced by clone().

◆ surface() [2/5]

surface::surface ( SDL_Surface *  surf)

Definition at line 47 of file surface.cpp.

◆ surface() [3/5]

surface::surface ( int  w,
int  h 
)

Allocates a new surface with the given dimensions.

Definition at line 53 of file surface.cpp.

References h, surface_, and w.

◆ surface() [4/5]

surface::surface ( const surface s)

Definition at line 63 of file surface.cpp.

◆ surface() [5/5]

surface::surface ( surface &&  s)
noexcept

Definition at line 69 of file surface.cpp.

◆ ~surface()

surface::~surface ( )

Definition at line 74 of file surface.cpp.

Member Function Documentation

◆ area()

std::size_t surface::area ( ) const

Total area of the surface in square pixels.

Definition at line 103 of file surface.cpp.

References surface_.

Referenced by BOOST_AUTO_TEST_CASE(), light_surface(), and mask_surface().

◆ clone()

surface surface::clone ( ) const

Creates a new, duplicate surface in memory using the 'neutral' pixel format.

Note
Making a copy of a surface object does not duplicate its pixel data, since we only hold a pointer to the actual buffer. For a true deep copy, use this method.

Definition at line 97 of file surface.cpp.

References surface(), and surface_.

Referenced by image::apply_light(), image::get_hexed(), image::get_tod_colored(), image::is_empty_hex(), image::load_image_sub_file(), and rotate_180_surface().

◆ get()

SDL_Surface* surface::get ( ) const
inline

Definition at line 55 of file surface.hpp.

References surface_.

Referenced by cairo::create_context(), and operator<<().

◆ operator SDL_Surface *()

surface::operator SDL_Surface * ( ) const
inline

Definition at line 53 of file surface.hpp.

References surface_.

◆ operator->()

SDL_Surface* surface::operator-> ( ) const
inline

Definition at line 56 of file surface.hpp.

References surface_.

◆ operator=() [1/2]

surface & surface::operator= ( const surface s)

Definition at line 79 of file surface.cpp.

References s, and surface_.

◆ operator=() [2/2]

surface & surface::operator= ( surface &&  s)
noexcept

Definition at line 90 of file surface.cpp.

References s.

Member Data Documentation

◆ surface_

SDL_Surface* surface::surface_ {}
private

Definition at line 59 of file surface.hpp.

Referenced by area(), clone(), get(), operator SDL_Surface *(), operator->(), operator=(), and surface().


The documentation for this class was generated from the following files: