~ubuntu-branches/ubuntu/maverick/gimp/maverick

« back to all changes in this revision

Viewing changes to plug-ins/common/decompose.c

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher
  • Date: 2010-07-12 15:08:08 UTC
  • mfrom: (1.1.23) (0.4.6 sid)
  • Revision ID: package-import@ubuntu.com-20100712150808-db9xqgtxrvpyl3g2
Tags: 2.6.10-1ubuntu1
Resync on Debian, dropping changes which are in the new version

Show diffs side-by-side

added added

removed removed

Lines of Context:
1159
1159
  register guchar *magenta_dst = dst[1];
1160
1160
  register guchar *yellow_dst = dst[2];
1161
1161
  register guchar *black_dst = dst[3];
1162
 
  register guchar k, s;
1163
1162
  register gint count = numpix, offset = bpp-3;
 
1163
  GimpCMYK gcmyk;
 
1164
 
 
1165
  gimp_cmyk_set (&gcmyk, 0,0,0,0);
1164
1166
 
1165
1167
  while (count-- > 0)
1166
1168
    {
1167
 
      *cyan_dst = k = 255 - *(rgb_src++);
1168
 
      *magenta_dst = s = 255 - *(rgb_src++);
1169
 
      if (s < k)
1170
 
        k = s;
1171
 
      *yellow_dst = s = 255 - *(rgb_src++);
1172
 
      if (s < k)
1173
 
        k = s;                /* Black intensity is minimum of c, m, y */
1174
 
      if (k)
1175
 
        {
1176
 
          *cyan_dst -= k;     /* Remove common part of c, m, y */
1177
 
          *magenta_dst -= k;
1178
 
          *yellow_dst -= k;
1179
 
        }
1180
 
      cyan_dst++;
1181
 
      magenta_dst++;
1182
 
      yellow_dst++;
1183
 
      *(black_dst++) = k;
 
1169
      GimpRGB grgb;
 
1170
      guchar  r, g, b;
 
1171
 
 
1172
      r = *rgb_src++;
 
1173
      g = *rgb_src++;
 
1174
      b = *rgb_src++;
 
1175
 
 
1176
      gimp_rgb_set_uchar (&grgb, r, g, b);
 
1177
      gimp_rgb_to_cmyk (&grgb, 1.0, &gcmyk);
 
1178
      gimp_cmyk_get_uchar (&gcmyk,
 
1179
                           cyan_dst++, magenta_dst++, yellow_dst++,
 
1180
                           black_dst++);
1184
1181
 
1185
1182
      rgb_src += offset;
1186
1183
    }
1195
1192
{
1196
1193
  register const guchar *rgb_src = src;
1197
1194
  register guchar *cyan_dst = dst[0];
1198
 
  register guchar s, k;
1199
1195
  register gint count = numpix, offset = bpp-3;
 
1196
  GimpCMYK gcmyk;
 
1197
 
 
1198
  gimp_cmyk_set (&gcmyk, 0,0,0,0);
1200
1199
 
1201
1200
  while (count-- > 0)
1202
1201
    {
1203
 
      *cyan_dst = k = 255 - *(rgb_src++);
1204
 
      s = 255 - *(rgb_src++);  /* magenta */
1205
 
      if (s < k) k = s;
1206
 
      s = 255 - *(rgb_src++);  /* yellow */
1207
 
      if (s < k) k = s;
1208
 
      if (k) *cyan_dst -= k;
1209
 
      cyan_dst++;
 
1202
      GimpRGB grgb;
 
1203
      guchar  r, g, b;
 
1204
 
 
1205
      r = *rgb_src++;
 
1206
      g = *rgb_src++;
 
1207
      b = *rgb_src++;
 
1208
 
 
1209
      gimp_rgb_set_uchar (&grgb, r,g,b);
 
1210
      gimp_rgb_to_cmyk (&grgb, 1.0, &gcmyk);
 
1211
      gimp_cmyk_get_uchar (&gcmyk, cyan_dst++, NULL, NULL, NULL);
1210
1212
 
1211
1213
      rgb_src += offset;
1212
1214
    }
1221
1223
{
1222
1224
  register const guchar *rgb_src = src;
1223
1225
  register guchar *magenta_dst = dst[0];
1224
 
  register guchar s, k;
1225
1226
  register gint count = numpix, offset = bpp-3;
 
1227
  GimpCMYK gcmyk;
 
1228
 
 
1229
  gimp_cmyk_set (&gcmyk, 0,0,0,0);
1226
1230
 
1227
1231
  while (count-- > 0)
1228
1232
    {
1229
 
      k = 255 - *(rgb_src++);  /* cyan */
1230
 
      *magenta_dst = s = 255 - *(rgb_src++);  /* magenta */
1231
 
      if (s < k)
1232
 
        k = s;
1233
 
      s = 255 - *(rgb_src++);  /* yellow */
1234
 
      if (s < k)
1235
 
        k = s;
1236
 
      if (k)
1237
 
        *magenta_dst -= k;
1238
 
      magenta_dst++;
 
1233
      GimpRGB grgb;
 
1234
      guchar  r, g, b;
 
1235
 
 
1236
      r = *rgb_src++;
 
1237
      g = *rgb_src++;
 
1238
      b = *rgb_src++;
 
1239
 
 
1240
      gimp_rgb_set_uchar (&grgb, r,g,b);
 
1241
      gimp_rgb_to_cmyk (&grgb, 1.0, &gcmyk);
 
1242
      gimp_cmyk_get_uchar (&gcmyk, NULL, magenta_dst++, NULL, NULL);
1239
1243
 
1240
1244
      rgb_src += offset;
1241
1245
    }
1251
1255
{
1252
1256
  register const guchar *rgb_src = src;
1253
1257
  register guchar *yellow_dst = dst[0];
1254
 
  register guchar s, k;
1255
1258
  register gint count = numpix, offset = bpp-3;
 
1259
  GimpCMYK gcmyk;
 
1260
 
 
1261
  gimp_cmyk_set (&gcmyk, 0,0,0,0);
1256
1262
 
1257
1263
  while (count-- > 0)
1258
1264
    {
1259
 
      k = 255 - *(rgb_src++);  /* cyan */
1260
 
      s = 255 - *(rgb_src++);  /* magenta */
1261
 
      if (s < k) k = s;
1262
 
      *yellow_dst = s = 255 - *(rgb_src++);
1263
 
      if (s < k)
1264
 
        k = s;
1265
 
      if (k)
1266
 
        *yellow_dst -= k;
1267
 
      yellow_dst++;
 
1265
      GimpRGB grgb;
 
1266
      guchar  r, g, b;
 
1267
 
 
1268
      r = *rgb_src++;
 
1269
      g = *rgb_src++;
 
1270
      b = *rgb_src++;
 
1271
 
 
1272
      gimp_rgb_set_uchar (&grgb, r,g,b);
 
1273
      gimp_rgb_to_cmyk (&grgb, 1.0, &gcmyk);
 
1274
      gimp_cmyk_get_uchar (&gcmyk, NULL, NULL, yellow_dst++, NULL);
1268
1275
 
1269
1276
      rgb_src += offset;
1270
1277
    }