本文整理汇总了C++中CElement::FindPointUnderPoint方法的典型用法代码示例。如果您正苦于以下问题:C++ CElement::FindPointUnderPoint方法的具体用法?C++ CElement::FindPointUnderPoint怎么用?C++ CElement::FindPointUnderPoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CElement
的用法示例。
在下文中一共展示了CElement::FindPointUnderPoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FindPointUnderPoint
CElementImpl* CElementImpl::FindPointUnderPoint(ILSVGPoint* mousept, ILSVGMatrix* addmatrix, int& segindex, int& ctl)
{
SVGLib::ISVGLocatablePtr locatable = m_domElement;
if (locatable)
{
UPOSITION pos = m_childList.GetTailPosition();
while (pos)
{
CElement* pElement = (CElement*)m_childList.GetPrev(pos);
CElement* pFElement = pElement->FindPointUnderPoint(mousept, segindex, ctl);
if (pFElement)
return pFElement;
}
if (!wcscmp(m_domElement->tagName, L"path"))
{
CPathElement* pathElement = (CPathElement*)this;
SVGLib::ISVGMatrixPtr matrix = locatable->getScreenCTM();
/*
SVGLib::ISVGMatrixPtr imatrix = matrix->inverse();
SVGLib::ISVGPointPtr xpt = mousept->matrixTransform(imatrix);
*/
SVGLib::ISVGAnimatedPathDataPtr pathData = m_domElement;
SVGLib::ISVGPathSegListPtr seglist = pathData->normalizedPathSegList;
ctl = 0;
segindex = pathElement->FindPoint(seglist, matrix, mousept->x, mousept->y, ctl);
if ((segindex >= 0) && (ctl == 0))
return this;
SVGLib::_tagSVGRect bbox = locatable->getBBox();
if (mousept->x >= bbox.x && mousept->x <= bbox.x+bbox.width &&
mousept->y >= bbox.y && mousept->y <= bbox.y+bbox.height)
{
segindex = -1;
return this;
}
}
}
return NULL;
}