neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::gradient_manager Class Reference

#include <gradient_manager.hpp>

Inheritance diagram for neogfx::gradient_manager:
neogfx::i_gradient_manager neolib::i_basic_cookie_consumer< CookieType > neolib::services::i_service

Public Member Functions

 gradient_manager ()
 
void clear_gradients () override
 
i_gradient_sampler const & sampler (i_gradient const &aGradient) override
 
i_gradient_filter const & filter (i_gradient const &aGradient) override
 
- Public Member Functions inherited from neogfx::i_gradient_manager
neolib::ref_ptr< i_gradient > find_gradient (gradient_id aId) const
 
neolib::ref_ptr< i_gradient > create_gradient ()
 
neolib::ref_ptr< i_gradient > create_gradient (i_gradient const &aOther)
 
neolib::ref_ptr< i_gradient > create_gradient (i_string const &aCssDeclaration)
 
neolib::ref_ptr< i_gradient > create_gradient (sRGB_color const &aColor)
 
neolib::ref_ptr< i_gradient > create_gradient (sRGB_color const &aColor, gradient_direction aDirection)
 
neolib::ref_ptr< i_gradient > create_gradient (sRGB_color const &aColor1, sRGB_color const &aColor2, gradient_direction aDirection=gradient_direction::Vertical)
 
neolib::ref_ptr< i_gradient > create_gradient (i_gradient::color_stop_list const &aColorStops, gradient_direction aDirection=gradient_direction::Vertical)
 
neolib::ref_ptr< i_gradient > create_gradient (i_gradient::color_stop_list const &aColorStops, i_gradient::alpha_stop_list const &aAlphaStops, gradient_direction aDirection=gradient_direction::Vertical)
 
neolib::ref_ptr< i_gradient > create_gradient (i_gradient const &aOther, i_gradient::color_stop_list const &aColorStops)
 
neolib::ref_ptr< i_gradient > create_gradient (i_gradient const &aOther, i_gradient::color_stop_list const &aColorStops, i_gradient::alpha_stop_list const &aAlphaStops)
 
neolib::ref_ptr< i_gradient > create_gradient (neolib::i_vector< sRGB_color::abstract_type > const &aColors, gradient_direction aDirection=gradient_direction::Vertical)
 
neolib::ref_ptr< i_gradient > create_gradient (std::initializer_list< sRGB_color > const &aColors, gradient_direction aDirection=gradient_direction::Vertical)
 
- Public Member Functions inherited from neolib::services::i_service
virtual ~i_service ()=default
 

Static Public Attributes

static constexpr uint32_t MaxSamplers = 1024
 
static constexpr uint32_t MaxFilters = 16
 

Protected Types

typedef ref_ptr< i_gradient > gradient_pointer
 
typedef neolib::pair< gradient_pointer, uint32_t > gradient_list_entry
 
typedef neolib::jar< gradient_list_entrygradient_list
 
typedef std::pair< gradient::color_stop_list, gradient::alpha_stop_listsampler_key_t
 
typedef std::map< sampler_key_t, gradient_samplersampler_map_t
 
typedef std::map< scalar, gradient_filterfilter_map_t
 

Protected Member Functions

void add_ref (gradient_id aId) override
 
void release (gradient_id aId) override
 
long use_count (gradient_id aId) const override
 
gradient_id allocate_gradient_id ()
 
const gradient_listgradients () const
 
gradient_listgradients ()
 
neolib::ref_ptr< i_gradient > add_gradient (neolib::ref_ptr< i_gradient > aGradient)
 

Friends

class gradient_object
 
neolib::cookie item_cookie (gradient_list_entry const &)
 

Additional Inherited Members

- Public Types inherited from neogfx::i_gradient_manager
typedef i_gradient_manager abstract_type
 
- Static Public Member Functions inherited from neogfx::i_gradient_manager
static uuid const & iid ()
 

Detailed Description

Definition at line 97 of file gradient_manager.hpp.

Member Typedef Documentation

◆ filter_map_t

Definition at line 107 of file gradient_manager.hpp.

◆ gradient_list

◆ gradient_list_entry

◆ gradient_pointer

typedef ref_ptr<i_gradient> neogfx::gradient_manager::gradient_pointer
protected

Definition at line 102 of file gradient_manager.hpp.

◆ sampler_key_t

◆ sampler_map_t

Definition at line 106 of file gradient_manager.hpp.

Constructor & Destructor Documentation

◆ gradient_manager()

neogfx::gradient_manager::gradient_manager ( )

Member Function Documentation

◆ add_gradient()

neolib::ref_ptr< i_gradient > neogfx::gradient_manager::add_gradient ( neolib::ref_ptr< i_gradient >  aGradient)
protected

◆ add_ref()

void neogfx::gradient_manager::add_ref ( gradient_id  aId)
overrideprotected

◆ allocate_gradient_id()

gradient_id neogfx::gradient_manager::allocate_gradient_id ( )
protected

◆ clear_gradients()

void neogfx::gradient_manager::clear_gradients ( )
overridevirtual

◆ filter()

i_gradient_filter const & neogfx::gradient_manager::filter ( i_gradient const &  aGradient)
overridevirtual

◆ gradients() [1/2]

gradient_list & neogfx::gradient_manager::gradients ( )
protected

◆ gradients() [2/2]

const gradient_list & neogfx::gradient_manager::gradients ( ) const
protected

◆ release()

void neogfx::gradient_manager::release ( gradient_id  aId)
overrideprotected

◆ sampler()

i_gradient_sampler const & neogfx::gradient_manager::sampler ( i_gradient const &  aGradient)
overridevirtual

◆ use_count()

long neogfx::gradient_manager::use_count ( gradient_id  aId) const
overrideprotected

Friends And Related Symbol Documentation

◆ gradient_object

friend class gradient_object
friend

Definition at line 99 of file gradient_manager.hpp.

◆ item_cookie

neolib::cookie item_cookie ( gradient_list_entry const &  )
friend

Member Data Documentation

◆ MaxFilters

constexpr uint32_t neogfx::gradient_manager::MaxFilters = 16
staticconstexpr

Definition at line 111 of file gradient_manager.hpp.

◆ MaxSamplers

constexpr uint32_t neogfx::gradient_manager::MaxSamplers = 1024
staticconstexpr

Definition at line 110 of file gradient_manager.hpp.


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