KEYObject.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libetonyek project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef KEYOBJECT_H_INCLUDED
00011 #define KEYOBJECT_H_INCLUDED
00012 
00013 #include <deque>
00014 
00015 #include <boost/shared_ptr.hpp>
00016 
00017 namespace libetonyek
00018 {
00019 
00020 class KEYOutput;
00021 
00032 class KEYObject
00033 {
00034 public:
00035   virtual ~KEYObject() = 0;
00036 
00041   virtual void draw(const KEYOutput &output) = 0;
00042 };
00043 
00044 typedef boost::shared_ptr<KEYObject> KEYObjectPtr_t;
00045 
00048 typedef std::deque<KEYObjectPtr_t> KEYObjectList_t;
00049 
00055 void drawAll(const KEYObjectList_t &list, const KEYOutput &output);
00056 
00057 }
00058 
00059 #endif // KEYOBJECT_H_INCLUDED
00060 
00061 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */