virtual nsRect GetBounds(nsDisplayListBuilder* aBuilder, bool* aSnap) { *aSnap = false; // override bounds because the list item focus ring may extend outside // the nsSelectsAreaFrame nsListControlFrame* listFrame = GetEnclosingListFrame(Frame()); return listFrame->GetVisualOverflowRectRelativeToSelf() + listFrame->GetOffsetToCrossDoc(ReferenceFrame()); }
/** Search for a REF_FRAME DataSet. Provided for backwards compatibility * with the FrameList::GetFrameFromArgs() routine. * The keywords in order of precedence are: * - 'ref <name>' : Get reference frame by full/base filename or tag. * - 'reference' : First reference frame in list. * - 'refindex <#>': Reference frame at position. */ ReferenceFrame DataSetList::GetReferenceFrame(ArgList& argIn) const { DataSet* ref = 0; // 'ref <name>' std::string refname = argIn.GetStringKey("ref"); if (!refname.empty()) { ref = FindSetOfType( refname, DataSet::REF_FRAME ); if (ref == 0) { mprinterr("Error: Reference '%s' not found.\n", refname.c_str()); return ReferenceFrame(1); } } else { int refindex = argIn.getKeyInt("refindex", -1); if (argIn.hasKey("reference")) refindex = 0; if (refindex > -1 && refindex < (int)RefList_.size()) ref = RefList_[refindex]; if (refindex != -1 && ref == 0) { mprinterr("Error: Reference index %i not found.\n", refindex); return ReferenceFrame(1); } } return ReferenceFrame((DataSet_Coords_REF*)ref); }
ReferenceFrame DataSetList::GetReferenceFrame(ArgList& argIn) const { int err = 0; DataSet* ds = GetReferenceSet(argIn, err); if (ds == 0) return ReferenceFrame(err); return ReferenceFrame((DataSet_Coords_REF*)ds); }
const ReferenceFrame &gps_frame(void) { static ReferenceFrame frame{GPS, "gps_frame", Pose(ReferenceFrame(), 0, 0)}; return frame; }
ReferenceFrame ReferenceFrame::InertialFrame() { return ReferenceFrame(nullptr, Eigen::Matrix4d::Identity()); }