CEGUITask.h

00001 /***********************************************************************
00002 filename:       CEGUITask.h
00003 created:        12-5-07
00004 author:         Jonathan Welch (Kokoro-Sama)
00005 *************************************************************************/
00006 /***************************************************************************
00007 *   Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
00008 *
00009 *   Permission is hereby granted, free of charge, to any person obtaining
00010 *   a copy of this software and associated documentation files (the
00011 *   "Software"), to deal in the Software without restriction, including
00012 *   without limitation the rights to use, copy, modify, merge, publish,
00013 *   distribute, sublicense, and/or sell copies of the Software, and to
00014 *   permit persons to whom the Software is furnished to do so, subject to
00015 *   the following conditions:
00016 *
00017 *   The above copyright notice and this permission notice shall be
00018 *   included in all copies or substantial portions of the Software.
00019 *
00020 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00021 *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00022 *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00023 *   IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
00024 *   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
00025 *   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
00026 *   OTHER DEALINGS IN THE SOFTWARE.
00027 ***************************************************************************/
00028 
00029 #ifndef _CEGUITask_h_
00030 #define _CEGUITask_h_
00031 
00032 #include "CEGUIBase.h"
00033 
00034 class CEGUIEXPORT Task
00035 {
00036 public:
00037         Task(bool destroy = true):d_destroyOnComplete(destroy);
00038         ~Task();
00039 
00045         virtual bool run(float elapsed) = 0;
00046 
00047 protected:
00048         bool d_destroyOnComplete; 
00049 
00050 };
00051 
00052 class CEGUIEXPORT WidgetFadeTask : public Task
00053 {
00054 public:
00055 
00056         enum eFadeDirection
00057         {
00058                 FADEDIR_IN = 0,
00059                 FADEDIR_OUT = 1
00060         }
00061 
00062         WidgetFadeTask(Window* widget,eFadeDirection fadedir, float targetalpha, bool destroy = true):Task(destroy){};
00063 
00069         virtual bool run(float elapsed);
00070 
00071 protected:
00072         eFadeDirection  d_fadeDirection; 
00073         float                   d_targetAlpha; 
00074         Window*                 d_widget;
00075 };
00076 
00077 #endif
00078 

Generated on Sat Jun 28 14:35:44 2008 for Crazy Eddies GUI System by  doxygen 1.5.4