VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtPostProcessManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
15 
16 namespace makVrv
17 {
18  class DtChannel;
19  class DtChannelManager;
20 
25  {
26  public:
28  typedef std::list<std::string> EffectNameList;
29 
31  virtual ~DtPostProcessManager();
32 
34  static DtPostProcessManager& instance(DtDe& de);
35 
37  static std::string theClassName();
38 
41  void setPostProcessorsEnabled(bool enable);
42 
44  bool postProcessorsEnabled() const;
45 
47  virtual void update(DtChannel *channel) = 0;
48 
50  virtual bool enableEffects(DtChannel* channel, EffectNameList& effectPostList) = 0;
51 
53  virtual bool disableEffects(DtChannel* channel, EffectNameList& effectPostList) = 0;
54 
55  protected:
58 
61 
64  virtual void slot_channelCreated(DtChannelManager* channelManager, DtChannel* channel) = 0;
65 
68  virtual void slot_channelDestroyed(DtChannelManager* channelManager, DtChannel* channel) = 0;
69 
70  protected:
71  // For listening for channel creation
73 
75 
76  // Enable or disable the post processor chain from running
77  // NOTE: This does not change whether individual post effects
78  // are enabled or whether the channel has enabled or disabled effects
80  };
81 
85  {
86  public:
88  static DtPostProcessManagerCreator& instance(DtDe& de);
89 
91  static void registerInstance(DtDe& de, DtPostProcessManagerCreator* instance);
92 
94  virtual DtPostProcessManager* create(DtDe& de) = 0;
95  };
96 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)