I have a problem with my header Surface.h. Which is basically just a set off inline class for SDL_Surface and limited animation. The animation is where my problem is.
I have Graphics.h which is a simple wrapper for some SDL procedures (surface loading, blitting, and freeing).
the line with the error is commented, and in red.
Graphics.h - No problems with this file.
Surface.h - Error in the Animation classCode:#pragma once #include <SDL.h> #include <SDL_TTF.h> // #include "ErrorValues.h" #include "Surface.h" namespace varia { class Graphics { public: Graphics(); ~Graphics(); //Initialize SDL and the display surface int Init(unsigned int windowWidth = 800, unsigned int windowHeight = 600, bool fullscreen = false, const char* windowTitle = NULL, unsigned int bgR = 0, unsigned int bgG = 0, unsigned int bgB = 0); int createSurfaceFromFile(Surface& dst, int tran_r = -1, int tran_g = -1, int tran_b = -1); void closeSurface(Surface& src); int drawSurface(Surface& src, SDL_Rect* clip = NULL, unsigned int x_pos = 0, unsigned int y_pos = 0); int beginScene(); int renderScene(); private: SDL_Surface* m_screen; unsigned int m_bgR; unsigned int m_bgG; unsigned int m_bgB; }; }
This makes no sense. I have Surface.h included before Graphics.h and even if i put #include "Graphics.h" in the Surface.h it won't work. I am lost for a solution.Code:#pragma once //Still surface namespace varia { class Surface { public: Surface(const char* FILE):m_file(FILE),m_surface(NULL) {}; ~Surface() { if ( m_surface != NULL ) { SDL_FreeSurface(m_surface); m_surface = NULL; } }; SDL_Surface*& getSurface() { return m_surface; } const char* getFile() { return m_file.c_str(); } protected: std::string m_file; SDL_Surface* m_surface; }; class Animation : public Surface { public: Animation(); ~Animation(); //If clip does not exist it will create one ( or overwrite ) to the keyID provided void SetClip(int keyID, int x, int y, int w, int h); void Animate(); int Show(varia::Graphics* graphics);//Error: 'Graphics' undeclared identifier private: //The Animation Timer Timer* m_timer; //The region vector std::map<int, SDL_Rect> clips; //animation vars int m_frame; int m_endFrame; float m_framesPerSecond; }; }
It will be greatly appreciated if anyone has a insight to my problem.



LinkBack URL
About LinkBacks


