SO3Engine
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
n
p
q
r
s
t
v
w
x
Functions
Variables
Typedefs
a
b
c
d
f
m
p
s
Enumerations
Enumerator
b
c
e
f
h
l
m
n
p
r
s
t
x
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
f
g
i
l
m
n
o
p
s
t
u
v
w
Enumerations
a
c
d
e
f
g
h
l
n
p
r
s
v
w
Enumerator
a
b
c
d
e
f
h
l
m
n
o
p
r
s
t
v
Related Symbols
a
c
d
h
i
o
p
s
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
Functions
_
b
c
d
f
g
h
i
l
m
n
r
s
t
v
w
z
Variables
a
b
c
d
e
f
i
l
m
n
o
p
r
s
t
u
w
Typedefs
Enumerator
include
SO3Renderer
SO3CompositorLogic.h
Go to the documentation of this file.
1
/*
2
-----------------------------------------------------------------------------
3
This source file is part of OpenSpace3D
4
For the latest info, see http://www.openspace3d.com
5
6
Copyright (c) 2012 I-maginer
7
8
This program is free software; you can redistribute it and/or modify it under
9
the terms of the GNU Lesser General Public License as published by the Free Software
10
Foundation; either version 2 of the License, or (at your option) any later
11
version.
12
13
This program is distributed in the hope that it will be useful, but WITHOUT
14
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16
17
You should have received a copy of the GNU Lesser General Public License along with
18
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20
http://www.gnu.org/copyleft/lesser.txt
21
22
-----------------------------------------------------------------------------
23
*/
24
28
#ifndef __SO3_COMPOSITOR_LOGIC_H__
29
#define __SO3_COMPOSITOR_LOGIC_H__
30
31
#include "
SCOLBasic/SO3Prerequisites.h
"
32
#include "OgreCompositorLogic.h"
33
34
namespace
SO3
35
{
36
40
class
SCompositorListenerFactoryLogic
:
public
Ogre::CompositorLogic
41
{
42
public
:
44
virtual
void
compositorInstanceCreated
(Ogre::CompositorInstance* newInstance)
45
{
46
Ogre::CompositorInstance::Listener* listener =
createListener
(newInstance);
47
newInstance->addListener(listener);
48
mListeners[newInstance] = listener;
49
}
44
virtual
void
compositorInstanceCreated
(Ogre::CompositorInstance* newInstance) {
…
}
50
52
virtual
void
compositorInstanceDestroyed
(Ogre::CompositorInstance* destroyedInstance)
53
{
54
destroyedInstance->removeListener(mListeners[destroyedInstance]);
55
delete
mListeners[destroyedInstance];
56
mListeners.erase(destroyedInstance);
57
}
52
virtual
void
compositorInstanceDestroyed
(Ogre::CompositorInstance* destroyedInstance) {
…
}
58
protected
:
59
//This is the method that implementations will need to override
60
virtual
Ogre::CompositorInstance::Listener*
createListener
(Ogre::CompositorInstance* instance) = 0;
61
private
:
62
typedef
std::map<Ogre::CompositorInstance*, Ogre::CompositorInstance::Listener*> ListenerMap;
63
ListenerMap mListeners;
64
65
};
40
class
SCompositorListenerFactoryLogic
:
public
Ogre::CompositorLogic {
…
};
66
67
}
68
69
#endif
SO3Prerequisites.h
librairies include
SO3::SCompositorListenerFactoryLogic
Definition
SO3CompositorLogic.h:41
SO3::SCompositorListenerFactoryLogic::createListener
virtual Ogre::CompositorInstance::Listener * createListener(Ogre::CompositorInstance *instance)=0
SO3::SCompositorListenerFactoryLogic::compositorInstanceDestroyed
virtual void compositorInstanceDestroyed(Ogre::CompositorInstance *destroyedInstance)
Definition
SO3CompositorLogic.h:52
SO3::SCompositorListenerFactoryLogic::compositorInstanceCreated
virtual void compositorInstanceCreated(Ogre::CompositorInstance *newInstance)
Definition
SO3CompositorLogic.h:44
SO3
Definition
SO3DataScol.h:38
Generated by
1.9.8