Пример #1
0
static PyObject *
pygimp_rgb_parse_css(PyObject *self, PyObject *args, PyObject *kwargs)
{
    char *css;
    int len;
    GimpRGB rgb;
    gboolean success, with_alpha = FALSE;
    static char *kwlist[] = { "css", "with_alpha", NULL };

    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
				     "s#|i:rgb_parse_css", kwlist,
				     &css, &len, &with_alpha))
        return NULL;

    if (with_alpha)
	success = gimp_rgba_parse_css(&rgb, css, len);
    else {
	rgb.a = 1.0;
	success = gimp_rgb_parse_css(&rgb, css, len);
    }

    if (!success) {
	PyErr_SetString(PyExc_ValueError, "unable to parse CSS color");
	return NULL;
    }

    return pygimp_rgb_new(&rgb);
}
Пример #2
0
int
main (void)
{
  gint failures = 0;
  gint i;

  g_print ("\nTesting the GIMP color parser ...\n");

  for (i = 0; i < G_N_ELEMENTS (samples); i++)
    {
      GimpRGB   rgb = { 0.0, 0.0, 0.0, 0.0 };
      gboolean  success;

      if (samples[i].alpha)
        success = gimp_rgba_parse_css (&rgb, samples[i].str, -1);
      else
        success = gimp_rgb_parse_css (&rgb, samples[i].str, -1);

      failures += check_failure (samples + i, success, &rgb);
    }

  if (failures)
    {
      g_print ("%d out of %d samples failed!\n\n",
               failures, (int)G_N_ELEMENTS (samples));
      return EXIT_FAILURE;
    }
  else
    {
      g_print ("All %d samples passed.\n\n", (int)G_N_ELEMENTS (samples));
      return EXIT_SUCCESS;
    }
}
Пример #3
0
static VALUE
rb_gimp_rgba_parse_css (VALUE self,
                        VALUE css)
{
  GimpRGB color;
  gboolean success;
  success = gimp_rgba_parse_css(&color,
                                (gchar *)StringValuePtr(css),
                                (gint)-1);

  if(!success)
    return Qnil;

  return GimpRGB2rb(&color);
}