Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

mousecursor_provider_generic.cpp

Go to the documentation of this file.
00001 /*
00002         $Id: mousecursor_provider_generic.cpp,v 1.1 2001/03/06 15:09:17 mbn Exp $
00003 
00004         ------------------------------------------------------------------------
00005         ClanLib, the platform independent game SDK.
00006 
00007         This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00008         version 2. See COPYING for details.
00009 
00010         For a total list of contributers see CREDITS.
00011 
00012         ------------------------------------------------------------------------
00013 */
00014 
00015 #include "Core/precomp.h"
00016 #include "mousecursor_provider_generic.h"
00017 
00018 CL_MouseCursorProvider *CL_MouseCursorProvider::create(
00019         CL_SurfaceProvider *provider,
00020         bool delete_provider,
00021         bool animate,
00022         const std::vector<int> *frame_delays)
00023 {
00024         return new CL_MouseCursorProvider_Generic(provider, delete_provider, animate, frame_delays);
00025 }
00026 
00027 CL_MouseCursorProvider *CL_MouseCursorProvider::load(
00028         const char *resource_id,
00029         CL_ResourceManager *manager)
00030 //      bool animate,
00031 //      const std::vector<int> *frame_delays)
00032 {
00033         return new CL_MouseCursorProvider_Generic(
00034                 CL_SurfaceProvider::load(resource_id, manager),
00035                 true/*,
00036                 animate,
00037                 frame_delays*/);
00038 }
00039 
00040 CL_MouseCursorProvider_Generic::CL_MouseCursorProvider_Generic(
00041         CL_SurfaceProvider *provider,
00042         bool delete_provider,
00043         bool animate,
00044         const std::vector<int> *frame_delays)
00045 {
00046         m_surface_provider = provider;
00047         m_delete_provider = delete_provider;
00048         m_animated = animate;
00049         if (frame_delays != NULL) m_frame_delays = *frame_delays;
00050 }
00051 
00052 CL_MouseCursorProvider_Generic::~CL_MouseCursorProvider_Generic() 
00053 { 
00054         if (m_delete_provider) delete m_surface_provider;
00055 }
00056 
00057 CL_SurfaceProvider *CL_MouseCursorProvider_Generic::get_surface_provider()
00058 {
00059         return m_surface_provider;
00060 }
00061 
00062 bool CL_MouseCursorProvider_Generic::is_animated()
00063 {
00064         return m_animated;
00065 }
00066 
00067 int CL_MouseCursorProvider_Generic::get_frame_delay(unsigned int frame_number)
00068 {
00069         if (frame_number < m_frame_delays.size())
00070         {
00071                 return m_frame_delays[frame_number];
00072         }
00073         else
00074         {
00075                 return -1;
00076         }
00077 }

Generated at Wed Apr 4 19:54:02 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001