]> git.lyx.org Git - lyx.git/blobdiff - src/coordcache.C
* src/LaTeX.C
[lyx.git] / src / coordcache.C
index a7f8a511e2700956936a0da560cfea31c8c9fa03..b55b296ef13b4adc000914b06f43c6fa0d84de83 100644 (file)
 
 namespace lyx {
 
+Point::Point(int x, int y)
+       : x_(x), y_(y)
+{
+       BOOST_ASSERT(x > -1000000);
+       BOOST_ASSERT(x <  1000000);
+       BOOST_ASSERT(y > -1000000);
+       BOOST_ASSERT(y <  1000000);
+}
+
 // just a helper to be able to set a breakpoint
 void lyxbreaker(void const * data, const char * hint, int size)
 {
@@ -40,11 +49,11 @@ void CoordCache::clear()
 }
 
 
-Point CoordCache::get(LyXText const * text, lyx::pit_type pit)
+Point CoordCache::get(LyXText const * text, pit_type pit) const
 {
-       ParPosCache::iterator const it = pars_.find(text);
+       ParPosCache::const_iterator const it = pars_.find(text);
        BOOST_ASSERT(it != pars_.end());
-       InnerParPosCache::iterator const posit = it->second.find(pit);
+       InnerParPosCache::const_iterator const posit = it->second.find(pit);
        BOOST_ASSERT(posit != it->second.end());
        return posit->second;
 }
@@ -61,12 +70,19 @@ CoordCache::dump() const {
                        Paragraph const & par = lt->getPar(pit);
                        Point p = (*j).second;
                        lyxerr << "Paragraph " << pit << ": \"";
-                       for (int k = 0; k < std::min(10, par.size()); ++k) {
-                               lyxerr << lyx::to_utf8(docstring(1,par.getChar(k)));
+                       for (int k = 0; k < std::min(static_cast<lyx::pos_type>(10), par.size()); ++k) {
+                               lyxerr << to_utf8(docstring(1,par.getChar(k)));
                        }
                        lyxerr << "\" has point " << p.x_ << "," << p.y_ << std::endl;
                }
        }
+
+       lyxerr << "InsetCache contains:" << std::endl;
+       for (CoordCacheBase<InsetBase>::cache_type::const_iterator i = getInsets().getData().begin(); i != getInsets().getData().end(); ++i) {
+               InsetBase const * inset = (*i).first;
+               Point p = (*i).second;
+               lyxerr << "Inset " << inset << "(" << to_utf8(inset->getInsetName()) << ") has point " << p.x_ << "," << p.y_ << std::endl;
+       }
 }
 
 } // namespace lyx