本文整理汇总了C++中CFX_FloatRect::InitRect方法的典型用法代码示例。如果您正苦于以下问题:C++ CFX_FloatRect::InitRect方法的具体用法?C++ CFX_FloatRect::InitRect怎么用?C++ CFX_FloatRect::InitRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFX_FloatRect
的用法示例。
在下文中一共展示了CFX_FloatRect::InitRect方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetBoundingBox
CFX_FloatRect CFX_PathData::GetBoundingBox() const {
CFX_FloatRect rect;
if (m_PointCount) {
rect.InitRect(m_pPoints[0].m_PointX, m_pPoints[0].m_PointY);
for (int i = 1; i < m_PointCount; i++) {
rect.UpdateRect(m_pPoints[i].m_PointX, m_pPoints[i].m_PointY);
}
}
return rect;
}
示例2: _GetShadingBBox
CFX_FloatRect _GetShadingBBox(CPDF_Stream* pStream, int type, const CFX_AffineMatrix* pMatrix,
CPDF_Function** pFuncs, int nFuncs, CPDF_ColorSpace* pCS)
{
if (pStream == NULL || pStream->GetType() != PDFOBJ_STREAM || pFuncs == NULL || pCS == NULL) {
return CFX_FloatRect(0, 0, 0, 0);
}
CPDF_MeshStream stream;
if (!stream.Load(pStream, pFuncs, nFuncs, pCS)) {
return CFX_FloatRect(0, 0, 0, 0);
}
CFX_FloatRect rect;
FX_BOOL bStarted = FALSE;
FX_BOOL bGouraud = type == 4 || type == 5;
int full_point_count = type == 7 ? 16 : (type == 6 ? 12 : 1);
int full_color_count = (type == 6 || type == 7) ? 4 : 1;
while (!stream.m_BitStream.IsEOF()) {
FX_DWORD flag;
if (type != 5) {
flag = stream.GetFlag();
}
int point_count = full_point_count, color_count = full_color_count;
if (!bGouraud && flag) {
point_count -= 4;
color_count -= 2;
}
for (int i = 0; i < point_count; i ++) {
FX_FLOAT x, y;
stream.GetCoords(x, y);
if (bStarted) {
rect.UpdateRect(x, y);
} else {
rect.InitRect(x, y);
bStarted = TRUE;
}
}
stream.m_BitStream.SkipBits(stream.m_nComps * stream.m_nCompBits * color_count);
if (bGouraud) {
stream.m_BitStream.ByteAlign();
}
}
rect.Transform(pMatrix);
return rect;
}