mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 20:12:30 +00:00
take const GimpRGB* instead of just GimpRGB*. Converted tabs to spaces.
2004-06-30 Michael Natterer <mitch@gimp.org> * app/core/gimppalette.[ch] (gimp_palette_add_entry): take const GimpRGB* instead of just GimpRGB*. Converted tabs to spaces.
This commit is contained in:
parent
425fd699e3
commit
12355969f6
|
@ -1,3 +1,9 @@
|
|||
2004-06-30 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/core/gimppalette.[ch] (gimp_palette_add_entry): take
|
||||
const GimpRGB* instead of just GimpRGB*.
|
||||
Converted tabs to spaces.
|
||||
|
||||
2004-06-30 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* widgets/gimpselectiondata.[ch] (gimp_selection_data_get_svg):
|
||||
|
|
|
@ -112,15 +112,10 @@ gimp_palette_get_type (void)
|
|||
static void
|
||||
gimp_palette_class_init (GimpPaletteClass *klass)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
GimpObjectClass *gimp_object_class;
|
||||
GimpViewableClass *viewable_class;
|
||||
GimpDataClass *data_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
gimp_object_class = GIMP_OBJECT_CLASS (klass);
|
||||
viewable_class = GIMP_VIEWABLE_CLASS (klass);
|
||||
data_class = GIMP_DATA_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GimpObjectClass *gimp_object_class = GIMP_OBJECT_CLASS (klass);
|
||||
GimpViewableClass *viewable_class = GIMP_VIEWABLE_CLASS (klass);
|
||||
GimpDataClass *data_class = GIMP_DATA_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
|
@ -231,8 +226,8 @@ gimp_palette_get_popup_size (GimpViewable *viewable,
|
|||
|
||||
static TempBuf *
|
||||
gimp_palette_get_new_preview (GimpViewable *viewable,
|
||||
gint width,
|
||||
gint height)
|
||||
gint width,
|
||||
gint height)
|
||||
{
|
||||
GimpPalette *palette = GIMP_PALETTE (viewable);
|
||||
GimpPaletteEntry *entry;
|
||||
|
@ -269,28 +264,28 @@ gimp_palette_get_new_preview (GimpViewable *viewable,
|
|||
memset (b, 255, width * 3);
|
||||
|
||||
for (x = 0; x < columns && list; x++)
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
|
||||
list = g_list_next (list);
|
||||
list = g_list_next (list);
|
||||
|
||||
gimp_rgb_get_uchar (&entry->color,
|
||||
&b[x * cell_size * 3 + 0],
|
||||
&b[x * cell_size * 3 + 1],
|
||||
&b[x * cell_size * 3 + 2]);
|
||||
gimp_rgb_get_uchar (&entry->color,
|
||||
&b[x * cell_size * 3 + 0],
|
||||
&b[x * cell_size * 3 + 1],
|
||||
&b[x * cell_size * 3 + 2]);
|
||||
|
||||
for (i = 1; i < cell_size; i++)
|
||||
{
|
||||
b[(x * cell_size + i) * 3 + 0] = b[(x * cell_size) * 3 + 0];
|
||||
b[(x * cell_size + i) * 3 + 1] = b[(x * cell_size) * 3 + 1];
|
||||
b[(x * cell_size + i) * 3 + 2] = b[(x * cell_size) * 3 + 2];
|
||||
}
|
||||
}
|
||||
for (i = 1; i < cell_size; i++)
|
||||
{
|
||||
b[(x * cell_size + i) * 3 + 0] = b[(x * cell_size) * 3 + 0];
|
||||
b[(x * cell_size + i) * 3 + 1] = b[(x * cell_size) * 3 + 1];
|
||||
b[(x * cell_size + i) * 3 + 2] = b[(x * cell_size) * 3 + 2];
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < cell_size; i++)
|
||||
{
|
||||
memcpy (buf + ((y * cell_size + i) * width) * 3, b, width * 3);
|
||||
}
|
||||
{
|
||||
memcpy (buf + ((y * cell_size + i) * width) * 3, b, width * 3);
|
||||
}
|
||||
}
|
||||
|
||||
g_free (b);
|
||||
|
@ -380,13 +375,13 @@ gimp_palette_load (const gchar *filename,
|
|||
{
|
||||
/* bad magic, but maybe it has \r\n at the end of lines? */
|
||||
if (!strcmp (str, "GIMP Palette\r"))
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Missing magic header.\n"
|
||||
"Does this file need converting from DOS?"),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
else
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Missing magic header."),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
|
@ -424,48 +419,48 @@ gimp_palette_load (const gchar *filename,
|
|||
g_free (utf8);
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
|
||||
if (! strncmp (str, "Columns: ", strlen ("Columns: ")))
|
||||
{
|
||||
gint columns;
|
||||
{
|
||||
gint columns;
|
||||
|
||||
columns = atoi (g_strstrip (&str[strlen ("Columns: ")]));
|
||||
columns = atoi (g_strstrip (&str[strlen ("Columns: ")]));
|
||||
|
||||
if (columns < 0 || columns > 256)
|
||||
{
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Invalid number of columns in line %d. "
|
||||
if (columns < 0 || columns > 256)
|
||||
{
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Invalid number of columns in line %d. "
|
||||
"Using default value."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
columns = 0;
|
||||
}
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
columns = 0;
|
||||
}
|
||||
|
||||
palette->n_columns = columns;
|
||||
palette->n_columns = columns;
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
}
|
||||
linenum++;
|
||||
}
|
||||
}
|
||||
else /* old palette format */
|
||||
{
|
||||
|
@ -484,71 +479,71 @@ gimp_palette_load (const gchar *filename,
|
|||
while (! feof (file))
|
||||
{
|
||||
if (str[0] != '#')
|
||||
{
|
||||
tok = strtok (str, " \t");
|
||||
if (tok)
|
||||
r = atoi (tok);
|
||||
else
|
||||
/* maybe we should just abort? */
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing RED component in line %d."),
|
||||
{
|
||||
tok = strtok (str, " \t");
|
||||
if (tok)
|
||||
r = atoi (tok);
|
||||
else
|
||||
/* maybe we should just abort? */
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing RED component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
g = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette '%s': "
|
||||
"Missing GREEN component in line %d."),
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
g = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette '%s': "
|
||||
"Missing GREEN component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
b = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing BLUE component in line %d."),
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
b = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing BLUE component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
/* optional name */
|
||||
tok = strtok (NULL, "\n");
|
||||
/* optional name */
|
||||
tok = strtok (NULL, "\n");
|
||||
|
||||
if (r < 0 || r > 255 ||
|
||||
g < 0 || g > 255 ||
|
||||
b < 0 || b > 255)
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"RGB value out of range in line %d."),
|
||||
if (r < 0 || r > 255 ||
|
||||
g < 0 || g > 255 ||
|
||||
b < 0 || b > 255)
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"RGB value out of range in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
/* don't call gimp_palette_add_entry here, it's rather inefficient */
|
||||
entry = g_new0 (GimpPaletteEntry, 1);
|
||||
|
||||
gimp_rgba_set_uchar (&entry->color,
|
||||
(guchar) r,
|
||||
(guchar) g,
|
||||
(guchar) b,
|
||||
255);
|
||||
gimp_rgba_set_uchar (&entry->color,
|
||||
(guchar) r,
|
||||
(guchar) g,
|
||||
(guchar) b,
|
||||
255);
|
||||
|
||||
entry->name = g_strdup (tok ? tok : _("Untitled"));
|
||||
entry->position = palette->n_colors;
|
||||
|
||||
palette->colors = g_list_prepend (palette->colors, entry);
|
||||
palette->n_colors++;
|
||||
}
|
||||
}
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
if (feof (file))
|
||||
break;
|
||||
{
|
||||
if (feof (file))
|
||||
break;
|
||||
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
}
|
||||
|
@ -575,7 +570,7 @@ gimp_palette_save (GimpData *data,
|
|||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_OPEN,
|
||||
_("Could not open '%s' for writing: %s"),
|
||||
gimp_filename_to_utf8 (data->filename),
|
||||
g_strerror (errno));
|
||||
g_strerror (errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -627,9 +622,9 @@ gimp_palette_duplicate (GimpData *data,
|
|||
}
|
||||
|
||||
GimpPaletteEntry *
|
||||
gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
GimpRGB *color)
|
||||
gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
const GimpRGB *color)
|
||||
{
|
||||
GimpPaletteEntry *entry;
|
||||
|
||||
|
@ -654,7 +649,7 @@ gimp_palette_add_entry (GimpPalette *palette,
|
|||
|
||||
void
|
||||
gimp_palette_delete_entry (GimpPalette *palette,
|
||||
GimpPaletteEntry *entry)
|
||||
GimpPaletteEntry *entry)
|
||||
{
|
||||
GList *list;
|
||||
gint pos = 0;
|
||||
|
@ -672,24 +667,24 @@ gimp_palette_delete_entry (GimpPalette *palette,
|
|||
palette->n_colors--;
|
||||
|
||||
for (list = g_list_nth (palette->colors, pos);
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
|
||||
entry->position = pos++;
|
||||
}
|
||||
entry->position = pos++;
|
||||
}
|
||||
|
||||
if (palette->n_colors == 0)
|
||||
{
|
||||
GimpRGB color;
|
||||
{
|
||||
GimpRGB color;
|
||||
|
||||
gimp_rgba_set (&color, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
|
||||
gimp_rgba_set (&color, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
|
||||
|
||||
gimp_palette_add_entry (palette,
|
||||
_("Black"),
|
||||
&color);
|
||||
}
|
||||
gimp_palette_add_entry (palette,
|
||||
_("Black"),
|
||||
&color);
|
||||
}
|
||||
|
||||
/* will make the palette dirty too */
|
||||
gimp_object_name_changed (GIMP_OBJECT (palette));
|
||||
|
|
|
@ -112,15 +112,10 @@ gimp_palette_get_type (void)
|
|||
static void
|
||||
gimp_palette_class_init (GimpPaletteClass *klass)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
GimpObjectClass *gimp_object_class;
|
||||
GimpViewableClass *viewable_class;
|
||||
GimpDataClass *data_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
gimp_object_class = GIMP_OBJECT_CLASS (klass);
|
||||
viewable_class = GIMP_VIEWABLE_CLASS (klass);
|
||||
data_class = GIMP_DATA_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GimpObjectClass *gimp_object_class = GIMP_OBJECT_CLASS (klass);
|
||||
GimpViewableClass *viewable_class = GIMP_VIEWABLE_CLASS (klass);
|
||||
GimpDataClass *data_class = GIMP_DATA_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
|
@ -231,8 +226,8 @@ gimp_palette_get_popup_size (GimpViewable *viewable,
|
|||
|
||||
static TempBuf *
|
||||
gimp_palette_get_new_preview (GimpViewable *viewable,
|
||||
gint width,
|
||||
gint height)
|
||||
gint width,
|
||||
gint height)
|
||||
{
|
||||
GimpPalette *palette = GIMP_PALETTE (viewable);
|
||||
GimpPaletteEntry *entry;
|
||||
|
@ -269,28 +264,28 @@ gimp_palette_get_new_preview (GimpViewable *viewable,
|
|||
memset (b, 255, width * 3);
|
||||
|
||||
for (x = 0; x < columns && list; x++)
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
|
||||
list = g_list_next (list);
|
||||
list = g_list_next (list);
|
||||
|
||||
gimp_rgb_get_uchar (&entry->color,
|
||||
&b[x * cell_size * 3 + 0],
|
||||
&b[x * cell_size * 3 + 1],
|
||||
&b[x * cell_size * 3 + 2]);
|
||||
gimp_rgb_get_uchar (&entry->color,
|
||||
&b[x * cell_size * 3 + 0],
|
||||
&b[x * cell_size * 3 + 1],
|
||||
&b[x * cell_size * 3 + 2]);
|
||||
|
||||
for (i = 1; i < cell_size; i++)
|
||||
{
|
||||
b[(x * cell_size + i) * 3 + 0] = b[(x * cell_size) * 3 + 0];
|
||||
b[(x * cell_size + i) * 3 + 1] = b[(x * cell_size) * 3 + 1];
|
||||
b[(x * cell_size + i) * 3 + 2] = b[(x * cell_size) * 3 + 2];
|
||||
}
|
||||
}
|
||||
for (i = 1; i < cell_size; i++)
|
||||
{
|
||||
b[(x * cell_size + i) * 3 + 0] = b[(x * cell_size) * 3 + 0];
|
||||
b[(x * cell_size + i) * 3 + 1] = b[(x * cell_size) * 3 + 1];
|
||||
b[(x * cell_size + i) * 3 + 2] = b[(x * cell_size) * 3 + 2];
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < cell_size; i++)
|
||||
{
|
||||
memcpy (buf + ((y * cell_size + i) * width) * 3, b, width * 3);
|
||||
}
|
||||
{
|
||||
memcpy (buf + ((y * cell_size + i) * width) * 3, b, width * 3);
|
||||
}
|
||||
}
|
||||
|
||||
g_free (b);
|
||||
|
@ -380,13 +375,13 @@ gimp_palette_load (const gchar *filename,
|
|||
{
|
||||
/* bad magic, but maybe it has \r\n at the end of lines? */
|
||||
if (!strcmp (str, "GIMP Palette\r"))
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Missing magic header.\n"
|
||||
"Does this file need converting from DOS?"),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
else
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Missing magic header."),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
|
@ -424,48 +419,48 @@ gimp_palette_load (const gchar *filename,
|
|||
g_free (utf8);
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
|
||||
if (! strncmp (str, "Columns: ", strlen ("Columns: ")))
|
||||
{
|
||||
gint columns;
|
||||
{
|
||||
gint columns;
|
||||
|
||||
columns = atoi (g_strstrip (&str[strlen ("Columns: ")]));
|
||||
columns = atoi (g_strstrip (&str[strlen ("Columns: ")]));
|
||||
|
||||
if (columns < 0 || columns > 256)
|
||||
{
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Invalid number of columns in line %d. "
|
||||
if (columns < 0 || columns > 256)
|
||||
{
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Invalid number of columns in line %d. "
|
||||
"Using default value."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
columns = 0;
|
||||
}
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
columns = 0;
|
||||
}
|
||||
|
||||
palette->n_columns = columns;
|
||||
palette->n_columns = columns;
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
}
|
||||
linenum++;
|
||||
}
|
||||
}
|
||||
else /* old palette format */
|
||||
{
|
||||
|
@ -484,71 +479,71 @@ gimp_palette_load (const gchar *filename,
|
|||
while (! feof (file))
|
||||
{
|
||||
if (str[0] != '#')
|
||||
{
|
||||
tok = strtok (str, " \t");
|
||||
if (tok)
|
||||
r = atoi (tok);
|
||||
else
|
||||
/* maybe we should just abort? */
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing RED component in line %d."),
|
||||
{
|
||||
tok = strtok (str, " \t");
|
||||
if (tok)
|
||||
r = atoi (tok);
|
||||
else
|
||||
/* maybe we should just abort? */
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing RED component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
g = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette '%s': "
|
||||
"Missing GREEN component in line %d."),
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
g = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette '%s': "
|
||||
"Missing GREEN component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
b = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing BLUE component in line %d."),
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
b = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing BLUE component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
/* optional name */
|
||||
tok = strtok (NULL, "\n");
|
||||
/* optional name */
|
||||
tok = strtok (NULL, "\n");
|
||||
|
||||
if (r < 0 || r > 255 ||
|
||||
g < 0 || g > 255 ||
|
||||
b < 0 || b > 255)
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"RGB value out of range in line %d."),
|
||||
if (r < 0 || r > 255 ||
|
||||
g < 0 || g > 255 ||
|
||||
b < 0 || b > 255)
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"RGB value out of range in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
/* don't call gimp_palette_add_entry here, it's rather inefficient */
|
||||
entry = g_new0 (GimpPaletteEntry, 1);
|
||||
|
||||
gimp_rgba_set_uchar (&entry->color,
|
||||
(guchar) r,
|
||||
(guchar) g,
|
||||
(guchar) b,
|
||||
255);
|
||||
gimp_rgba_set_uchar (&entry->color,
|
||||
(guchar) r,
|
||||
(guchar) g,
|
||||
(guchar) b,
|
||||
255);
|
||||
|
||||
entry->name = g_strdup (tok ? tok : _("Untitled"));
|
||||
entry->position = palette->n_colors;
|
||||
|
||||
palette->colors = g_list_prepend (palette->colors, entry);
|
||||
palette->n_colors++;
|
||||
}
|
||||
}
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
if (feof (file))
|
||||
break;
|
||||
{
|
||||
if (feof (file))
|
||||
break;
|
||||
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
}
|
||||
|
@ -575,7 +570,7 @@ gimp_palette_save (GimpData *data,
|
|||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_OPEN,
|
||||
_("Could not open '%s' for writing: %s"),
|
||||
gimp_filename_to_utf8 (data->filename),
|
||||
g_strerror (errno));
|
||||
g_strerror (errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -627,9 +622,9 @@ gimp_palette_duplicate (GimpData *data,
|
|||
}
|
||||
|
||||
GimpPaletteEntry *
|
||||
gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
GimpRGB *color)
|
||||
gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
const GimpRGB *color)
|
||||
{
|
||||
GimpPaletteEntry *entry;
|
||||
|
||||
|
@ -654,7 +649,7 @@ gimp_palette_add_entry (GimpPalette *palette,
|
|||
|
||||
void
|
||||
gimp_palette_delete_entry (GimpPalette *palette,
|
||||
GimpPaletteEntry *entry)
|
||||
GimpPaletteEntry *entry)
|
||||
{
|
||||
GList *list;
|
||||
gint pos = 0;
|
||||
|
@ -672,24 +667,24 @@ gimp_palette_delete_entry (GimpPalette *palette,
|
|||
palette->n_colors--;
|
||||
|
||||
for (list = g_list_nth (palette->colors, pos);
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
|
||||
entry->position = pos++;
|
||||
}
|
||||
entry->position = pos++;
|
||||
}
|
||||
|
||||
if (palette->n_colors == 0)
|
||||
{
|
||||
GimpRGB color;
|
||||
{
|
||||
GimpRGB color;
|
||||
|
||||
gimp_rgba_set (&color, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
|
||||
gimp_rgba_set (&color, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
|
||||
|
||||
gimp_palette_add_entry (palette,
|
||||
_("Black"),
|
||||
&color);
|
||||
}
|
||||
gimp_palette_add_entry (palette,
|
||||
_("Black"),
|
||||
&color);
|
||||
}
|
||||
|
||||
/* will make the palette dirty too */
|
||||
gimp_object_name_changed (GIMP_OBJECT (palette));
|
||||
|
|
|
@ -112,15 +112,10 @@ gimp_palette_get_type (void)
|
|||
static void
|
||||
gimp_palette_class_init (GimpPaletteClass *klass)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
GimpObjectClass *gimp_object_class;
|
||||
GimpViewableClass *viewable_class;
|
||||
GimpDataClass *data_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
gimp_object_class = GIMP_OBJECT_CLASS (klass);
|
||||
viewable_class = GIMP_VIEWABLE_CLASS (klass);
|
||||
data_class = GIMP_DATA_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GimpObjectClass *gimp_object_class = GIMP_OBJECT_CLASS (klass);
|
||||
GimpViewableClass *viewable_class = GIMP_VIEWABLE_CLASS (klass);
|
||||
GimpDataClass *data_class = GIMP_DATA_CLASS (klass);
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
|
@ -231,8 +226,8 @@ gimp_palette_get_popup_size (GimpViewable *viewable,
|
|||
|
||||
static TempBuf *
|
||||
gimp_palette_get_new_preview (GimpViewable *viewable,
|
||||
gint width,
|
||||
gint height)
|
||||
gint width,
|
||||
gint height)
|
||||
{
|
||||
GimpPalette *palette = GIMP_PALETTE (viewable);
|
||||
GimpPaletteEntry *entry;
|
||||
|
@ -269,28 +264,28 @@ gimp_palette_get_new_preview (GimpViewable *viewable,
|
|||
memset (b, 255, width * 3);
|
||||
|
||||
for (x = 0; x < columns && list; x++)
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
|
||||
list = g_list_next (list);
|
||||
list = g_list_next (list);
|
||||
|
||||
gimp_rgb_get_uchar (&entry->color,
|
||||
&b[x * cell_size * 3 + 0],
|
||||
&b[x * cell_size * 3 + 1],
|
||||
&b[x * cell_size * 3 + 2]);
|
||||
gimp_rgb_get_uchar (&entry->color,
|
||||
&b[x * cell_size * 3 + 0],
|
||||
&b[x * cell_size * 3 + 1],
|
||||
&b[x * cell_size * 3 + 2]);
|
||||
|
||||
for (i = 1; i < cell_size; i++)
|
||||
{
|
||||
b[(x * cell_size + i) * 3 + 0] = b[(x * cell_size) * 3 + 0];
|
||||
b[(x * cell_size + i) * 3 + 1] = b[(x * cell_size) * 3 + 1];
|
||||
b[(x * cell_size + i) * 3 + 2] = b[(x * cell_size) * 3 + 2];
|
||||
}
|
||||
}
|
||||
for (i = 1; i < cell_size; i++)
|
||||
{
|
||||
b[(x * cell_size + i) * 3 + 0] = b[(x * cell_size) * 3 + 0];
|
||||
b[(x * cell_size + i) * 3 + 1] = b[(x * cell_size) * 3 + 1];
|
||||
b[(x * cell_size + i) * 3 + 2] = b[(x * cell_size) * 3 + 2];
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < cell_size; i++)
|
||||
{
|
||||
memcpy (buf + ((y * cell_size + i) * width) * 3, b, width * 3);
|
||||
}
|
||||
{
|
||||
memcpy (buf + ((y * cell_size + i) * width) * 3, b, width * 3);
|
||||
}
|
||||
}
|
||||
|
||||
g_free (b);
|
||||
|
@ -380,13 +375,13 @@ gimp_palette_load (const gchar *filename,
|
|||
{
|
||||
/* bad magic, but maybe it has \r\n at the end of lines? */
|
||||
if (!strcmp (str, "GIMP Palette\r"))
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Missing magic header.\n"
|
||||
"Does this file need converting from DOS?"),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
else
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Missing magic header."),
|
||||
gimp_filename_to_utf8 (filename));
|
||||
|
@ -424,48 +419,48 @@ gimp_palette_load (const gchar *filename,
|
|||
g_free (utf8);
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
|
||||
if (! strncmp (str, "Columns: ", strlen ("Columns: ")))
|
||||
{
|
||||
gint columns;
|
||||
{
|
||||
gint columns;
|
||||
|
||||
columns = atoi (g_strstrip (&str[strlen ("Columns: ")]));
|
||||
columns = atoi (g_strstrip (&str[strlen ("Columns: ")]));
|
||||
|
||||
if (columns < 0 || columns > 256)
|
||||
{
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Invalid number of columns in line %d. "
|
||||
if (columns < 0 || columns > 256)
|
||||
{
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Invalid number of columns in line %d. "
|
||||
"Using default value."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
columns = 0;
|
||||
}
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
columns = 0;
|
||||
}
|
||||
|
||||
palette->n_columns = columns;
|
||||
palette->n_columns = columns;
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
}
|
||||
linenum++;
|
||||
}
|
||||
}
|
||||
else /* old palette format */
|
||||
{
|
||||
|
@ -484,71 +479,71 @@ gimp_palette_load (const gchar *filename,
|
|||
while (! feof (file))
|
||||
{
|
||||
if (str[0] != '#')
|
||||
{
|
||||
tok = strtok (str, " \t");
|
||||
if (tok)
|
||||
r = atoi (tok);
|
||||
else
|
||||
/* maybe we should just abort? */
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing RED component in line %d."),
|
||||
{
|
||||
tok = strtok (str, " \t");
|
||||
if (tok)
|
||||
r = atoi (tok);
|
||||
else
|
||||
/* maybe we should just abort? */
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing RED component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
g = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette '%s': "
|
||||
"Missing GREEN component in line %d."),
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
g = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette '%s': "
|
||||
"Missing GREEN component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
b = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing BLUE component in line %d."),
|
||||
tok = strtok (NULL, " \t");
|
||||
if (tok)
|
||||
b = atoi (tok);
|
||||
else
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"Missing BLUE component in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
/* optional name */
|
||||
tok = strtok (NULL, "\n");
|
||||
/* optional name */
|
||||
tok = strtok (NULL, "\n");
|
||||
|
||||
if (r < 0 || r > 255 ||
|
||||
g < 0 || g > 255 ||
|
||||
b < 0 || b > 255)
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"RGB value out of range in line %d."),
|
||||
if (r < 0 || r > 255 ||
|
||||
g < 0 || g > 255 ||
|
||||
b < 0 || b > 255)
|
||||
g_message (_("Reading palette file '%s': "
|
||||
"RGB value out of range in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
|
||||
/* don't call gimp_palette_add_entry here, it's rather inefficient */
|
||||
entry = g_new0 (GimpPaletteEntry, 1);
|
||||
|
||||
gimp_rgba_set_uchar (&entry->color,
|
||||
(guchar) r,
|
||||
(guchar) g,
|
||||
(guchar) b,
|
||||
255);
|
||||
gimp_rgba_set_uchar (&entry->color,
|
||||
(guchar) r,
|
||||
(guchar) g,
|
||||
(guchar) b,
|
||||
255);
|
||||
|
||||
entry->name = g_strdup (tok ? tok : _("Untitled"));
|
||||
entry->position = palette->n_colors;
|
||||
|
||||
palette->colors = g_list_prepend (palette->colors, entry);
|
||||
palette->n_colors++;
|
||||
}
|
||||
}
|
||||
|
||||
if (! fgets (str, sizeof (str), file))
|
||||
{
|
||||
if (feof (file))
|
||||
break;
|
||||
{
|
||||
if (feof (file))
|
||||
break;
|
||||
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_READ,
|
||||
_("Fatal parse error in palette file '%s': "
|
||||
"Read error in line %d."),
|
||||
gimp_filename_to_utf8 (filename), linenum);
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
fclose (file);
|
||||
g_object_unref (palette);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
linenum++;
|
||||
}
|
||||
|
@ -575,7 +570,7 @@ gimp_palette_save (GimpData *data,
|
|||
g_set_error (error, GIMP_DATA_ERROR, GIMP_DATA_ERROR_OPEN,
|
||||
_("Could not open '%s' for writing: %s"),
|
||||
gimp_filename_to_utf8 (data->filename),
|
||||
g_strerror (errno));
|
||||
g_strerror (errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -627,9 +622,9 @@ gimp_palette_duplicate (GimpData *data,
|
|||
}
|
||||
|
||||
GimpPaletteEntry *
|
||||
gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
GimpRGB *color)
|
||||
gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
const GimpRGB *color)
|
||||
{
|
||||
GimpPaletteEntry *entry;
|
||||
|
||||
|
@ -654,7 +649,7 @@ gimp_palette_add_entry (GimpPalette *palette,
|
|||
|
||||
void
|
||||
gimp_palette_delete_entry (GimpPalette *palette,
|
||||
GimpPaletteEntry *entry)
|
||||
GimpPaletteEntry *entry)
|
||||
{
|
||||
GList *list;
|
||||
gint pos = 0;
|
||||
|
@ -672,24 +667,24 @@ gimp_palette_delete_entry (GimpPalette *palette,
|
|||
palette->n_colors--;
|
||||
|
||||
for (list = g_list_nth (palette->colors, pos);
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
list;
|
||||
list = g_list_next (list))
|
||||
{
|
||||
entry = (GimpPaletteEntry *) list->data;
|
||||
|
||||
entry->position = pos++;
|
||||
}
|
||||
entry->position = pos++;
|
||||
}
|
||||
|
||||
if (palette->n_colors == 0)
|
||||
{
|
||||
GimpRGB color;
|
||||
{
|
||||
GimpRGB color;
|
||||
|
||||
gimp_rgba_set (&color, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
|
||||
gimp_rgba_set (&color, 0.0, 0.0, 0.0, GIMP_OPACITY_OPAQUE);
|
||||
|
||||
gimp_palette_add_entry (palette,
|
||||
_("Black"),
|
||||
&color);
|
||||
}
|
||||
gimp_palette_add_entry (palette,
|
||||
_("Black"),
|
||||
&color);
|
||||
}
|
||||
|
||||
/* will make the palette dirty too */
|
||||
gimp_object_name_changed (GIMP_OBJECT (palette));
|
||||
|
|
|
@ -73,7 +73,7 @@ GimpData * gimp_palette_load (const gchar *filename,
|
|||
|
||||
GimpPaletteEntry * gimp_palette_add_entry (GimpPalette *palette,
|
||||
const gchar *name,
|
||||
GimpRGB *color);
|
||||
const GimpRGB *color);
|
||||
void gimp_palette_delete_entry (GimpPalette *palette,
|
||||
GimpPaletteEntry *entry);
|
||||
|
||||
|
|
Loading…
Reference in a new issue