X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Flookup_table.h;h=2877f7a727b194121231a5d075a5bb55bf74bc35;hb=fcad5a337fd4a7119fdd213ddb1df8eeb6a42bf4;hp=5be33c1bca0d9df555acae60ee52ae7bc87fe87d;hpb=a882e96db1367c26660fd3d3079e9e3e19b1e149;p=ardour.git diff --git a/libs/canvas/canvas/lookup_table.h b/libs/canvas/canvas/lookup_table.h index 5be33c1bca..2877f7a727 100644 --- a/libs/canvas/canvas/lookup_table.h +++ b/libs/canvas/canvas/lookup_table.h @@ -31,28 +31,27 @@ class OptimizingLookupTableTest; namespace ArdourCanvas { class Item; -class Group; class LIBCANVAS_API LookupTable { public: - LookupTable (Group const &); + LookupTable (Item const &); virtual ~LookupTable (); - + virtual std::vector get (Rect const &) = 0; virtual std::vector items_at_point (Duple const &) const = 0; virtual bool has_item_at_point (Duple const & point) const = 0; protected: - - Group const & _group; + + Item const & _item; }; class LIBCANVAS_API DumbLookupTable : public LookupTable { public: - DumbLookupTable (Group const &); - + DumbLookupTable (Item const &); + std::vector get (Rect const &); std::vector items_at_point (Duple const &) const; bool has_item_at_point (Duple const & point) const; @@ -61,21 +60,21 @@ public: class LIBCANVAS_API OptimizingLookupTable : public LookupTable { public: - OptimizingLookupTable (Group const &, int); + OptimizingLookupTable (Item const &, int); ~OptimizingLookupTable (); std::vector get (Rect const &); std::vector items_at_point (Duple const &) const; bool has_item_at_point (Duple const & point) const; - + static int default_items_per_cell; - + private: - + void area_to_indices (Rect const &, int &, int &, int &, int &) const; void point_to_indices (Duple, int &, int &) const; - + friend class ::OptimizingLookupTableTest; - + typedef std::vector Cell; int _items_per_cell; int _dimension;