実際の描画がgtk_do_render_line
によって行われgtk_render_line
のソースに基づいて、のソースは次のようになります。私たちはラインの幅は任意のCSSによって決定されていないことを確認することができ、ここで
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);
}
属性の場合は、幅が1
に固定されています。したがって、Gtk内で直接属性を変更する属性や方法はありません。