本文整理汇总了C++中FV_View::getSelectionAnchor方法的典型用法代码示例。如果您正苦于以下问题:C++ FV_View::getSelectionAnchor方法的具体用法?C++ FV_View::getSelectionAnchor怎么用?C++ FV_View::getSelectionAnchor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FV_View
的用法示例。
在下文中一共展示了FV_View::getSelectionAnchor方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _draw
void fp_AnnotationRun::_draw(dg_DrawArgs* pDA)
{
if(!displayAnnotations())
return;
if(!m_bIsStart)
return;
GR_Graphics * pG = pDA->pG;
UT_sint32 xoff = 0, yoff = 0;
GR_Painter painter(pG);
// need screen locations of this run
getLine()->getScreenOffsets(this, xoff, yoff);
UT_sint32 iYdraw = pDA->yoff - getAscent()-1;
UT_uint32 iRunBase = getBlock()->getPosition() + getBlockOffset();
//
// Sevior was here
// UT_sint32 iFillTop = iYdraw;
UT_sint32 iFillTop = iYdraw+1;
UT_sint32 iFillHeight = getAscent() + getDescent();
FV_View* pView = _getView();
UT_uint32 iSelAnchor = pView->getSelectionAnchor();
UT_uint32 iPoint = pView->getPoint();
UT_uint32 iSel1 = UT_MIN(iSelAnchor, iPoint);
UT_uint32 iSel2 = UT_MAX(iSelAnchor, iPoint);
UT_ASSERT(iSel1 <= iSel2);
bool bIsInTOC = getBlock()->isContainedByTOC();
if (
isInSelectedTOC() || (!bIsInTOC && (
/* pView->getFocus()!=AV_FOCUS_NONE && */
(iSel1 <= iRunBase)
&& (iSel2 > iRunBase)))
)
{
UT_RGBColor color(_getView()->getColorSelBackground());
pG->setColor(_getView()->getColorAnnotation(this));
painter.fillRect(color, pDA->xoff, iFillTop, getWidth(), iFillHeight);
}
else
{
Fill(getGraphics(),pDA->xoff, iFillTop, getWidth(), iFillHeight);
pG->setColor(_getColorFG());
}
pG->setFont(_getFont());
pG->setColor(_getView()->getColorAnnotation(this));
UT_DEBUGMSG(("Drawing string m_sValue %s \n",m_sValue.utf8_str()));
painter.drawChars(m_sValue.ucs4_str().ucs4_str(), 0,m_sValue.ucs4_str().size(), pDA->xoff,iYdraw, NULL);
//
// Draw underline/overline/strikethough
//
UT_sint32 yTopOfRun = pDA->yoff - getAscent()-1; // Hack to remove
//character dirt
drawDecors( xoff, yTopOfRun,pG);
}
示例2: _draw
void fp_EmbedRun::_draw(dg_DrawArgs* pDA)
{
GR_Graphics *pG = pDA->pG;
#if 0
UT_DEBUGMSG(("Draw with class %x \n",pG));
UT_DEBUGMSG(("Contents of fp EmbedRun \n %s \n",m_sEmbedML.utf8_str()));
#endif
FV_View* pView = _getView();
UT_return_if_fail(pView);
// need to draw to the full height of line to join with line above.
UT_sint32 xoff= 0, yoff=0, DA_xoff = pDA->xoff;
getLine()->getScreenOffsets(this, xoff, yoff);
// need to clear full height of line, in case we had a selection
UT_sint32 iFillHeight = getLine()->getHeight();
UT_sint32 iFillTop = pDA->yoff - getLine()->getAscent();
UT_uint32 iSelAnchor = pView->getSelectionAnchor();
UT_uint32 iPoint = pView->getPoint();
UT_uint32 iSel1 = UT_MIN(iSelAnchor, iPoint);
UT_uint32 iSel2 = UT_MAX(iSelAnchor, iPoint);
UT_ASSERT(iSel1 <= iSel2);
UT_uint32 iRunBase = getBlock()->getPosition() + getOffsetFirstVis();
// Fill with background, then redraw.
UT_sint32 iLineHeight = getLine()->getHeight();
bool bIsSelected = false;
if ( !pG->queryProperties(GR_Graphics::DGP_PAPER) &&
(isInSelectedTOC() || (iSel1 <= iRunBase && iSel2 > iRunBase))
)
{
// Need the painter lock to be released at the end of this block
GR_Painter painter(pG);
painter.fillRect(_getView()->getColorSelBackground(), /*pDA->xoff*/DA_xoff, iFillTop, getWidth(), iFillHeight);
bIsSelected = true;
getEmbedManager()->setColor(m_iEmbedUID,_getView()->getColorSelForeground());
}
else
{
Fill(getGraphics(),pDA->xoff, pDA->yoff - getAscent(), getWidth()+getGraphics()->tlu(1), iLineHeight+getGraphics()->tlu(1));
getEmbedManager()->setColor(m_iEmbedUID,getFGColor());
}
UT_Rect rec;
rec.left = pDA->xoff;
rec.top = pDA->yoff;
rec.height = getHeight();
rec.width = getWidth();
if(getEmbedManager()->isDefault())
{
rec.top -= _getLayoutPropFromObject("ascent");
}
UT_DEBUGMSG(("Draw Embed object top %d \n",rec.top));
getEmbedManager()->render(m_iEmbedUID,rec);
if(m_bNeedsSnapshot && !getEmbedManager()->isDefault() && getGraphics()->queryProperties(GR_Graphics::DGP_SCREEN) )
{
UT_Rect myrec = rec;
myrec.top -= getAscent();
if(!bIsSelected)
{
getEmbedManager()->makeSnapShot(m_iEmbedUID,myrec);
m_bNeedsSnapshot = false;
}
}
if(bIsSelected)
{
UT_Rect myrec = rec;
if(!getEmbedManager()->isDefault())
{
myrec.top -= getAscent();
}
_drawResizeBox(myrec);
}
}