
#ifndef __WFX_SDL_SDLSYSTEM_H__
#define __WFX_SDL_SDLSYSTEM_H__

#include <WFX/WFXIncludes.h>
#include <WFX/lang/WFXSystem.h>

namespace WFX {

    namespace SDL {
    
        /**
         * SDL System implementation
         */
        class System : public WFX::lang::WFXSystem {
            public:
                /** Ctor */
                System();

                /** Dtor */
                virtual ~System();

                /** implement WFXSystem interface */
                WFX::kernel::TimeTask* getTimeTask();
                WFX::input::InputHandler* getInputHandler();
                WFX::renderer::RenderWindow* getRenderWindow(Int w, Int h, Int d, std::string title, bool fs);
                WFX::renderer::Renderer* getRenderer();
                WFX::scene::TextureManager* getTextureManager(bool def = false);
                WFX::util::EndianConvert* getEndianConvert();
                std::string getCurrentPath();
            protected:

            private:
        };

    }
    
}

#endif //include guard

