DxLibEx
animation_graph.hpp File Reference
#include "dxlibex/config/no_min_max.h"
#include <iterator>
#include <vector>
#include <mutex>
#include <functional>
#include "DxLib.h"
#include "texture2d.hpp"
#include "dxlibex/time.hpp"
#include "dxlibex/thread.hpp"
Include dependency graph for animation_graph.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  dxle::graph2d::gr_impl::animation_handle_manager_bace
 
class  dxle::graph2d::gr_impl::animation_handle_manager< Cont >
 
class  dxle::graph2d::gr_impl::cont_wrapper_with_size< Cont >
 
class  dxle::graph2d::gr_impl::cont_wrapper_with_size< std::reference_wrapper< Cont > >
 
class  dxle::graph2d::animation_graph
 

Namespaces

 dxle
 
 dxle::graph2d
 2Dグラフィック
 
 dxle::graph2d::gr_impl
 

Macros

#define DXLE_TEMP_IMPL_MAKE_ANI_HM(template_param, specialization, size)
 

Functions

 dxle::graph2d::gr_impl::DXLE_TEMP_IMPL_MAKE_ANI_HM (typename Cont_value_T, std::reference_wrapper< Cont_value_T >, graphs.get().size())
 
 dxle::graph2d::gr_impl::DXLE_TEMP_IMPL_MAKE_ANI_HM (size_t N, std::reference_wrapper< dxle::texture2d[N]>, N)
 

Macro Definition Documentation

§ DXLE_TEMP_IMPL_MAKE_ANI_HM

#define DXLE_TEMP_IMPL_MAKE_ANI_HM (   template_param,
  specialization,
  size 
)
Value:
template<template_param>\
class animation_handle_manager<specialization> final : public animation_handle_manager_bace\
{\
public:\
int get_handle()const override\
{\
DXLE_GET_LOCK(counter_mtx);\
return texture2d_handle_manager::GetTextureRawHandle(graphs.get()[counter.get() % size]);\
}\
private:\
using Cont = specialization;\
using this_T = animation_handle_manager<Cont>;\
typename std::remove_reference<Cont>::type graphs;\
animation_handle_manager(time::counter&& counter, Cont&& graphs)\
: animation_handle_manager_bace(std::move(counter))\
, graphs(std::move(graphs))\
{}\
std::unique_ptr<texture2d_handle_manager> clone() override\
{\
return get_unique(*this);\
}\
friend animation_graph;\
template<typename... Args> static inline std::unique_ptr<texture2d_handle_manager> get_unique(Args&&... args) {\
return std::unique_ptr<texture2d_handle_manager>(new this_T(std::forward<Args>(args)...));\
}\
}
size_c< std::size_t > size
Definition: size.hpp:616

Definition at line 77 of file animation_graph.hpp.