rmagick 3.0.0 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.appveyor.yml +32 -6
- data/.circleci/config.yml +1 -1
- data/.gitignore +1 -0
- data/.rubocop.yml +9 -9
- data/.rubocop_todo.yml +351 -17
- data/.travis.yml +14 -1
- data/CHANGELOG.md +55 -0
- data/CONTRIBUTING.md +11 -18
- data/README.textile +2 -2
- data/Rakefile +1 -1
- data/before_install_linux.sh +56 -19
- data/doc/ex/sparse_color.rb +5 -0
- data/doc/magick.html +9 -4
- data/doc/rvg.html +2 -2
- data/doc/rvgtut.html +1 -1
- data/examples/histogram.rb +1 -1
- data/ext/RMagick/extconf.rb +90 -264
- data/ext/RMagick/rmagick.c +28 -6
- data/ext/RMagick/rmagick.h +53 -199
- data/ext/RMagick/rmdraw.c +52 -70
- data/ext/RMagick/rmenum.c +332 -274
- data/ext/RMagick/rmfill.c +62 -112
- data/ext/RMagick/rmilist.c +27 -62
- data/ext/RMagick/rmimage.c +424 -634
- data/ext/RMagick/rminfo.c +46 -37
- data/ext/RMagick/rmkinfo.c +47 -42
- data/ext/RMagick/rmmain.c +125 -180
- data/ext/RMagick/rmmontage.c +5 -5
- data/ext/RMagick/rmpixel.c +133 -62
- data/ext/RMagick/rmstruct.c +14 -181
- data/ext/RMagick/rmutil.c +195 -111
- data/lib/rmagick/version.rb +2 -3
- data/lib/rvg/deep_equal.rb +1 -1
- data/lib/rvg/misc.rb +4 -4
- data/lib/rvg/units.rb +2 -2
- data/rmagick.gemspec +2 -2
- data/spec/rmagick/ImageList1_spec.rb +2 -2
- data/spec/rmagick/draw_spec.rb +4 -4
- data/spec/rmagick/image/composite_spec.rb +6 -1
- data/spec/rmagick/image/properties_spec.rb +8 -8
- data/test/Draw.rb +414 -0
- data/test/Enum.rb +76 -0
- data/test/Fill.rb +93 -0
- data/test/Image1.rb +9 -1
- data/test/Image2.rb +14 -4
- data/test/Image3.rb +73 -3
- data/test/ImageList1.rb +22 -9
- data/test/ImageList2.rb +41 -9
- data/test/Image_attributes.rb +45 -8
- data/test/Info.rb +102 -6
- data/test/Magick.rb +8 -1
- data/test/PolaroidOptions.rb +23 -0
- data/test/test_all_basic.rb +4 -0
- metadata +28 -8
- data/.hound.yml +0 -2
- data/wercker.yml +0 -10
data/ext/RMagick/rmdraw.c
CHANGED
@@ -151,7 +151,7 @@ Draw_fill_eq(VALUE self, VALUE fill)
|
|
151
151
|
|
152
152
|
rb_check_frozen(self);
|
153
153
|
Data_Get_Struct(self, Draw, draw);
|
154
|
-
|
154
|
+
Color_to_PixelColor(&draw->info->fill, fill);
|
155
155
|
return self;
|
156
156
|
}
|
157
157
|
|
@@ -304,17 +304,17 @@ VALUE
|
|
304
304
|
Draw_font_weight_eq(VALUE self, VALUE weight)
|
305
305
|
{
|
306
306
|
Draw *draw;
|
307
|
-
|
307
|
+
size_t w;
|
308
308
|
|
309
309
|
rb_check_frozen(self);
|
310
310
|
Data_Get_Struct(self, Draw, draw);
|
311
311
|
|
312
312
|
if (FIXNUM_P(weight))
|
313
313
|
{
|
314
|
-
w =
|
314
|
+
w = FIX2INT(weight);
|
315
315
|
if (w < 100 || w > 900)
|
316
316
|
{
|
317
|
-
rb_raise(rb_eArgError, "invalid font weight (%
|
317
|
+
rb_raise(rb_eArgError, "invalid font weight (%ld given)", w);
|
318
318
|
}
|
319
319
|
draw->info->weight = w;
|
320
320
|
}
|
@@ -402,19 +402,12 @@ Draw_gravity_eq(VALUE self, VALUE grav)
|
|
402
402
|
VALUE
|
403
403
|
Draw_kerning_eq(VALUE self, VALUE kerning)
|
404
404
|
{
|
405
|
-
#if defined(HAVE_ST_KERNING)
|
406
405
|
Draw *draw;
|
407
406
|
|
408
407
|
rb_check_frozen(self);
|
409
408
|
Data_Get_Struct(self, Draw, draw);
|
410
409
|
draw->info->kerning = NUM2DBL(kerning);
|
411
410
|
return self;
|
412
|
-
#else
|
413
|
-
rm_not_implemented();
|
414
|
-
return (VALUE)0;
|
415
|
-
self = self;
|
416
|
-
kerning = kerning;
|
417
|
-
#endif
|
418
411
|
}
|
419
412
|
|
420
413
|
|
@@ -434,19 +427,12 @@ Draw_kerning_eq(VALUE self, VALUE kerning)
|
|
434
427
|
VALUE
|
435
428
|
Draw_interline_spacing_eq(VALUE self, VALUE spacing)
|
436
429
|
{
|
437
|
-
#if defined(HAVE_ST_INTERLINE_SPACING)
|
438
430
|
Draw *draw;
|
439
431
|
|
440
432
|
rb_check_frozen(self);
|
441
433
|
Data_Get_Struct(self, Draw, draw);
|
442
434
|
draw->info->interline_spacing = NUM2DBL(spacing);
|
443
435
|
return self;
|
444
|
-
#else
|
445
|
-
rm_not_implemented();
|
446
|
-
return (VALUE)0;
|
447
|
-
self = self;
|
448
|
-
spacing = spacing;
|
449
|
-
#endif
|
450
436
|
}
|
451
437
|
|
452
438
|
|
@@ -466,19 +452,12 @@ Draw_interline_spacing_eq(VALUE self, VALUE spacing)
|
|
466
452
|
VALUE
|
467
453
|
Draw_interword_spacing_eq(VALUE self, VALUE spacing)
|
468
454
|
{
|
469
|
-
#if defined(HAVE_ST_INTERWORD_SPACING)
|
470
455
|
Draw *draw;
|
471
456
|
|
472
457
|
rb_check_frozen(self);
|
473
458
|
Data_Get_Struct(self, Draw, draw);
|
474
459
|
draw->info->interword_spacing = NUM2DBL(spacing);
|
475
460
|
return self;
|
476
|
-
#else
|
477
|
-
rm_not_implemented();
|
478
|
-
return (VALUE)0;
|
479
|
-
self = self;
|
480
|
-
spacing = spacing;
|
481
|
-
#endif
|
482
461
|
}
|
483
462
|
|
484
463
|
|
@@ -594,8 +573,8 @@ Draw_marshal_dump(VALUE self)
|
|
594
573
|
// rb_hash_aset(ddraw, CSTR2SYM("viewbox"), Import_RectangleInfo(&draw->info->viewbox)); internal
|
595
574
|
rb_hash_aset(ddraw, CSTR2SYM("affine"), Import_AffineMatrix(&draw->info->affine));
|
596
575
|
rb_hash_aset(ddraw, CSTR2SYM("gravity"), INT2FIX(draw->info->gravity));
|
597
|
-
rb_hash_aset(ddraw, CSTR2SYM("fill"),
|
598
|
-
rb_hash_aset(ddraw, CSTR2SYM("stroke"),
|
576
|
+
rb_hash_aset(ddraw, CSTR2SYM("fill"), Pixel_from_PixelColor(&draw->info->fill));
|
577
|
+
rb_hash_aset(ddraw, CSTR2SYM("stroke"), Pixel_from_PixelColor(&draw->info->stroke));
|
599
578
|
rb_hash_aset(ddraw, CSTR2SYM("stroke_width"), rb_float_new(draw->info->stroke_width));
|
600
579
|
// rb_hash_aset(ddraw, CSTR2SYM("gradient"), Qnil); // not used yet
|
601
580
|
rb_hash_aset(ddraw, CSTR2SYM("fill_pattern"), image_to_str(draw->info->fill_pattern));
|
@@ -622,8 +601,8 @@ Draw_marshal_dump(VALUE self)
|
|
622
601
|
rb_hash_aset(ddraw, CSTR2SYM("pointsize"), rb_float_new(draw->info->pointsize));
|
623
602
|
rb_hash_aset(ddraw, CSTR2SYM("density"), MAGICK_STRING_TO_OBJ(draw->info->density));
|
624
603
|
rb_hash_aset(ddraw, CSTR2SYM("align"), INT2FIX(draw->info->align));
|
625
|
-
rb_hash_aset(ddraw, CSTR2SYM("undercolor"),
|
626
|
-
// rb_hash_aset(ddraw, CSTR2SYM("border_color"),
|
604
|
+
rb_hash_aset(ddraw, CSTR2SYM("undercolor"), Pixel_from_PixelColor(&draw->info->undercolor));
|
605
|
+
// rb_hash_aset(ddraw, CSTR2SYM("border_color"), Pixel_from_PixelColor(&draw->info->border_color)); Montage and Polaroid
|
627
606
|
// rb_hash_aset(ddraw, CSTR2SYM("server_name"), MAGICK_STRING_TO_OBJ(draw->info->server_name));
|
628
607
|
// rb_hash_aset(ddraw, CSTR2SYM("dash_pattern"), dash_pattern_to_array(draw->info->dash_pattern)); internal
|
629
608
|
// rb_hash_aset(ddraw, CSTR2SYM("clip_mask"), MAGICK_STRING_TO_OBJ(draw->info->clip_mask)); internal
|
@@ -633,16 +612,12 @@ Draw_marshal_dump(VALUE self)
|
|
633
612
|
// rb_hash_aset(ddraw, CSTR2SYM("render"), draw->info->render ? Qtrue : Qfalse); internal
|
634
613
|
// rb_hash_aset(ddraw, CSTR2SYM("element_reference"), Qnil); // not used yet
|
635
614
|
// rb_hash_aset(ddraw, CSTR2SYM("debug"), draw->info->debug ? Qtrue : Qfalse);
|
636
|
-
#if defined(HAVE_ST_KERNING)
|
637
615
|
rb_hash_aset(ddraw, CSTR2SYM("kerning"), rb_float_new(draw->info->kerning));
|
638
|
-
#endif
|
639
|
-
#if defined(HAVE_ST_INTERWORD_SPACING)
|
640
616
|
rb_hash_aset(ddraw, CSTR2SYM("interword_spacing"), rb_float_new(draw->info->interword_spacing));
|
641
|
-
#endif
|
642
617
|
|
643
618
|
// Non-DrawInfo fields
|
644
619
|
rb_hash_aset(ddraw, CSTR2SYM("primitives"), draw->primitives);
|
645
|
-
// rb_hash_aset(ddraw, CSTR2SYM("shadow_color"),
|
620
|
+
// rb_hash_aset(ddraw, CSTR2SYM("shadow_color"), Pixel_from_PixelColor(&draw->shadow_color)); Polaroid-only
|
646
621
|
|
647
622
|
return ddraw;
|
648
623
|
}
|
@@ -665,7 +640,6 @@ VALUE
|
|
665
640
|
Draw_marshal_load(VALUE self, VALUE ddraw)
|
666
641
|
{
|
667
642
|
Draw *draw;
|
668
|
-
Pixel *pixel;
|
669
643
|
VALUE val;
|
670
644
|
|
671
645
|
Data_Get_Struct(self, Draw, draw);
|
@@ -681,12 +655,10 @@ Draw_marshal_load(VALUE self, VALUE ddraw)
|
|
681
655
|
draw->info->gravity = (GravityType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("gravity")));
|
682
656
|
|
683
657
|
val = rb_hash_aref(ddraw, CSTR2SYM("fill"));
|
684
|
-
|
685
|
-
draw->info->fill = *pixel;
|
658
|
+
Color_to_PixelColor(&draw->info->fill, val);
|
686
659
|
|
687
660
|
val = rb_hash_aref(ddraw, CSTR2SYM("stroke"));
|
688
|
-
|
689
|
-
draw->info->stroke = *pixel;
|
661
|
+
Color_to_PixelColor(&draw->info->stroke, val);
|
690
662
|
|
691
663
|
draw->info->stroke_width = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("stroke_width")));
|
692
664
|
draw->info->fill_pattern = str_to_image(rb_hash_aref(ddraw, CSTR2SYM("fill_pattern")));
|
@@ -706,17 +678,12 @@ Draw_marshal_load(VALUE self, VALUE ddraw)
|
|
706
678
|
draw->info->align = (AlignType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("align")));
|
707
679
|
|
708
680
|
val = rb_hash_aref(ddraw, CSTR2SYM("undercolor"));
|
709
|
-
|
710
|
-
draw->info->undercolor = *pixel;
|
681
|
+
Color_to_PixelColor(&draw->info->undercolor, val);
|
711
682
|
|
712
683
|
draw->info->clip_units = FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("clip_units")));
|
713
684
|
draw->info->opacity = NUM2QUANTUM(rb_hash_aref(ddraw, CSTR2SYM("opacity")));
|
714
|
-
#if defined(HAVE_ST_KERNING)
|
715
685
|
draw->info->kerning = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("kerning")));
|
716
|
-
#endif
|
717
|
-
#if defined(HAVE_ST_INTERWORD_SPACING)
|
718
686
|
draw->info->interword_spacing = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("interword_spacing")));
|
719
|
-
#endif
|
720
687
|
|
721
688
|
draw->primitives = rb_hash_aref(ddraw, CSTR2SYM("primitives"));
|
722
689
|
|
@@ -817,7 +784,7 @@ Draw_stroke_eq(VALUE self, VALUE stroke)
|
|
817
784
|
|
818
785
|
rb_check_frozen(self);
|
819
786
|
Data_Get_Struct(self, Draw, draw);
|
820
|
-
|
787
|
+
Color_to_PixelColor(&draw->info->stroke, stroke);
|
821
788
|
return self;
|
822
789
|
}
|
823
790
|
|
@@ -940,7 +907,7 @@ Draw_undercolor_eq(VALUE self, VALUE undercolor)
|
|
940
907
|
|
941
908
|
rb_check_frozen(self);
|
942
909
|
Data_Get_Struct(self, Draw, draw);
|
943
|
-
|
910
|
+
Color_to_PixelColor(&draw->info->undercolor, undercolor);
|
944
911
|
return self;
|
945
912
|
}
|
946
913
|
|
@@ -1123,11 +1090,9 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1123
1090
|
case BlendCompositeOp:
|
1124
1091
|
op = "Blend";
|
1125
1092
|
break;
|
1126
|
-
#if defined(HAVE_ENUM_BLURCOMPOSITEOP)
|
1127
1093
|
case BlurCompositeOp:
|
1128
1094
|
op = "Blur";
|
1129
1095
|
break;
|
1130
|
-
#endif
|
1131
1096
|
case BumpmapCompositeOp:
|
1132
1097
|
op = "Bumpmap";
|
1133
1098
|
break;
|
@@ -1146,15 +1111,15 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1146
1111
|
case ColorizeCompositeOp:
|
1147
1112
|
op = "Colorize";
|
1148
1113
|
break;
|
1149
|
-
case CopyCompositeOp:
|
1150
|
-
op = "Copy";
|
1151
|
-
break;
|
1152
1114
|
case CopyBlackCompositeOp:
|
1153
1115
|
op = "CopyBlack";
|
1154
1116
|
break;
|
1155
1117
|
case CopyBlueCompositeOp:
|
1156
1118
|
op = "CopyBlue";
|
1157
1119
|
break;
|
1120
|
+
case CopyCompositeOp:
|
1121
|
+
op = "Copy";
|
1122
|
+
break;
|
1158
1123
|
case CopyCyanCompositeOp:
|
1159
1124
|
op = "CopyCyan";
|
1160
1125
|
break;
|
@@ -1176,14 +1141,18 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1176
1141
|
case DarkenCompositeOp:
|
1177
1142
|
op = "Darken";
|
1178
1143
|
break;
|
1179
|
-
|
1144
|
+
case DarkenIntensityCompositeOp:
|
1145
|
+
op = "DarkenIntensity";
|
1146
|
+
break;
|
1180
1147
|
case DistortCompositeOp:
|
1181
1148
|
op = "Distort";
|
1182
1149
|
break;
|
1183
|
-
#endif
|
1184
1150
|
case DivideCompositeOp:
|
1185
1151
|
op = "Divide";
|
1186
1152
|
break;
|
1153
|
+
case DivideSrcCompositeOp:
|
1154
|
+
op = "DivideSrc";
|
1155
|
+
break;
|
1187
1156
|
case DstCompositeOp:
|
1188
1157
|
op = "Dst";
|
1189
1158
|
break;
|
@@ -1214,6 +1183,11 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1214
1183
|
case HardLightCompositeOp:
|
1215
1184
|
op = "HardLight";
|
1216
1185
|
break;
|
1186
|
+
#if defined(IMAGEMAGICK_GREATER_THAN_EQUAL_6_8_9)
|
1187
|
+
case HardMixCompositeOp:
|
1188
|
+
op = "HardMix";
|
1189
|
+
break;
|
1190
|
+
#endif
|
1217
1191
|
case HueCompositeOp:
|
1218
1192
|
op = "Hue";
|
1219
1193
|
break;
|
@@ -1223,31 +1197,39 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1223
1197
|
case LightenCompositeOp:
|
1224
1198
|
op = "Lighten";
|
1225
1199
|
break;
|
1226
|
-
|
1200
|
+
case LightenIntensityCompositeOp:
|
1201
|
+
op = "LightenIntensity";
|
1202
|
+
break;
|
1227
1203
|
case LinearBurnCompositeOp:
|
1228
1204
|
op = "LinearBurn";
|
1229
1205
|
break;
|
1230
|
-
#endif
|
1231
|
-
#if defined(HAVE_ENUM_LINEARDODGECOMPOSITEOP)
|
1232
1206
|
case LinearDodgeCompositeOp:
|
1233
1207
|
op = "LinearDodge";
|
1234
1208
|
break;
|
1235
|
-
#endif
|
1236
1209
|
case LinearLightCompositeOp:
|
1237
1210
|
op = "LinearLight";
|
1238
1211
|
break;
|
1239
1212
|
case LuminizeCompositeOp:
|
1240
1213
|
op = "Luminize";
|
1241
1214
|
break;
|
1215
|
+
case MathematicsCompositeOp:
|
1216
|
+
op = "Mathematics";
|
1217
|
+
break;
|
1242
1218
|
case MinusCompositeOp:
|
1243
1219
|
op = "Minus";
|
1244
1220
|
break;
|
1221
|
+
case MinusSrcCompositeOp:
|
1222
|
+
op = "MinusSrc";
|
1223
|
+
break;
|
1245
1224
|
case ModulateCompositeOp:
|
1246
1225
|
op = "Modulate";
|
1247
1226
|
break;
|
1248
1227
|
case MultiplyCompositeOp:
|
1249
1228
|
op = "Multiply";
|
1250
1229
|
break;
|
1230
|
+
case NoCompositeOp:
|
1231
|
+
op = "No";
|
1232
|
+
break;
|
1251
1233
|
case OutCompositeOp:
|
1252
1234
|
op = "Out";
|
1253
1235
|
break;
|
@@ -1257,16 +1239,12 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1257
1239
|
case OverlayCompositeOp:
|
1258
1240
|
op = "Overlay";
|
1259
1241
|
break;
|
1260
|
-
#if defined(HAVE_ENUM_PEGTOPLIGHTCOMPOSITEOP)
|
1261
1242
|
case PegtopLightCompositeOp:
|
1262
1243
|
op = "PegtopLight";
|
1263
1244
|
break;
|
1264
|
-
#endif
|
1265
|
-
#if defined(HAVE_ENUM_PINLIGHTCOMPOSITEOP)
|
1266
1245
|
case PinLightCompositeOp:
|
1267
1246
|
op = "PinLight";
|
1268
1247
|
break;
|
1269
|
-
#endif
|
1270
1248
|
case PlusCompositeOp:
|
1271
1249
|
op = "Plus";
|
1272
1250
|
break;
|
@@ -1303,11 +1281,12 @@ Draw_composite(int argc, VALUE *argv, VALUE self)
|
|
1303
1281
|
case ThresholdCompositeOp:
|
1304
1282
|
op = "Threshold";
|
1305
1283
|
break;
|
1306
|
-
|
1284
|
+
case UndefinedCompositeOp:
|
1285
|
+
op = "Undefined";
|
1286
|
+
break;
|
1307
1287
|
case VividLightCompositeOp:
|
1308
1288
|
op = "VividLight";
|
1309
1289
|
break;
|
1310
|
-
#endif
|
1311
1290
|
case XorCompositeOp:
|
1312
1291
|
op = "Xor";
|
1313
1292
|
break;
|
@@ -1794,9 +1773,9 @@ PolaroidOptions_initialize(VALUE self)
|
|
1794
1773
|
Data_Get_Struct(self, Draw, draw);
|
1795
1774
|
|
1796
1775
|
exception = AcquireExceptionInfo();
|
1797
|
-
(void)
|
1776
|
+
(void) QueryColorCompliance("gray75", AllCompliance, &draw->shadow_color, exception);
|
1798
1777
|
CHECK_EXCEPTION()
|
1799
|
-
(void)
|
1778
|
+
(void) QueryColorCompliance("#dfdfdf", AllCompliance, &draw->info->border_color, exception);
|
1800
1779
|
CHECK_EXCEPTION()
|
1801
1780
|
DestroyExceptionInfo(exception);
|
1802
1781
|
|
@@ -1838,8 +1817,9 @@ PolaroidOptions_shadow_color_eq(VALUE self, VALUE shadow)
|
|
1838
1817
|
{
|
1839
1818
|
Draw *draw;
|
1840
1819
|
|
1820
|
+
rb_check_frozen(self);
|
1841
1821
|
Data_Get_Struct(self, Draw, draw);
|
1842
|
-
|
1822
|
+
Color_to_PixelColor(&draw->shadow_color, shadow);
|
1843
1823
|
return self;
|
1844
1824
|
}
|
1845
1825
|
|
@@ -1859,8 +1839,9 @@ PolaroidOptions_border_color_eq(VALUE self, VALUE border)
|
|
1859
1839
|
{
|
1860
1840
|
Draw *draw;
|
1861
1841
|
|
1842
|
+
rb_check_frozen(self);
|
1862
1843
|
Data_Get_Struct(self, Draw, draw);
|
1863
|
-
|
1844
|
+
Color_to_PixelColor(&draw->info->border_color, border);
|
1864
1845
|
return self;
|
1865
1846
|
}
|
1866
1847
|
|
@@ -1889,12 +1870,13 @@ get_dummy_tm_img(VALUE klass)
|
|
1889
1870
|
{
|
1890
1871
|
rb_raise(rb_eNoMemError, "not enough memory to continue");
|
1891
1872
|
}
|
1892
|
-
image =
|
1873
|
+
image = rm_acquire_image(info);
|
1874
|
+
(void) DestroyImageInfo(info);
|
1875
|
+
|
1893
1876
|
if (!image)
|
1894
1877
|
{
|
1895
1878
|
rb_raise(rb_eNoMemError, "not enough memory to continue");
|
1896
1879
|
}
|
1897
|
-
(void) DestroyImageInfo(info);
|
1898
1880
|
dummy_img = rm_image_new(image);
|
1899
1881
|
|
1900
1882
|
rb_cv_set(klass, DUMMY_IMG_CLASS_VAR, dummy_img);
|
data/ext/RMagick/rmenum.c
CHANGED
@@ -14,6 +14,8 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
#define ENUMERATORS_CLASS_VAR "@@enumerators"
|
17
|
+
#define ENUM_TO_NAME(_enum) case _enum: return #_enum;
|
18
|
+
#define ENUM_SET_NAME(_enum) case _enum: name = #_enum; break;
|
17
19
|
|
18
20
|
|
19
21
|
static VALUE Enum_type_values(VALUE);
|
@@ -375,16 +377,10 @@ ClassType_new(ClassType cls)
|
|
375
377
|
|
376
378
|
switch(cls)
|
377
379
|
{
|
380
|
+
ENUM_SET_NAME(DirectClass)
|
381
|
+
ENUM_SET_NAME(PseudoClass)
|
378
382
|
default:
|
379
|
-
|
380
|
-
name = "UndefineClass";
|
381
|
-
break;
|
382
|
-
case DirectClass:
|
383
|
-
name = "DirectClass";
|
384
|
-
break;
|
385
|
-
case PseudoClass:
|
386
|
-
name = "PseudoClass";
|
387
|
-
break;
|
383
|
+
ENUM_SET_NAME(UndefinedClass)
|
388
384
|
}
|
389
385
|
|
390
386
|
return rm_enum_new(Class_ClassType, ID2SYM(rb_intern(name)), INT2FIX(cls));
|
@@ -406,76 +402,39 @@ ColorspaceType_new(ColorspaceType cs)
|
|
406
402
|
|
407
403
|
switch(cs)
|
408
404
|
{
|
405
|
+
ENUM_SET_NAME(RGBColorspace)
|
406
|
+
ENUM_SET_NAME(GRAYColorspace)
|
407
|
+
ENUM_SET_NAME(TransparentColorspace)
|
408
|
+
ENUM_SET_NAME(OHTAColorspace)
|
409
|
+
ENUM_SET_NAME(XYZColorspace)
|
410
|
+
ENUM_SET_NAME(YCbCrColorspace)
|
411
|
+
ENUM_SET_NAME(YCCColorspace)
|
412
|
+
ENUM_SET_NAME(YIQColorspace)
|
413
|
+
ENUM_SET_NAME(YPbPrColorspace)
|
414
|
+
ENUM_SET_NAME(YUVColorspace)
|
415
|
+
ENUM_SET_NAME(CMYKColorspace)
|
416
|
+
ENUM_SET_NAME(sRGBColorspace)
|
417
|
+
ENUM_SET_NAME(Rec601YCbCrColorspace)
|
418
|
+
ENUM_SET_NAME(Rec601LumaColorspace)
|
419
|
+
ENUM_SET_NAME(Rec709LumaColorspace)
|
420
|
+
ENUM_SET_NAME(Rec709YCbCrColorspace)
|
421
|
+
ENUM_SET_NAME(CMYColorspace)
|
422
|
+
#if defined(IMAGEMAGICK_GREATER_THAN_EQUAL_6_8_9)
|
423
|
+
ENUM_SET_NAME(LuvColorspace)
|
424
|
+
ENUM_SET_NAME(HCLColorspace)
|
425
|
+
ENUM_SET_NAME(LCHColorspace)
|
426
|
+
ENUM_SET_NAME(LMSColorspace)
|
427
|
+
ENUM_SET_NAME(LCHabColorspace)
|
428
|
+
ENUM_SET_NAME(LCHuvColorspace)
|
429
|
+
ENUM_SET_NAME(scRGBColorspace)
|
430
|
+
ENUM_SET_NAME(HSIColorspace)
|
431
|
+
ENUM_SET_NAME(HSVColorspace)
|
432
|
+
ENUM_SET_NAME(HCLpColorspace)
|
433
|
+
ENUM_SET_NAME(YDbDrColorspace)
|
434
|
+
ENUM_SET_NAME(xyYColorspace)
|
435
|
+
#endif
|
409
436
|
default:
|
410
|
-
|
411
|
-
name = "UndefinedColorspace";
|
412
|
-
break;
|
413
|
-
case RGBColorspace:
|
414
|
-
name = "RGBColorspace";
|
415
|
-
break;
|
416
|
-
case GRAYColorspace:
|
417
|
-
name = "GRAYColorspace";
|
418
|
-
break;
|
419
|
-
case TransparentColorspace:
|
420
|
-
name = "TransparentColorspace";
|
421
|
-
break;
|
422
|
-
case OHTAColorspace:
|
423
|
-
name = "OHTAColorspace";
|
424
|
-
break;
|
425
|
-
case XYZColorspace:
|
426
|
-
name = "XYZColorspace";
|
427
|
-
break;
|
428
|
-
case YCbCrColorspace:
|
429
|
-
name = "YCbCrColorspace";
|
430
|
-
break;
|
431
|
-
case YCCColorspace:
|
432
|
-
name = "YCCColorspace";
|
433
|
-
break;
|
434
|
-
case YIQColorspace:
|
435
|
-
name = "YIQColorspace";
|
436
|
-
break;
|
437
|
-
case YPbPrColorspace:
|
438
|
-
name = "YPbPrColorspace";
|
439
|
-
break;
|
440
|
-
case YUVColorspace:
|
441
|
-
name = "YUVColorspace";
|
442
|
-
break;
|
443
|
-
case CMYKColorspace:
|
444
|
-
name = "CMYKColorspace";
|
445
|
-
break;
|
446
|
-
case sRGBColorspace:
|
447
|
-
name = "sRGBColorspace";
|
448
|
-
break;
|
449
|
-
case HSLColorspace:
|
450
|
-
name = "HSLColorspace";
|
451
|
-
break;
|
452
|
-
case HWBColorspace:
|
453
|
-
name = "HWBColorspace";
|
454
|
-
break;
|
455
|
-
case HSBColorspace:
|
456
|
-
name = "HSBColorspace";
|
457
|
-
break;
|
458
|
-
case LabColorspace:
|
459
|
-
name = "LabColorspace";
|
460
|
-
break;
|
461
|
-
case Rec601YCbCrColorspace:
|
462
|
-
name = "Rec601YCbCrColorspace";
|
463
|
-
break;
|
464
|
-
case Rec601LumaColorspace:
|
465
|
-
name = "Rec601LumaColorspace";
|
466
|
-
break;
|
467
|
-
case Rec709LumaColorspace:
|
468
|
-
name = "Rec709LumaColorspace";
|
469
|
-
break;
|
470
|
-
case Rec709YCbCrColorspace:
|
471
|
-
name = "Rec709YCbCrColorspace";
|
472
|
-
break;
|
473
|
-
case LogColorspace:
|
474
|
-
name = "LogColorspace";
|
475
|
-
break;
|
476
|
-
case CMYColorspace:
|
477
|
-
name = "CMYColorspace";
|
478
|
-
break;
|
437
|
+
ENUM_SET_NAME(UndefinedColorspace)
|
479
438
|
}
|
480
439
|
|
481
440
|
return rm_enum_new(Class_ColorspaceType, ID2SYM(rb_intern(name)), INT2FIX(cs));
|
@@ -483,6 +442,76 @@ ColorspaceType_new(ColorspaceType cs)
|
|
483
442
|
}
|
484
443
|
|
485
444
|
|
445
|
+
/**
|
446
|
+
* Return the string representation of a ComplianceType value.
|
447
|
+
*
|
448
|
+
* No Ruby usage (internal function)
|
449
|
+
*
|
450
|
+
* Notes:
|
451
|
+
* - xMagick will OR multiple compliance types so we have to arbitrarily pick
|
452
|
+
* one name.
|
453
|
+
* - Set the compliance argument to the selected value.
|
454
|
+
*
|
455
|
+
* @param c the ComplianceType value
|
456
|
+
* @return the string
|
457
|
+
*/
|
458
|
+
const char *
|
459
|
+
ComplianceType_name(ComplianceType *c)
|
460
|
+
{
|
461
|
+
if ((*c & (SVGCompliance|X11Compliance|XPMCompliance))
|
462
|
+
== (SVGCompliance|X11Compliance|XPMCompliance))
|
463
|
+
{
|
464
|
+
return "AllCompliance";
|
465
|
+
}
|
466
|
+
else if (*c & SVGCompliance)
|
467
|
+
{
|
468
|
+
*c = SVGCompliance;
|
469
|
+
return "SVGCompliance";
|
470
|
+
}
|
471
|
+
else if (*c & X11Compliance)
|
472
|
+
{
|
473
|
+
*c = X11Compliance;
|
474
|
+
return "X11Compliance";
|
475
|
+
}
|
476
|
+
else if (*c & XPMCompliance)
|
477
|
+
{
|
478
|
+
*c = XPMCompliance;
|
479
|
+
return "XPMCompliance";
|
480
|
+
}
|
481
|
+
else if (*c == NoCompliance)
|
482
|
+
{
|
483
|
+
*c = NoCompliance;
|
484
|
+
return "NoCompliance";
|
485
|
+
}
|
486
|
+
else
|
487
|
+
{
|
488
|
+
*c = UndefinedCompliance;
|
489
|
+
return "UndefinedCompliance";
|
490
|
+
}
|
491
|
+
}
|
492
|
+
|
493
|
+
|
494
|
+
/**
|
495
|
+
* Construct a ComplianceType enum object for the specified value.
|
496
|
+
*
|
497
|
+
* No Ruby usage (internal function)
|
498
|
+
*
|
499
|
+
* @param compliance the C ComplianceType value
|
500
|
+
* @return the Ruby ComplianceType enum object
|
501
|
+
*/
|
502
|
+
VALUE
|
503
|
+
ComplianceType_new(ComplianceType compliance)
|
504
|
+
{
|
505
|
+
const char *name;
|
506
|
+
|
507
|
+
// Turn off undefined bits
|
508
|
+
compliance &= (SVGCompliance|X11Compliance|XPMCompliance);
|
509
|
+
name = ComplianceType_name(&compliance);
|
510
|
+
return rm_enum_new(Class_ComplianceType, ID2SYM(rb_intern(name)), INT2FIX(compliance));
|
511
|
+
}
|
512
|
+
|
513
|
+
|
514
|
+
|
486
515
|
/**
|
487
516
|
* Return the name of a CompositeOperator enum as a string.
|
488
517
|
*
|
@@ -496,22 +525,15 @@ CompositeOperator_name(CompositeOperator op)
|
|
496
525
|
{
|
497
526
|
switch (op)
|
498
527
|
{
|
499
|
-
ENUM_TO_NAME(UndefinedCompositeOp)
|
500
|
-
ENUM_TO_NAME(NoCompositeOp)
|
501
528
|
ENUM_TO_NAME(AddCompositeOp)
|
502
529
|
ENUM_TO_NAME(AtopCompositeOp)
|
503
|
-
|
530
|
+
ENUM_TO_NAME(BlendCompositeOp)
|
504
531
|
ENUM_TO_NAME(BlurCompositeOp)
|
505
|
-
#endif
|
506
532
|
ENUM_TO_NAME(BumpmapCompositeOp)
|
507
533
|
ENUM_TO_NAME(ChangeMaskCompositeOp)
|
508
534
|
ENUM_TO_NAME(ClearCompositeOp)
|
509
535
|
ENUM_TO_NAME(ColorBurnCompositeOp)
|
510
|
-
ENUM_TO_NAME(BlendCompositeOp)
|
511
536
|
ENUM_TO_NAME(ColorDodgeCompositeOp)
|
512
|
-
ENUM_TO_NAME(ExclusionCompositeOp)
|
513
|
-
ENUM_TO_NAME(HardLightCompositeOp)
|
514
|
-
ENUM_TO_NAME(SoftLightCompositeOp)
|
515
537
|
ENUM_TO_NAME(ColorizeCompositeOp)
|
516
538
|
ENUM_TO_NAME(CopyBlueCompositeOp)
|
517
539
|
ENUM_TO_NAME(CopyCompositeOp)
|
@@ -523,10 +545,10 @@ CompositeOperator_name(CompositeOperator op)
|
|
523
545
|
ENUM_TO_NAME(CopyOpacityCompositeOp)
|
524
546
|
ENUM_TO_NAME(CopyRedCompositeOp)
|
525
547
|
ENUM_TO_NAME(DarkenCompositeOp)
|
526
|
-
|
548
|
+
ENUM_TO_NAME(DarkenIntensityCompositeOp)
|
527
549
|
ENUM_TO_NAME(DistortCompositeOp)
|
528
|
-
#endif
|
529
550
|
ENUM_TO_NAME(DivideCompositeOp)
|
551
|
+
ENUM_TO_NAME(DivideSrcCompositeOp)
|
530
552
|
ENUM_TO_NAME(DstAtopCompositeOp)
|
531
553
|
ENUM_TO_NAME(DstCompositeOp)
|
532
554
|
ENUM_TO_NAME(DstInCompositeOp)
|
@@ -535,36 +557,35 @@ CompositeOperator_name(CompositeOperator op)
|
|
535
557
|
ENUM_TO_NAME(DifferenceCompositeOp)
|
536
558
|
ENUM_TO_NAME(DisplaceCompositeOp)
|
537
559
|
ENUM_TO_NAME(DissolveCompositeOp)
|
560
|
+
ENUM_TO_NAME(ExclusionCompositeOp)
|
561
|
+
ENUM_TO_NAME(HardLightCompositeOp)
|
562
|
+
#if defined(IMAGEMAGICK_GREATER_THAN_EQUAL_6_8_9)
|
563
|
+
ENUM_TO_NAME(HardMixCompositeOp)
|
564
|
+
#endif
|
538
565
|
ENUM_TO_NAME(HueCompositeOp)
|
539
566
|
ENUM_TO_NAME(InCompositeOp)
|
540
567
|
ENUM_TO_NAME(LightenCompositeOp)
|
541
|
-
|
568
|
+
ENUM_TO_NAME(LightenIntensityCompositeOp)
|
542
569
|
ENUM_TO_NAME(LinearBurnCompositeOp)
|
543
|
-
#endif
|
544
|
-
#if defined(HAVE_ENUM_LINEARDODGECOMPOSITEOP)
|
545
570
|
ENUM_TO_NAME(LinearDodgeCompositeOp)
|
546
|
-
#endif
|
547
571
|
ENUM_TO_NAME(LinearLightCompositeOp)
|
548
572
|
ENUM_TO_NAME(LuminizeCompositeOp)
|
549
|
-
#if defined(HAVE_ENUM_MATHEMATICSCOMPOSITEOP)
|
550
573
|
ENUM_TO_NAME(MathematicsCompositeOp)
|
551
|
-
#endif
|
552
574
|
ENUM_TO_NAME(MinusCompositeOp)
|
575
|
+
ENUM_TO_NAME(MinusSrcCompositeOp)
|
553
576
|
ENUM_TO_NAME(ModulateCompositeOp)
|
554
577
|
ENUM_TO_NAME(MultiplyCompositeOp)
|
578
|
+
ENUM_TO_NAME(NoCompositeOp)
|
555
579
|
ENUM_TO_NAME(OutCompositeOp)
|
556
580
|
ENUM_TO_NAME(OverCompositeOp)
|
557
581
|
ENUM_TO_NAME(OverlayCompositeOp)
|
558
|
-
#if defined(HAVE_ENUM_PEGTOPLIGHTCOMPOSITEOP)
|
559
582
|
ENUM_TO_NAME(PegtopLightCompositeOp)
|
560
|
-
#endif
|
561
|
-
#if defined(HAVE_ENUM_PINLIGHTCOMPOSITEOP)
|
562
583
|
ENUM_TO_NAME(PinLightCompositeOp)
|
563
|
-
#endif
|
564
584
|
ENUM_TO_NAME(PlusCompositeOp)
|
565
585
|
ENUM_TO_NAME(ReplaceCompositeOp)
|
566
586
|
ENUM_TO_NAME(SaturateCompositeOp)
|
567
587
|
ENUM_TO_NAME(ScreenCompositeOp)
|
588
|
+
ENUM_TO_NAME(SoftLightCompositeOp)
|
568
589
|
ENUM_TO_NAME(SrcAtopCompositeOp)
|
569
590
|
ENUM_TO_NAME(SrcCompositeOp)
|
570
591
|
ENUM_TO_NAME(SrcInCompositeOp)
|
@@ -572,13 +593,11 @@ CompositeOperator_name(CompositeOperator op)
|
|
572
593
|
ENUM_TO_NAME(SrcOverCompositeOp)
|
573
594
|
ENUM_TO_NAME(SubtractCompositeOp)
|
574
595
|
ENUM_TO_NAME(ThresholdCompositeOp)
|
575
|
-
#if defined(HAVE_ENUM_VIVIDLIGHTCOMPOSITEOP)
|
576
596
|
ENUM_TO_NAME(VividLightCompositeOp)
|
577
|
-
#endif
|
578
597
|
ENUM_TO_NAME(XorCompositeOp)
|
598
|
+
default:
|
599
|
+
ENUM_TO_NAME(UndefinedCompositeOp)
|
579
600
|
}
|
580
|
-
|
581
|
-
return "UndefinedCompositeOp";
|
582
601
|
}
|
583
602
|
|
584
603
|
|
@@ -611,44 +630,30 @@ CompressionType_name(CompressionType ct)
|
|
611
630
|
{
|
612
631
|
switch (ct)
|
613
632
|
{
|
614
|
-
ENUM_TO_NAME(UndefinedCompression)
|
615
633
|
ENUM_TO_NAME(NoCompression)
|
616
|
-
#if defined(HAVE_ENUM_B44COMPRESSION)
|
617
634
|
ENUM_TO_NAME(B44Compression)
|
618
|
-
#endif
|
619
|
-
#if defined(HAVE_ENUM_B44ACOMPRESSION)
|
620
635
|
ENUM_TO_NAME(B44ACompression)
|
621
|
-
#endif
|
622
636
|
ENUM_TO_NAME(BZipCompression)
|
623
|
-
#if defined(HAVE_ENUM_DXT1COMPRESSION)
|
624
637
|
ENUM_TO_NAME(DXT1Compression)
|
625
|
-
#endif
|
626
|
-
#if defined(HAVE_ENUM_DXT3COMPRESSION)
|
627
638
|
ENUM_TO_NAME(DXT3Compression)
|
628
|
-
#endif
|
629
|
-
#if defined(HAVE_ENUM_DXT5COMPRESSION)
|
630
639
|
ENUM_TO_NAME(DXT5Compression)
|
631
|
-
#endif
|
632
640
|
ENUM_TO_NAME(FaxCompression)
|
633
641
|
ENUM_TO_NAME(Group4Compression)
|
634
642
|
ENUM_TO_NAME(JPEGCompression)
|
635
643
|
ENUM_TO_NAME(JPEG2000Compression)
|
636
644
|
ENUM_TO_NAME(LosslessJPEGCompression)
|
637
645
|
ENUM_TO_NAME(LZWCompression)
|
638
|
-
#if defined(HAVE_ENUM_PIZCOMPRESSION)
|
639
646
|
ENUM_TO_NAME(PizCompression)
|
640
|
-
#endif
|
641
|
-
#if defined(HAVE_ENUM_PXR24COMPRESSION)
|
642
647
|
ENUM_TO_NAME(Pxr24Compression)
|
643
|
-
#endif
|
644
648
|
ENUM_TO_NAME(RLECompression)
|
645
649
|
ENUM_TO_NAME(ZipCompression)
|
646
|
-
#if defined(HAVE_ENUM_ZIPSCOMPRESSION)
|
647
650
|
ENUM_TO_NAME(ZipSCompression)
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
651
|
+
ENUM_TO_NAME(LZMACompression)
|
652
|
+
ENUM_TO_NAME(JBIG1Compression)
|
653
|
+
ENUM_TO_NAME(JBIG2Compression)
|
654
|
+
default:
|
655
|
+
ENUM_TO_NAME(UndefinedCompression)
|
656
|
+
}
|
652
657
|
}
|
653
658
|
|
654
659
|
|
@@ -681,13 +686,12 @@ DisposeType_name(DisposeType type)
|
|
681
686
|
{
|
682
687
|
switch(type)
|
683
688
|
{
|
684
|
-
ENUM_TO_NAME(UndefinedDispose)
|
685
689
|
ENUM_TO_NAME(BackgroundDispose)
|
686
690
|
ENUM_TO_NAME(NoneDispose)
|
687
691
|
ENUM_TO_NAME(PreviousDispose)
|
692
|
+
default:
|
693
|
+
ENUM_TO_NAME(UndefinedDispose)
|
688
694
|
}
|
689
|
-
|
690
|
-
return "UndefinedDispose";
|
691
695
|
}
|
692
696
|
|
693
697
|
|
@@ -707,6 +711,43 @@ DisposeType_new(DisposeType type)
|
|
707
711
|
}
|
708
712
|
|
709
713
|
|
714
|
+
/**
|
715
|
+
* Return the name of a EndianType enum as a string.
|
716
|
+
*
|
717
|
+
* No Ruby usage (internal function)
|
718
|
+
*
|
719
|
+
* @param type the EndianType
|
720
|
+
* @return the name
|
721
|
+
*/
|
722
|
+
static const char *
|
723
|
+
EndianType_name(EndianType type)
|
724
|
+
{
|
725
|
+
switch(type)
|
726
|
+
{
|
727
|
+
ENUM_TO_NAME(LSBEndian)
|
728
|
+
ENUM_TO_NAME(MSBEndian)
|
729
|
+
default:
|
730
|
+
ENUM_TO_NAME(UndefinedEndian)
|
731
|
+
}
|
732
|
+
}
|
733
|
+
|
734
|
+
|
735
|
+
/**
|
736
|
+
* Construct an EndianType enum object.
|
737
|
+
*
|
738
|
+
* No Ruby usage (internal function)
|
739
|
+
*
|
740
|
+
* @param type the EndianType
|
741
|
+
* @return a new EndianType enumerator
|
742
|
+
*/
|
743
|
+
VALUE
|
744
|
+
EndianType_new(EndianType type)
|
745
|
+
{
|
746
|
+
const char *name = EndianType_name(type);
|
747
|
+
return rm_enum_new(Class_EndianType, ID2SYM(rb_intern(name)), INT2FIX(type));
|
748
|
+
}
|
749
|
+
|
750
|
+
|
710
751
|
/**
|
711
752
|
* Return the name of a FilterTypes enum as a string.
|
712
753
|
*
|
@@ -720,7 +761,6 @@ FilterTypes_name(FilterTypes type)
|
|
720
761
|
{
|
721
762
|
switch(type)
|
722
763
|
{
|
723
|
-
ENUM_TO_NAME(UndefinedFilter)
|
724
764
|
ENUM_TO_NAME(PointFilter)
|
725
765
|
ENUM_TO_NAME(BoxFilter)
|
726
766
|
ENUM_TO_NAME(TriangleFilter)
|
@@ -736,32 +776,27 @@ FilterTypes_name(FilterTypes type)
|
|
736
776
|
ENUM_TO_NAME(LanczosFilter)
|
737
777
|
ENUM_TO_NAME(BesselFilter)
|
738
778
|
ENUM_TO_NAME(SincFilter)
|
739
|
-
#if defined(HAVE_ENUM_KAISERFILTER)
|
740
779
|
ENUM_TO_NAME(KaiserFilter)
|
741
|
-
#endif
|
742
|
-
#if defined(HAVE_ENUM_WELSHFILTER)
|
743
780
|
ENUM_TO_NAME(WelshFilter)
|
744
|
-
#endif
|
745
|
-
#if defined(HAVE_ENUM_PARZENFILTER)
|
746
781
|
ENUM_TO_NAME(ParzenFilter)
|
747
|
-
#endif
|
748
|
-
#if defined(HAVE_ENUM_LAGRANGEFILTER)
|
749
782
|
ENUM_TO_NAME(LagrangeFilter)
|
750
|
-
#endif
|
751
|
-
#if defined(HAVE_ENUM_BOHMANFILTER)
|
752
783
|
ENUM_TO_NAME(BohmanFilter)
|
753
|
-
#endif
|
754
|
-
#if defined(HAVE_ENUM_BARTLETTFILTER)
|
755
784
|
ENUM_TO_NAME(BartlettFilter)
|
785
|
+
// ENUM_TO_NAME(JincFilter) is alias of BesselFilter
|
786
|
+
ENUM_TO_NAME(SincFastFilter)
|
787
|
+
ENUM_TO_NAME(LanczosSharpFilter)
|
788
|
+
ENUM_TO_NAME(Lanczos2Filter)
|
789
|
+
ENUM_TO_NAME(Lanczos2SharpFilter)
|
790
|
+
ENUM_TO_NAME(RobidouxFilter)
|
791
|
+
ENUM_TO_NAME(RobidouxSharpFilter)
|
792
|
+
ENUM_TO_NAME(CosineFilter)
|
793
|
+
ENUM_TO_NAME(SplineFilter)
|
794
|
+
#if defined(IMAGEMAGICK_GREATER_THAN_EQUAL_6_8_9)
|
795
|
+
ENUM_TO_NAME(LanczosRadiusFilter)
|
756
796
|
#endif
|
757
|
-
|
758
|
-
|
759
|
-
case SentinelFilter:
|
760
|
-
break;
|
761
|
-
#endif
|
797
|
+
default:
|
798
|
+
ENUM_TO_NAME(UndefinedFilter)
|
762
799
|
}
|
763
|
-
|
764
|
-
return "UndefinedFilter";
|
765
800
|
}
|
766
801
|
|
767
802
|
|
@@ -782,86 +817,98 @@ FilterTypes_new(FilterTypes type)
|
|
782
817
|
|
783
818
|
|
784
819
|
/**
|
785
|
-
* Return the name of a
|
820
|
+
* Return the name of a GravityType enum as a string.
|
786
821
|
*
|
787
822
|
* No Ruby usage (internal function)
|
788
823
|
*
|
789
|
-
* @param type the
|
824
|
+
* @param type the GravityType
|
790
825
|
* @return the name
|
791
826
|
*/
|
792
827
|
static const char *
|
793
|
-
|
828
|
+
GravityType_name(GravityType type)
|
794
829
|
{
|
795
830
|
switch(type)
|
796
831
|
{
|
797
|
-
ENUM_TO_NAME(
|
798
|
-
ENUM_TO_NAME(
|
799
|
-
ENUM_TO_NAME(
|
832
|
+
ENUM_TO_NAME(NorthWestGravity)
|
833
|
+
ENUM_TO_NAME(NorthGravity)
|
834
|
+
ENUM_TO_NAME(NorthEastGravity)
|
835
|
+
ENUM_TO_NAME(WestGravity)
|
836
|
+
ENUM_TO_NAME(CenterGravity)
|
837
|
+
ENUM_TO_NAME(EastGravity)
|
838
|
+
ENUM_TO_NAME(SouthWestGravity)
|
839
|
+
ENUM_TO_NAME(SouthGravity)
|
840
|
+
ENUM_TO_NAME(SouthEastGravity)
|
841
|
+
ENUM_TO_NAME(StaticGravity)
|
842
|
+
default:
|
843
|
+
ENUM_TO_NAME(UndefinedGravity)
|
800
844
|
}
|
801
|
-
return "UndefinedEndian";
|
802
845
|
}
|
803
846
|
|
804
847
|
|
805
848
|
/**
|
806
|
-
* Construct an
|
849
|
+
* Construct an GravityType enum object for the specified value.
|
807
850
|
*
|
808
851
|
* No Ruby usage (internal function)
|
809
852
|
*
|
810
|
-
* @param type the
|
811
|
-
* @return a new
|
853
|
+
* @param type the GravityType
|
854
|
+
* @return a new GravityType enumerator
|
812
855
|
*/
|
813
856
|
VALUE
|
814
|
-
|
857
|
+
GravityType_new(GravityType type)
|
815
858
|
{
|
816
|
-
const char *name =
|
817
|
-
return rm_enum_new(
|
859
|
+
const char *name = GravityType_name(type);
|
860
|
+
return rm_enum_new(Class_GravityType, ID2SYM(rb_intern(name)), INT2FIX(type));
|
818
861
|
}
|
819
862
|
|
820
863
|
|
821
864
|
/**
|
822
|
-
* Return the name of a
|
865
|
+
* Return the name of a ImageLayerMethod enum as a string.
|
823
866
|
*
|
824
867
|
* No Ruby usage (internal function)
|
825
868
|
*
|
826
|
-
* @param
|
869
|
+
* @param method the ImageLayerMethod
|
827
870
|
* @return the name
|
828
871
|
*/
|
829
872
|
static const char *
|
830
|
-
|
873
|
+
ImageLayerMethod_name(ImageLayerMethod method)
|
831
874
|
{
|
832
|
-
switch(
|
875
|
+
switch(method)
|
833
876
|
{
|
834
|
-
ENUM_TO_NAME(
|
835
|
-
ENUM_TO_NAME(
|
836
|
-
ENUM_TO_NAME(
|
837
|
-
ENUM_TO_NAME(
|
838
|
-
ENUM_TO_NAME(
|
839
|
-
ENUM_TO_NAME(
|
840
|
-
ENUM_TO_NAME(
|
841
|
-
ENUM_TO_NAME(
|
842
|
-
ENUM_TO_NAME(
|
843
|
-
ENUM_TO_NAME(
|
844
|
-
ENUM_TO_NAME(
|
877
|
+
ENUM_TO_NAME(CompareAnyLayer)
|
878
|
+
ENUM_TO_NAME(CompareClearLayer)
|
879
|
+
ENUM_TO_NAME(CompareOverlayLayer)
|
880
|
+
ENUM_TO_NAME(OptimizeLayer)
|
881
|
+
ENUM_TO_NAME(OptimizePlusLayer)
|
882
|
+
ENUM_TO_NAME(CoalesceLayer)
|
883
|
+
ENUM_TO_NAME(DisposeLayer)
|
884
|
+
ENUM_TO_NAME(OptimizeTransLayer)
|
885
|
+
ENUM_TO_NAME(OptimizeImageLayer)
|
886
|
+
ENUM_TO_NAME(RemoveDupsLayer)
|
887
|
+
ENUM_TO_NAME(RemoveZeroLayer)
|
888
|
+
ENUM_TO_NAME(CompositeLayer)
|
889
|
+
ENUM_TO_NAME(MergeLayer)
|
890
|
+
ENUM_TO_NAME(MosaicLayer)
|
891
|
+
ENUM_TO_NAME(FlattenLayer)
|
892
|
+
ENUM_TO_NAME(TrimBoundsLayer)
|
893
|
+
default:
|
894
|
+
ENUM_TO_NAME(UndefinedLayer)
|
845
895
|
}
|
846
|
-
|
847
|
-
// Defeat "duplicate case value" error.
|
848
|
-
return "UndefinedGravity";
|
849
896
|
}
|
850
897
|
|
851
898
|
|
852
899
|
/**
|
853
|
-
* Construct an
|
900
|
+
* Construct an ImageLayerMethod enum object for the specified value.
|
854
901
|
*
|
855
902
|
* No Ruby usage (internal function)
|
856
903
|
*
|
857
|
-
* @param
|
858
|
-
* @return a new
|
904
|
+
* @param method the ImageLayerMethod
|
905
|
+
* @return a new ImageLayerMethod enumerator
|
859
906
|
*/
|
860
907
|
VALUE
|
861
|
-
|
908
|
+
ImageLayerMethod_new(ImageLayerMethod method)
|
862
909
|
{
|
863
|
-
const char *name =
|
864
|
-
return rm_enum_new(
|
910
|
+
const char *name = ImageLayerMethod_name(method);
|
911
|
+
return rm_enum_new(Class_ImageLayerMethod, ID2SYM(rb_intern(name)), INT2FIX(method));
|
865
912
|
}
|
866
913
|
|
867
914
|
|
@@ -878,7 +925,6 @@ ImageType_name(ImageType type)
|
|
878
925
|
{
|
879
926
|
switch(type)
|
880
927
|
{
|
881
|
-
ENUM_TO_NAME(UndefinedType)
|
882
928
|
ENUM_TO_NAME(BilevelType)
|
883
929
|
ENUM_TO_NAME(GrayscaleType)
|
884
930
|
ENUM_TO_NAME(GrayscaleMatteType)
|
@@ -890,9 +936,9 @@ ImageType_name(ImageType type)
|
|
890
936
|
ENUM_TO_NAME(ColorSeparationMatteType)
|
891
937
|
ENUM_TO_NAME(OptimizeType)
|
892
938
|
ENUM_TO_NAME(PaletteBilevelMatteType)
|
939
|
+
default:
|
940
|
+
ENUM_TO_NAME(UndefinedType)
|
893
941
|
}
|
894
|
-
|
895
|
-
return "UndefinedType";
|
896
942
|
}
|
897
943
|
|
898
944
|
|
@@ -925,7 +971,6 @@ InterlaceType_name(InterlaceType interlace)
|
|
925
971
|
{
|
926
972
|
switch(interlace)
|
927
973
|
{
|
928
|
-
ENUM_TO_NAME(UndefinedInterlace)
|
929
974
|
ENUM_TO_NAME(GIFInterlace)
|
930
975
|
ENUM_TO_NAME(JPEGInterlace)
|
931
976
|
ENUM_TO_NAME(PNGInterlace)
|
@@ -933,9 +978,9 @@ InterlaceType_name(InterlaceType interlace)
|
|
933
978
|
ENUM_TO_NAME(LineInterlace)
|
934
979
|
ENUM_TO_NAME(PlaneInterlace)
|
935
980
|
ENUM_TO_NAME(PartitionInterlace)
|
981
|
+
default:
|
982
|
+
ENUM_TO_NAME(UndefinedInterlace)
|
936
983
|
}
|
937
|
-
|
938
|
-
return "UndefinedInterlace";
|
939
984
|
}
|
940
985
|
|
941
986
|
|
@@ -968,7 +1013,6 @@ InterpolatePixelMethod_name(InterpolatePixelMethod interpolate)
|
|
968
1013
|
{
|
969
1014
|
switch(interpolate)
|
970
1015
|
{
|
971
|
-
ENUM_TO_NAME(UndefinedInterpolatePixel)
|
972
1016
|
ENUM_TO_NAME(AverageInterpolatePixel)
|
973
1017
|
ENUM_TO_NAME(BicubicInterpolatePixel)
|
974
1018
|
ENUM_TO_NAME(BilinearInterpolatePixel)
|
@@ -977,9 +1021,14 @@ InterpolatePixelMethod_name(InterpolatePixelMethod interpolate)
|
|
977
1021
|
ENUM_TO_NAME(MeshInterpolatePixel)
|
978
1022
|
ENUM_TO_NAME(NearestNeighborInterpolatePixel)
|
979
1023
|
ENUM_TO_NAME(SplineInterpolatePixel)
|
1024
|
+
ENUM_TO_NAME(Average9InterpolatePixel)
|
1025
|
+
ENUM_TO_NAME(Average16InterpolatePixel)
|
1026
|
+
ENUM_TO_NAME(BlendInterpolatePixel)
|
1027
|
+
ENUM_TO_NAME(BackgroundInterpolatePixel)
|
1028
|
+
ENUM_TO_NAME(CatromInterpolatePixel)
|
1029
|
+
default:
|
1030
|
+
ENUM_TO_NAME(UndefinedInterpolatePixel)
|
980
1031
|
}
|
981
|
-
|
982
|
-
return "UndefinedInterpolatePixel";
|
983
1032
|
}
|
984
1033
|
|
985
1034
|
|
@@ -999,66 +1048,6 @@ InterpolatePixelMethod_new(InterpolatePixelMethod interpolate)
|
|
999
1048
|
}
|
1000
1049
|
|
1001
1050
|
|
1002
|
-
/**
|
1003
|
-
* Return the name of a MagickLayerMethod enum as a string.
|
1004
|
-
*
|
1005
|
-
* No Ruby usage (internal function)
|
1006
|
-
*
|
1007
|
-
* @param method the MagickLayerMethod
|
1008
|
-
* @return the name
|
1009
|
-
*/
|
1010
|
-
static const char *
|
1011
|
-
LAYERMETHODTYPE_NAME(LAYERMETHODTYPE method)
|
1012
|
-
{
|
1013
|
-
switch(method)
|
1014
|
-
{
|
1015
|
-
ENUM_TO_NAME(UndefinedLayer)
|
1016
|
-
ENUM_TO_NAME(CompareAnyLayer)
|
1017
|
-
ENUM_TO_NAME(CompareClearLayer)
|
1018
|
-
ENUM_TO_NAME(CompareOverlayLayer)
|
1019
|
-
ENUM_TO_NAME(OptimizeLayer)
|
1020
|
-
ENUM_TO_NAME(OptimizePlusLayer)
|
1021
|
-
ENUM_TO_NAME(CoalesceLayer)
|
1022
|
-
ENUM_TO_NAME(DisposeLayer)
|
1023
|
-
ENUM_TO_NAME(OptimizeTransLayer)
|
1024
|
-
ENUM_TO_NAME(OptimizeImageLayer)
|
1025
|
-
ENUM_TO_NAME(RemoveDupsLayer)
|
1026
|
-
ENUM_TO_NAME(RemoveZeroLayer)
|
1027
|
-
ENUM_TO_NAME(CompositeLayer)
|
1028
|
-
#if defined(HAVE_ENUM_MERGELAYER)
|
1029
|
-
ENUM_TO_NAME(MergeLayer)
|
1030
|
-
#endif
|
1031
|
-
#if defined(HAVE_ENUM_MOSAICLAYER)
|
1032
|
-
ENUM_TO_NAME(MosaicLayer)
|
1033
|
-
#endif
|
1034
|
-
#if defined(HAVE_ENUM_FLATTENLAYER)
|
1035
|
-
ENUM_TO_NAME(FlattenLayer)
|
1036
|
-
#endif
|
1037
|
-
#if defined(HAVE_ENUM_TRIMBOUNDSLAYER)
|
1038
|
-
ENUM_TO_NAME(TrimBoundsLayer)
|
1039
|
-
#endif
|
1040
|
-
}
|
1041
|
-
|
1042
|
-
return "UndefinedLayer";
|
1043
|
-
}
|
1044
|
-
|
1045
|
-
|
1046
|
-
/**
|
1047
|
-
* Construct an MagickLayerMethod enum object for the specified value.
|
1048
|
-
*
|
1049
|
-
* No Ruby usage (internal function)
|
1050
|
-
*
|
1051
|
-
* @param method the MagickLayerMethod
|
1052
|
-
* @return a new MagickLayerMethod enumerator
|
1053
|
-
*/
|
1054
|
-
VALUE
|
1055
|
-
LAYERMETHODTYPE_NEW(LAYERMETHODTYPE method)
|
1056
|
-
{
|
1057
|
-
const char *name = LAYERMETHODTYPE_NAME(method);
|
1058
|
-
return rm_enum_new(CLASS_LAYERMETHODTYPE, ID2SYM(rb_intern(name)), INT2FIX(method));
|
1059
|
-
}
|
1060
|
-
|
1061
|
-
|
1062
1051
|
/**
|
1063
1052
|
* Return the name of a OrientationType enum as a string.
|
1064
1053
|
*
|
@@ -1072,7 +1061,6 @@ OrientationType_name(OrientationType type)
|
|
1072
1061
|
{
|
1073
1062
|
switch(type)
|
1074
1063
|
{
|
1075
|
-
ENUM_TO_NAME(UndefinedOrientation)
|
1076
1064
|
ENUM_TO_NAME(TopLeftOrientation)
|
1077
1065
|
ENUM_TO_NAME(TopRightOrientation)
|
1078
1066
|
ENUM_TO_NAME(BottomRightOrientation)
|
@@ -1081,9 +1069,9 @@ OrientationType_name(OrientationType type)
|
|
1081
1069
|
ENUM_TO_NAME(RightTopOrientation)
|
1082
1070
|
ENUM_TO_NAME(RightBottomOrientation)
|
1083
1071
|
ENUM_TO_NAME(LeftBottomOrientation)
|
1072
|
+
default:
|
1073
|
+
ENUM_TO_NAME(UndefinedOrientation)
|
1084
1074
|
}
|
1085
|
-
|
1086
|
-
return "UndefinedOrientation";
|
1087
1075
|
}
|
1088
1076
|
|
1089
1077
|
|
@@ -1116,14 +1104,13 @@ RenderingIntent_name(RenderingIntent intent)
|
|
1116
1104
|
{
|
1117
1105
|
switch(intent)
|
1118
1106
|
{
|
1119
|
-
ENUM_TO_NAME(UndefinedIntent)
|
1120
1107
|
ENUM_TO_NAME(SaturationIntent)
|
1121
1108
|
ENUM_TO_NAME(PerceptualIntent)
|
1122
1109
|
ENUM_TO_NAME(AbsoluteIntent)
|
1123
1110
|
ENUM_TO_NAME(RelativeIntent)
|
1111
|
+
default:
|
1112
|
+
ENUM_TO_NAME(UndefinedIntent)
|
1124
1113
|
}
|
1125
|
-
|
1126
|
-
return "UndefinedIntent";
|
1127
1114
|
}
|
1128
1115
|
|
1129
1116
|
|
@@ -1156,12 +1143,11 @@ ResolutionType_name(ResolutionType type)
|
|
1156
1143
|
{
|
1157
1144
|
switch(type)
|
1158
1145
|
{
|
1159
|
-
ENUM_TO_NAME(UndefinedResolution)
|
1160
1146
|
ENUM_TO_NAME(PixelsPerInchResolution)
|
1161
1147
|
ENUM_TO_NAME(PixelsPerCentimeterResolution)
|
1148
|
+
default:
|
1149
|
+
ENUM_TO_NAME(UndefinedResolution)
|
1162
1150
|
}
|
1163
|
-
|
1164
|
-
return "UndefinedResolution";
|
1165
1151
|
}
|
1166
1152
|
|
1167
1153
|
|
@@ -1194,7 +1180,6 @@ StorageType_name(StorageType type)
|
|
1194
1180
|
{
|
1195
1181
|
switch (type)
|
1196
1182
|
{
|
1197
|
-
ENUM_TO_NAME(UndefinedPixel)
|
1198
1183
|
ENUM_TO_NAME(CharPixel)
|
1199
1184
|
ENUM_TO_NAME(DoublePixel)
|
1200
1185
|
ENUM_TO_NAME(FloatPixel)
|
@@ -1202,9 +1187,93 @@ StorageType_name(StorageType type)
|
|
1202
1187
|
ENUM_TO_NAME(LongPixel)
|
1203
1188
|
ENUM_TO_NAME(QuantumPixel)
|
1204
1189
|
ENUM_TO_NAME(ShortPixel)
|
1190
|
+
default:
|
1191
|
+
ENUM_TO_NAME(UndefinedPixel)
|
1205
1192
|
}
|
1193
|
+
}
|
1194
|
+
|
1206
1195
|
|
1207
|
-
|
1196
|
+
/**
|
1197
|
+
* Return the string representation of a StretchType value.
|
1198
|
+
*
|
1199
|
+
* No Ruby usage (internal function)
|
1200
|
+
*
|
1201
|
+
* @param stretch the StretchType value
|
1202
|
+
* @return the string
|
1203
|
+
*/
|
1204
|
+
const char *
|
1205
|
+
StretchType_name(StretchType stretch)
|
1206
|
+
{
|
1207
|
+
switch (stretch)
|
1208
|
+
{
|
1209
|
+
ENUM_TO_NAME(NormalStretch)
|
1210
|
+
ENUM_TO_NAME(UltraCondensedStretch)
|
1211
|
+
ENUM_TO_NAME(ExtraCondensedStretch)
|
1212
|
+
ENUM_TO_NAME(CondensedStretch)
|
1213
|
+
ENUM_TO_NAME(SemiCondensedStretch)
|
1214
|
+
ENUM_TO_NAME(SemiExpandedStretch)
|
1215
|
+
ENUM_TO_NAME(ExpandedStretch)
|
1216
|
+
ENUM_TO_NAME(ExtraExpandedStretch)
|
1217
|
+
ENUM_TO_NAME(UltraExpandedStretch)
|
1218
|
+
ENUM_TO_NAME(AnyStretch)
|
1219
|
+
default:
|
1220
|
+
ENUM_TO_NAME(UndefinedStretch)
|
1221
|
+
}
|
1222
|
+
}
|
1223
|
+
|
1224
|
+
|
1225
|
+
/**
|
1226
|
+
* Construct a StretchType enum for a specified StretchType value.
|
1227
|
+
*
|
1228
|
+
* No Ruby usage (internal function)
|
1229
|
+
*
|
1230
|
+
* @param stretch the C StretchType value
|
1231
|
+
* @return a Ruby StretchType enum
|
1232
|
+
*/
|
1233
|
+
VALUE
|
1234
|
+
StretchType_new(StretchType stretch)
|
1235
|
+
{
|
1236
|
+
const char *name = StretchType_name(stretch);
|
1237
|
+
return rm_enum_new(Class_StretchType, ID2SYM(rb_intern(name)), INT2FIX(stretch));
|
1238
|
+
}
|
1239
|
+
|
1240
|
+
|
1241
|
+
/**
|
1242
|
+
* Return the string representation of a StyleType value.
|
1243
|
+
*
|
1244
|
+
* No Ruby usage (internal function)
|
1245
|
+
*
|
1246
|
+
* @param style the StyleType value
|
1247
|
+
* @return the string
|
1248
|
+
*/
|
1249
|
+
const char *
|
1250
|
+
StyleType_name(StyleType style)
|
1251
|
+
{
|
1252
|
+
switch (style)
|
1253
|
+
{
|
1254
|
+
ENUM_TO_NAME(NormalStyle)
|
1255
|
+
ENUM_TO_NAME(ItalicStyle)
|
1256
|
+
ENUM_TO_NAME(ObliqueStyle)
|
1257
|
+
ENUM_TO_NAME(AnyStyle)
|
1258
|
+
default:
|
1259
|
+
ENUM_TO_NAME(UndefinedStyle)
|
1260
|
+
}
|
1261
|
+
}
|
1262
|
+
|
1263
|
+
|
1264
|
+
/**
|
1265
|
+
* Construct a StyleType enum for a specified StyleType value.
|
1266
|
+
*
|
1267
|
+
* No Ruby usage (internal function)
|
1268
|
+
*
|
1269
|
+
* @param style the C StyleType value
|
1270
|
+
* @return a Ruby StyleType enum
|
1271
|
+
*/
|
1272
|
+
VALUE
|
1273
|
+
StyleType_new(StyleType style)
|
1274
|
+
{
|
1275
|
+
const char *name = StyleType_name(style);
|
1276
|
+
return rm_enum_new(Class_StyleType, ID2SYM(rb_intern(name)), INT2FIX(style));
|
1208
1277
|
}
|
1209
1278
|
|
1210
1279
|
|
@@ -1221,7 +1290,6 @@ VirtualPixelMethod_name(VirtualPixelMethod method)
|
|
1221
1290
|
{
|
1222
1291
|
switch (method)
|
1223
1292
|
{
|
1224
|
-
ENUM_TO_NAME(UndefinedVirtualPixelMethod)
|
1225
1293
|
ENUM_TO_NAME(EdgeVirtualPixelMethod)
|
1226
1294
|
ENUM_TO_NAME(MirrorVirtualPixelMethod)
|
1227
1295
|
ENUM_TO_NAME(TileVirtualPixelMethod)
|
@@ -1234,24 +1302,14 @@ VirtualPixelMethod_name(VirtualPixelMethod method)
|
|
1234
1302
|
ENUM_TO_NAME(BlackVirtualPixelMethod)
|
1235
1303
|
ENUM_TO_NAME(GrayVirtualPixelMethod)
|
1236
1304
|
ENUM_TO_NAME(WhiteVirtualPixelMethod)
|
1237
|
-
#if defined(HAVE_ENUM_HORIZONTALTILEVIRTUALPIXELMETHOD)
|
1238
1305
|
ENUM_TO_NAME(HorizontalTileVirtualPixelMethod)
|
1239
|
-
#endif
|
1240
|
-
#if defined(HAVE_ENUM_VERTICALTILEVIRTUALPIXELMETHOD)
|
1241
1306
|
ENUM_TO_NAME(VerticalTileVirtualPixelMethod)
|
1242
|
-
#endif
|
1243
|
-
#if defined(HAVE_ENUM_HORIZONTALTILEEDGEVIRTUALPIXELMETHOD)
|
1244
1307
|
ENUM_TO_NAME(HorizontalTileEdgeVirtualPixelMethod)
|
1245
|
-
#endif
|
1246
|
-
#if defined(HAVE_ENUM_VERTICALTILEEDGEVIRTUALPIXELMETHOD)
|
1247
1308
|
ENUM_TO_NAME(VerticalTileEdgeVirtualPixelMethod)
|
1248
|
-
#endif
|
1249
|
-
#if defined(HAVE_ENUM_CHECKERTILEVIRTUALPIXELMETHOD)
|
1250
1309
|
ENUM_TO_NAME(CheckerTileVirtualPixelMethod)
|
1251
|
-
|
1310
|
+
default:
|
1311
|
+
ENUM_TO_NAME(UndefinedVirtualPixelMethod)
|
1252
1312
|
}
|
1253
|
-
|
1254
|
-
return "UndefinedVirtualPixelMethod";
|
1255
1313
|
}
|
1256
1314
|
|
1257
1315
|
|