]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Gui.h
enable Font cache only for MacOSX and inline width() for other platform.
[lyx.git] / src / frontends / Gui.h
index 2d1c9eee1ea4b3090d147cac9de5420ee1a103e7..9b5e7a99493c2a47b6b5c155821d189649119811 100644 (file)
 #ifndef BASE_GUI_H
 #define BASE_GUI_H
 
-#include "frontends/GuiCursor.h"
+#include <boost/shared_ptr.hpp>
+
+#include <map>
+
+class LyXView;
+class BufferView;
 
 namespace lyx {
 namespace frontend {
 
-class Clipboard;
 class WorkArea;
 
 
@@ -32,19 +36,22 @@ public:
        virtual ~Gui() {}
 
        ///
-       virtual Clipboard& clipboard() = 0;
+       virtual int newView(unsigned int width, unsigned int height) = 0;
        ///
-       virtual int newWorkArea(int w, int h) = 0;
+       virtual LyXView & view(int id) = 0;
        ///
-       virtual WorkArea& workArea(int id) = 0;
-       ///
-       virtual void destroyWorkArea(int id) = 0;
+       virtual void destroyView(int id) = 0;
 
        ///
-       GuiCursor & guiCursor() {return cursor_;}
+       virtual int newWorkArea(unsigned int width, unsigned int height, int view_id) = 0;
+       ///
+       virtual WorkArea & workArea(int id) = 0;
+       ///
+       virtual void destroyWorkArea(int id) = 0;
 
-private:
-       GuiCursor cursor_;
+protected:
+       /// view of a buffer. Eventually there will be several.
+       std::map<int, boost::shared_ptr<BufferView> > buffer_views_;
 };
 
 } // namespace frontend