1
我想使用gtk_render_line
而不是cairo_line_to
。更改線條粗細gtk_render_line
我已經更換了呼叫,但保留了cairo_set_line_width(cc,2)
,並且線條已更改爲1px寬。
因爲gtk_render_line使用樣式上下文,我想我必須設置一個CSS屬性來控制它。
控制gtk_render_line渲染線條粗細的屬性名稱是什麼?
我想使用gtk_render_line
而不是cairo_line_to
。更改線條粗細gtk_render_line
我已經更換了呼叫,但保留了cairo_set_line_width(cc,2)
,並且線條已更改爲1px寬。
因爲gtk_render_line使用樣式上下文,我想我必須設置一個CSS屬性來控制它。
控制gtk_render_line渲染線條粗細的屬性名稱是什麼?
根據實際圖紙是由gtk_do_render_line
做的gtk_render_line
來源,其源看起來是這樣的:
gtk_do_render_line (GtkStyleContext *context,
cairo_t *cr,
gdouble x0,
gdouble y0,
gdouble x1,
gdouble y1)
{
const GdkRGBA *color;
cairo_save (cr);
color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
cairo_set_line_width (cr, 1); /* <----------------- Relevant for this question */
cairo_move_to (cr, x0 + 0.5, y0 + 0.5);
cairo_line_to (cr, x1 + 0.5, y1 + 0.5);
gdk_cairo_set_source_rgba (cr, color);
cairo_stroke (cr);
cairo_restore (cr);
}
在這裏我們可以看到該行的寬度不受任何CSS確定屬性,它只是固定爲寬度1
。所以沒有任何屬性或其他方式可以在Gtk中直接更改它...