#ifndef __FISHBOWL_DRAW_H__ #define __FISHBOWL_DRAW_H__ #include namespace fishbone { class Texture; class Mesh; class Renderer; }; /* no includes */ namespace fishbone { class Texture { struct Impl; Impl* impl; public: Texture(fishbone::Renderer* renderer, unsigned char* rgba, int width, int height); ~Texture(); }; class Mesh { struct Impl; Impl* impl; public: Mesh(fishbone::Renderer* renderer, std::vector vertices, std::vector texcoords, std::vector normals, std::vector elements); ~Mesh(); void draw(); }; class Renderer { struct Impl; Impl* impl; public: Renderer(); ~Renderer(); }; }; #endif