本文整理汇总了C++中render_context::get_current_color方法的典型用法代码示例。如果您正苦于以下问题:C++ render_context::get_current_color方法的具体用法?C++ render_context::get_current_color怎么用?C++ render_context::get_current_color使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类render_context
的用法示例。
在下文中一共展示了render_context::get_current_color方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: apply
bool paint::apply(const element* parent, render_context& ctx) const
{
switch(color_attrib_) {
case ColorAttrib::NONE:
// Nothing to do if there is no color.
return false;
case ColorAttrib::CURRENT_COLOR: {
auto cc = ctx.get_current_color();
ASSERT_LOG(cc != NULL, "Current color specified as color source, but there is no current color value.");
cairo_set_source_rgb(ctx.cairo(), cc->r(), cc->g(), cc->b());
return true;
}
case ColorAttrib::FUNC_IRI:
ASSERT_LOG(false, "XXX: todo: lookup FUNC_IRI to get color value");
return true;
case ColorAttrib::ICC_COLOR:
ASSERT_LOG(false, "XXX: todo: ICC_COLOR to get color value");
return true;
case ColorAttrib::INHERIT:
// XXX: Nothing to do?
return true;
case ColorAttrib::VALUE:
double opacity = ctx.opacity_top();
cairo_set_source_rgba(ctx.cairo(), color_value_.r(), color_value_.g(), color_value_.b(), opacity);
return true;
}
return false;
}