示例#1
0
文件: NodeView.cpp 项目: EQ4/lad
NodeView::NodeView(Gtk::Window*                        window,
                   Ganv::Canvas&                       canvas,
                   SPtr<machina::client::ClientObject> node,
                   double                              x,
                   double                              y)
	: Ganv::Circle(canvas, "", x, y)
	, _window(window)
	, _node(node)
	, _default_border_color(get_border_color())
	, _default_fill_color(get_fill_color())
{
	set_fit_label(false);
	set_radius_ems(1.25);

	signal_event().connect(sigc::mem_fun(this, &NodeView::on_event));

	MachinaCanvas* mcanvas = dynamic_cast<MachinaCanvas*>(&canvas);
	if (is(mcanvas->app()->forge(), URIs::instance().machina_initial)) {
		set_border_width(4.0);
		set_is_source(true);
		const uint8_t alpha[] = { 0xCE, 0xB1, 0 };
		set_label((const char*)alpha);
	}

	node->signal_property.connect(sigc::mem_fun(this, &NodeView::on_property));

	for (const auto& p : node->properties()) {
		on_property(p.first, p.second);
	}
}
示例#2
0
文件: window.c 项目: Stebalien/bspwm
void draw_border(node_t *n, bool focused_node, bool focused_monitor)
{
	if (n == NULL) {
		return;
	}

	uint32_t border_color_pxl = get_border_color(focused_node, focused_monitor);
	for (node_t *f = first_extrema(n); f != NULL; f = next_leaf(f, n)) {
		if (f->client->border_width > 0) {
			window_draw_border(f->id, border_color_pxl);
		}
	}
}
static HRESULT get_color(uxgtk_theme_t *theme, int part_id, int state_id,
                         int prop_id, GdkRGBA *rgba)
{
    button_theme_t *button_theme = impl_from_uxgtk_theme_t(theme);

    switch (prop_id)
    {
        case TMT_BORDERCOLOR:
            return get_border_color(button_theme, part_id, state_id, rgba);

        case TMT_TEXTCOLOR:
            return get_text_color(button_theme, part_id, state_id, rgba);
    }

    FIXME("Unsupported button color %d.\n", prop_id);
    return E_NOTIMPL;
}