本文整理汇总了C++中geom::OptRect::width方法的典型用法代码示例。如果您正苦于以下问题:C++ OptRect::width方法的具体用法?C++ OptRect::width怎么用?C++ OptRect::width使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类geom::OptRect
的用法示例。
在下文中一共展示了OptRect::width方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
void
sp_gradient_pattern_common_setup(cairo_pattern_t *cp,
SPGradient *gr,
Geom::OptRect const &bbox,
double opacity)
{
// set spread type
switch (gr->getSpread()) {
case SP_GRADIENT_SPREAD_REFLECT:
cairo_pattern_set_extend(cp, CAIRO_EXTEND_REFLECT);
break;
case SP_GRADIENT_SPREAD_REPEAT:
cairo_pattern_set_extend(cp, CAIRO_EXTEND_REPEAT);
break;
case SP_GRADIENT_SPREAD_PAD:
default:
cairo_pattern_set_extend(cp, CAIRO_EXTEND_PAD);
break;
}
// add stops
for (std::vector<SPGradientStop>::iterator i = gr->vector.stops.begin();
i != gr->vector.stops.end(); ++i)
{
// multiply stop opacity by paint opacity
cairo_pattern_add_color_stop_rgba(cp, i->offset,
i->color.v.c[0], i->color.v.c[1], i->color.v.c[2], i->opacity * opacity);
}
// set pattern matrix
Geom::Affine gs2user = gr->gradientTransform;
if (gr->getUnits() == SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX && bbox) {
Geom::Affine bbox2user(bbox->width(), 0, 0, bbox->height(), bbox->left(), bbox->top());
gs2user *= bbox2user;
}
ink_cairo_pattern_set_matrix(cp, gs2user.inverse());
}