libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Amigas 'defines' Grupos Páginas
moPostPlugin.h
Ir a la documentación de este archivo.
1 /*******************************************************************************
2 
3  moPostPlugin.h
4 
5  ****************************************************************************
6  * *
7  * This source is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation; either version 2 of the License, or *
10  * (at your option) any later version. *
11  * *
12  * This code is distributed in the hope that it will be useful, but *
13  * WITHOUT ANY WARRANTY; without even the implied warranty of *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15  * General Public License for more details. *
16  * *
17  * A copy of the GNU General Public License is available on the World *
18  * Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
19  * obtain it by writing to the Free Software Foundation, *
20  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
21  * *
22  ****************************************************************************
23 
24  Copyright(C) 2006 Fabricio Costa
25 
26  Authors:
27  Fabricio Costa
28 
29 
30 *******************************************************************************/
31 
32 #ifndef __MO_POST_PLUGIN_H__
33 #define __MO_POST_PLUGIN_H__
34 
35 #include "moBasePlugin.h"
36 #include "moPostEffect.h"
37 
39 {
40 public:
42  virtual ~moPostEffectFactory();
43  virtual moPostEffect* Create(void) = 0;
44  virtual void Destroy(moPostEffect* fx) = 0;
45 };
46 
49 
51 {
52 public:
54  int n;
55 
58 
60 
61  moPostPlugin() { handle = NULL; n = 0; array = NULL; m_factory = NULL;}
62  moPostPlugin(moText plugin_file) { handle = NULL; n = 0; array = NULL; m_factory = NULL; Load(plugin_file); }
63  ~moPostPlugin() { if(handle != NULL) Unload(); }
64 
65  void Load(moText plugin_file);
66  void Unload();
67  moPostEffect* Create();
68  bool Destroy(moPostEffect *posteffect);
69  moText GetName() { return name; }
70 private:
71  moText name;
72  MOpluginHandle handle;
73 };
74 
75 moDeclareExportedDynamicArray( moPostPlugin*, moPostPluginsArray );
76 
77 LIBMOLDEO_API moPostEffect* moNewPostEffect(moText effect_name, moPostPluginsArray &plugins);
78 LIBMOLDEO_API bool moDeletePostEffect(moPostEffect* effect, moPostPluginsArray &plugins);
79 
80 #endif
81 
82 
moPostPlugin(moText plugin_file)
Definition: moPostPlugin.h:62
moDeclareExportedDynamicArray(moPostPlugin *, moPostPluginsArray)
moPostEffectFactory *(MO_PLG_ENTRY * CreatePostEffectFactoryFunction)()
Definition: moPostPlugin.h:47
int n
Definition: moPostPlugin.h:54
Definition: moPostEffect.h:53
CreatePostEffectFactoryFunction CreatePostEffectFactory
Definition: moPostPlugin.h:56
#define LIBMOLDEO_API
Definition: moTypes.h:180
#define MO_PLG_ENTRY
Definition: moBasePlugin.h:46
clase de para manejar textos
Definition: moText.h:75
LIBMOLDEO_API bool moDeletePostEffect(moPostEffect *effect, moPostPluginsArray &plugins)
moPostEffectFactory()
Definition: moPostPlugin.h:41
DestroyPostEffectFactoryFunction DestroyPostEffectFactory
Definition: moPostPlugin.h:57
~moPostPlugin()
Definition: moPostPlugin.h:63
Definition: moPostPlugin.h:50
void(MO_PLG_ENTRY * DestroyPostEffectFactoryFunction)()
Definition: moPostPlugin.h:48
moPostEffectFactory * m_factory
Definition: moPostPlugin.h:59
void * MOpluginHandle
Definition: moBasePlugin.h:44
LIBMOLDEO_API moPostEffect * moNewPostEffect(moText effect_name, moPostPluginsArray &plugins)
moText GetName()
Definition: moPostPlugin.h:69
moPostPlugin()
Definition: moPostPlugin.h:61
Definition: moPostPlugin.h:38
moPostEffect ** array
Definition: moPostPlugin.h:53