00001 /* 00002 File: TextRenderer.h 00003 00004 Function: 00005 00006 Author(s): Andrew Willmott 00007 00008 Copyright: (c) 1997-2000, Andrew Willmott 00009 */ 00010 00011 #ifndef __TextRenderer__ 00012 #define __TextRenderer__ 00013 00014 #include "gcl/Renderer.h" 00015 00016 00017 // --- The TextRenderer class ------------------------------------------------- 00018 00019 00020 class TextRenderer : public Renderer 00021 { 00022 public: 00023 TextRenderer() : Renderer(), sout(&cout) {}; 00024 00025 Void Attach(ostream &out) { sout = &out; }; 00026 00027 virtual Void Show(); 00028 virtual Void MakeCurrent(); 00029 virtual Void Print(ostream &s); 00030 00031 virtual Renderer &Begin(RenderStyle style); 00032 virtual Renderer &End(); 00033 00034 virtual Renderer &SetPoint(const Point &p); 00035 virtual Renderer &SetNormal(const Vector &p); 00036 virtual Renderer &SetCoord(const Coord &c); 00037 virtual Renderer &SetColour(const Colour &c); 00038 00039 virtual Renderer &SetTransform(const Transform &t); 00040 virtual Renderer &SetCamera(const Camera &c); 00041 00042 virtual Renderer &Clear(); 00043 virtual Renderer &Pop(); 00044 virtual Renderer &Push(); 00045 00046 virtual Renderer &GetImage(Image &image) {return SELF;}; 00047 virtual Renderer &PutImage(const Image &image, Int x = 0, Int y = 0) {return SELF;}; 00048 00049 // short-cuts 00050 00051 protected: 00052 ostream *sout; 00053 }; 00054 00055 #endif