bounding box information (at zoom=1 scale)
Definition at line 84 of file item.h.
void minsky::BoundingBox::update |
( |
const Item & |
x | ) |
|
Definition at line 46 of file item.cc.
References minsky::Item::draw(), M_PI, minsky::NoteBase::mouseFocus, minsky::Item::onResizeHandles, minsky::Item::rotation(), and minsky::Item::zoomFactor().
Referenced by minsky::IntOp::description(), minsky::Item::ensureBBValid(), minsky::Item::iHeight(), minsky::Item::iWidth(), minsky::VariableBase::name(), minsky::IntOp::resize(), minsky::Ravel::resize(), minsky::IntOp::toggleCoupled(), minsky::UserFunction::updateBB(), minsky::DataOp::updateBB(), minsky::GodleyIcon::updateBB(), and minsky::Item::updateBoundingBox().
48 const ecolab::cairo::Surface surf
49 (cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA,NULL));
50 auto savedMouseFocus=x.mouseFocus;
52 x.onResizeHandles=
false;
54 if (
auto parent=x.group.lock())
56 stashedZf=parent->relZoom;
57 parent->relZoom/=x.zoomFactor();
61 const cairo::CairoSave cs(surf.cairo());
62 cairo_rotate(surf.cairo(),-x.rotation()*
M_PI/180);
66 catch (
const std::exception& e)
67 {cerr<<
"illegal exception caught in draw(): "<<
e.what()<<endl;}
68 catch (...) {cerr<<
"illegal exception caught in draw()";}
72 x.mouseFocus=savedMouseFocus;
73 if (
auto parent=x.group.lock())
74 parent->relZoom=stashedZf;
77 cairo_recording_surface_ink_extents(surf.surface(),
#define M_PI
some useful geometry types, defined from boost::geometry