#include <vector>
#include <boost/multi_array.hpp>
+
+#include "canvas/visibility.h"
#include "canvas/types.h"
class OptimizingLookupTableTest;
namespace ArdourCanvas {
class Item;
-class Group;
-class LookupTable
+class LIBCANVAS_API LookupTable
{
public:
- LookupTable (Group const &);
+ LookupTable (Item const &);
virtual ~LookupTable ();
virtual std::vector<Item*> get (Rect const &) = 0;
protected:
- Group const & _group;
+ Item const & _item;
};
-class DumbLookupTable : public LookupTable
+class LIBCANVAS_API DumbLookupTable : public LookupTable
{
public:
- DumbLookupTable (Group const &);
+ DumbLookupTable (Item const &);
std::vector<Item*> get (Rect const &);
std::vector<Item*> items_at_point (Duple const &) const;
bool has_item_at_point (Duple const & point) const;
};
-class OptimizingLookupTable : public LookupTable
+class LIBCANVAS_API OptimizingLookupTable : public LookupTable
{
public:
- OptimizingLookupTable (Group const &, int);
+ OptimizingLookupTable (Item const &, int);
~OptimizingLookupTable ();
std::vector<Item*> get (Rect const &);
std::vector<Item*> items_at_point (Duple const &) const;