本文整理汇总了C++中cairo::RefPtr::clip_preserve方法的典型用法代码示例。如果您正苦于以下问题:C++ RefPtr::clip_preserve方法的具体用法?C++ RefPtr::clip_preserve怎么用?C++ RefPtr::clip_preserve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cairo::RefPtr
的用法示例。
在下文中一共展示了RefPtr::clip_preserve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: on_draw
//.........这里部分代码省略.........
cr->stroke();
}
}
// TEXT
// draw title and create clipping rectangle
// JG
cr->set_source_rgba(
theme.forPreviewTitle().background().red,
theme.forPreviewTitle().background().green,
theme.forPreviewTitle().background().blue,
theme.forPreviewTitle().foreground().alpha);
cr->rectangle(pos_x, pos_y + 2, pos_width + 2, pos_height);
// cr->clip_preserve();
cr->fill();
// JG
cr->set_source_rgba(
theme.forPreviewTitle().foreground().red,
theme.forPreviewTitle().foreground().green,
theme.forPreviewTitle().foreground().blue,
theme.forPreviewTitle().foreground().alpha);
cr->set_line_width(theme.forPreviewTitle().lineWith());
cr->rectangle(pos_x, pos_y + 2, pos_width + 2, pos_height);
cr->stroke();
// draw title the clipping rectangle
//cr->set_source_rgba(1.0, 1.0, 1.0, 0.0);
cr->rectangle(pos_x, pos_y + 2, pos_width, pos_height);
cr->clip_preserve();
cr->stroke();
cr->set_source_rgba(
theme.forPreviewTitleText().foreground().red,
theme.forPreviewTitleText().foreground().green,
theme.forPreviewTitleText().foreground().blue,
theme.forPreviewTitleText().foreground().alpha);
auto layout = create_pango_layout(item->m_titlename);
layout->set_font_description(font);
//cr->set_source_rgba(1.0, 1.0, 1.0, 1.0); // white text
cr->move_to(pos_x, pos_y + 2);
layout->show_in_cairo_context(cr);
cr->reset_clip(); // Reset the clipping
if (item->m_imageLoadedRequired) {
GdkPixbuf *scaledpb = getScaledPixbuf(item);
if (scaledpb == nullptr) {
continue;
}
// show the loaded image.
showPreview(cr, scaledpb, idx);
// Checks if the image have movement.
if (item->isMovementDetected(scaledpb) && !item->m_isDynamic) {