static VALUE rg_previous_color(VALUE self) { GdkColor color; gtk_color_selection_get_previous_color(_SELF(self), &color); return GDKCOLOR2RVAL(&color); }
static VALUE rg_query_color(VALUE self, VALUE pixel) { GdkColor color; gdk_colormap_query_color(_SELF(self), NUM2ULONG(pixel), &color); return GDKCOLOR2RVAL(&color); }
static VALUE style_lookup_color(VALUE self, VALUE color_name) { GdkColor color; if (gtk_style_lookup_color(_SELF(self), RVAL2CSTR(color_name), &color)){ return GDKCOLOR2RVAL(&color); } else { return Qnil; } }
static void screen_func(GdkScreen *screen, const GdkColor *colors, gint n_colors) { int i; VALUE func = rb_cvar_get(RG_TARGET_NAMESPACE, rb_intern("__palette_proc__")); VALUE ary = rb_ary_new(); for (i = 0; i < n_colors; i++){ ary = rb_ary_push(ary, GDKCOLOR2RVAL((GdkColor *)&colors[i])); } if (! NIL_P(func)) rb_funcall(func, id_call, 2, GOBJ2RVAL(screen), ary); }
/* * Method: get_mark_category_background(category) * category: a category (as a string). * * Gets the background color which is associated with the given category. * * Returns: a Gdk::Color object if found, or nil if not found. */ static VALUE rg_get_mark_category_background(VALUE self, VALUE category) { GdkColor color; gboolean found; found = gtk_source_view_get_mark_category_background(_SELF (self), RVAL2CSTR(category), &color); if (found) { return GDKCOLOR2RVAL(&color); } else { return Qnil; } }
static VALUE attrary2rval(GArray *attrs) { long i, len; VALUE rb_attrs, rb_class; len = attrs->len; rb_attrs = rb_ary_new2(len); rb_class = rb_const_get(rb_const_get(rb_cObject, rb_intern("Vte")), rb_intern("CharAttributes")); for (i = 0; i < len; i++) { VteCharAttributes *attr; attr = &g_array_index(attrs, VteCharAttributes, i); rb_ary_push(rb_attrs, rb_funcall(rb_class, id_new, 6, LONG2NUM(attr->row), LONG2NUM(attr->column), GDKCOLOR2RVAL(&(attr->fore)), GDKCOLOR2RVAL(&(attr->back)), CBOOL2RVAL(attr->underline), CBOOL2RVAL(attr->strikethrough))); } return rb_attrs; }
static VALUE rg_s_palette_from_string(G_GNUC_UNUSED VALUE self, VALUE str) { GdkColor* gcolors; gint i, n_colors; VALUE ary = Qnil; gboolean ret = gtk_color_selection_palette_from_string(RVAL2CSTR(str), &gcolors, &n_colors); if (ret) { ary = rb_ary_new(); for (i = 0; i < n_colors; i++) { rb_ary_push(ary, GDKCOLOR2RVAL(&gcolors[i])); } } return ary; }