Skip to content

Commit ae1aaca

Browse files
committed
fix up and done
1 parent 35aa27b commit ae1aaca

File tree

4 files changed

+161
-162
lines changed

4 files changed

+161
-162
lines changed

ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
started 8.6.0 16/8/17
22
- add scRGB support
33
- improve radiance support
4+
- add composite to alpha menu
45

56
started 8.5.1 22/1/17
67
- fix a crash bug

share/nip2/start/Filter.def

Lines changed: 0 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -1,164 +1,3 @@
1-
Blend_type = class {
2-
CLEAR = 0;
3-
SOURCE = 1;
4-
OVER = 2;
5-
IN = 3;
6-
OUT = 4;
7-
ATOP = 5;
8-
DEST = 6;
9-
DEST_OVER = 7;
10-
DEST_IN = 8;
11-
DEST_OUT = 9;
12-
DEST_ATOP = 10;
13-
XOR = 11;
14-
ADD = 12;
15-
SATURATE = 13;
16-
MULTIPLY = 14;
17-
SCREEN = 15;
18-
OVERLAY = 16;
19-
DARKEN = 17;
20-
LIGHTEN = 18;
21-
COLOUR_DODGE = 19;
22-
COLOUR_BURN = 20;
23-
HARD_LIGHT = 21;
24-
SOFT_LIGHT = 22;
25-
DIFFERENCE = 23;
26-
EXCLUSION = 24;
27-
28-
/* Table to map blend numbers to descriptive strings
29-
*/
30-
descriptions = [
31-
_ "Clear",
32-
_ "Source",
33-
_ "Over",
34-
_ "In",
35-
_ "Out",
36-
_ "Atop",
37-
_ "Dest",
38-
_ "Dest over",
39-
_ "Dest in",
40-
_ "Dest out",
41-
_ "Dest atop",
42-
_ "Xor",
43-
_ "Add",
44-
_ "Saturate",
45-
_ "Multiply",
46-
_ "Screen",
47-
_ "Overlay",
48-
_ "Darken",
49-
_ "Lighten",
50-
_ "Colour dodge",
51-
_ "Colour burn",
52-
_ "Hard light",
53-
_ "Soft light",
54-
_ "Difference",
55-
_ "Exclusion"
56-
];
57-
58-
/* And to vips enum nicknames.
59-
*/
60-
types = Enum [
61-
$clear => "clear",
62-
$source => "source",
63-
$over => "over",
64-
$in => "in",
65-
$out => "out",
66-
$atop => "atop",
67-
$dest => "dest",
68-
$dest_over => "dest_over",
69-
$dest_in => "dest_in",
70-
$dest_out => "dest_out",
71-
$dest_atop => "dest_atop",
72-
$xor => "xor",
73-
$add => "add",
74-
$saturate => "saturate",
75-
$multiply => "multiply",
76-
$screen => "screen",
77-
$overlay => "overlay",
78-
$darken => "darken",
79-
$lighten => "lighten",
80-
$colour_dodge => "colour_dodge",
81-
$colour_burn => "colour_burn",
82-
$hard_light => "hard_light",
83-
$soft_light => "soft_light",
84-
$difference => "difference",
85-
$exclusion => "exclusion"
86-
];
87-
}
88-
89-
Blend type = class {
90-
value = Blend_type.types?type;
91-
}
92-
93-
Blend_over = Blend Blend_type.OVER;
94-
95-
Blend_picker default = class
96-
Blend blend.value {
97-
_vislevel = 2;
98-
99-
blend = Option "Blend" Blend_type.descriptions default;
100-
}
101-
102-
Composite2_item = class
103-
Menuaction "_Composite two" "composite a pair of images" {
104-
action x y = class
105-
_result {
106-
_vislevel = 3;
107-
108-
blend = Option_enum (_ "Blend mode") modes "over"
109-
{
110-
modes = Blend_type.types;
111-
}
112-
compositing_space = Option_enum (_ "Compositing space") spaces "sRGB"
113-
{
114-
spaces = Image_type.image_colour_spaces;
115-
}
116-
premultiplied = Toggle (_ "Premultiplied") false;
117-
118-
_result
119-
= Image output
120-
{
121-
[output] = vips_call "composite"
122-
[[y.value, x.value], blend.value]
123-
[$compositing_space => compositing_space.value_thing,
124-
$premultiplied => premultiplied.value
125-
];
126-
}
127-
}
128-
}
129-
130-
Composite3_item = class
131-
Menuaction "_Composite three" "composite three images" {
132-
action x y z = class
133-
_result {
134-
_vislevel = 3;
135-
136-
blend1 = Option_enum (_ "Blend mode") modes "over"
137-
{
138-
modes = Blend_type.types;
139-
}
140-
blend2 = Option_enum (_ "Blend mode") modes "over"
141-
{
142-
modes = Blend_type.types;
143-
}
144-
compositing_space = Option_enum (_ "Compositing space") spaces "sRGB"
145-
{
146-
spaces = Image_type.image_colour_spaces;
147-
}
148-
premultiplied = Toggle (_ "Premultiplied") false;
149-
150-
_result
151-
= Image output
152-
{
153-
[output] = vips_call "composite"
154-
[[z.value, y.value, x.value], [blend1.value, blend2.value]]
155-
[$compositing_space => compositing_space.value_thing,
156-
$premultiplied => premultiplied.value
157-
];
158-
}
159-
}
160-
}
161-
1621
Filter_conv_item = class
1632
Menupullright "_Convolution" "various spatial convolution filters" {
1643
/* Some useful masks.

share/nip2/start/Image.def

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1177,8 +1177,65 @@ Image_alpha_item = class
11771177

11781178
sep2 = Menuseparator;
11791179

1180-
Blend_alpha_item = Filter_blend_item.Blend_alpha_item;
1180+
Composite2_item = class
1181+
Menuaction "_Composite two" "composite a pair of images" {
1182+
action x y = class
1183+
_result {
1184+
_vislevel = 3;
1185+
1186+
blend = Option_enum (_ "Blend mode") modes "over"
1187+
{
1188+
modes = Blend_type.types;
1189+
}
1190+
compositing_space = Option_enum (_ "Compositing space") spaces "sRGB"
1191+
{
1192+
spaces = Image_type.image_colour_spaces;
1193+
}
1194+
premultiplied = Toggle (_ "Premultiplied") false;
11811195

1196+
_result
1197+
= Image output
1198+
{
1199+
[output] = vips_call "composite"
1200+
[[y.value, x.value], blend.value]
1201+
[$compositing_space => compositing_space.value_thing,
1202+
$premultiplied => premultiplied.value
1203+
];
1204+
}
1205+
}
1206+
}
1207+
1208+
Composite3_item = class
1209+
Menuaction "_Composite three" "composite three images" {
1210+
action x y z = class
1211+
_result {
1212+
_vislevel = 3;
1213+
1214+
blend1 = Option_enum (_ "Blend mode") modes "over"
1215+
{
1216+
modes = Blend_type.types;
1217+
}
1218+
blend2 = Option_enum (_ "Blend mode") modes "over"
1219+
{
1220+
modes = Blend_type.types;
1221+
}
1222+
compositing_space = Option_enum (_ "Compositing space") spaces "sRGB"
1223+
{
1224+
spaces = Image_type.image_colour_spaces;
1225+
}
1226+
premultiplied = Toggle (_ "Premultiplied") false;
1227+
1228+
_result
1229+
= Image output
1230+
{
1231+
[output] = vips_call "composite"
1232+
[[z.value, y.value, x.value], [blend1.value, blend2.value]]
1233+
[$compositing_space => compositing_space.value_thing,
1234+
$premultiplied => premultiplied.value
1235+
];
1236+
}
1237+
}
1238+
}
11821239
}
11831240

11841241
Image_crop_item = class

share/nip2/start/_types.def

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,3 +1287,105 @@ NULL = class
12871287
op.op_name == "not_equal"]
12881288
] ++ super.oo_binary_table op x;
12891289
}
1290+
1291+
Blend_type = class {
1292+
CLEAR = 0;
1293+
SOURCE = 1;
1294+
OVER = 2;
1295+
IN = 3;
1296+
OUT = 4;
1297+
ATOP = 5;
1298+
DEST = 6;
1299+
DEST_OVER = 7;
1300+
DEST_IN = 8;
1301+
DEST_OUT = 9;
1302+
DEST_ATOP = 10;
1303+
XOR = 11;
1304+
ADD = 12;
1305+
SATURATE = 13;
1306+
MULTIPLY = 14;
1307+
SCREEN = 15;
1308+
OVERLAY = 16;
1309+
DARKEN = 17;
1310+
LIGHTEN = 18;
1311+
COLOUR_DODGE = 19;
1312+
COLOUR_BURN = 20;
1313+
HARD_LIGHT = 21;
1314+
SOFT_LIGHT = 22;
1315+
DIFFERENCE = 23;
1316+
EXCLUSION = 24;
1317+
1318+
/* Table to map blend numbers to descriptive strings
1319+
*/
1320+
descriptions = [
1321+
_ "Clear",
1322+
_ "Source",
1323+
_ "Over",
1324+
_ "In",
1325+
_ "Out",
1326+
_ "Atop",
1327+
_ "Dest",
1328+
_ "Dest over",
1329+
_ "Dest in",
1330+
_ "Dest out",
1331+
_ "Dest atop",
1332+
_ "Xor",
1333+
_ "Add",
1334+
_ "Saturate",
1335+
_ "Multiply",
1336+
_ "Screen",
1337+
_ "Overlay",
1338+
_ "Darken",
1339+
_ "Lighten",
1340+
_ "Colour dodge",
1341+
_ "Colour burn",
1342+
_ "Hard light",
1343+
_ "Soft light",
1344+
_ "Difference",
1345+
_ "Exclusion"
1346+
];
1347+
1348+
/* And to vips enum nicknames.
1349+
*/
1350+
types = Enum [
1351+
$clear => "clear",
1352+
$source => "source",
1353+
$over => "over",
1354+
$in => "in",
1355+
$out => "out",
1356+
$atop => "atop",
1357+
$dest => "dest",
1358+
$dest_over => "dest_over",
1359+
$dest_in => "dest_in",
1360+
$dest_out => "dest_out",
1361+
$dest_atop => "dest_atop",
1362+
$xor => "xor",
1363+
$add => "add",
1364+
$saturate => "saturate",
1365+
$multiply => "multiply",
1366+
$screen => "screen",
1367+
$overlay => "overlay",
1368+
$darken => "darken",
1369+
$lighten => "lighten",
1370+
$colour_dodge => "colour_dodge",
1371+
$colour_burn => "colour_burn",
1372+
$hard_light => "hard_light",
1373+
$soft_light => "soft_light",
1374+
$difference => "difference",
1375+
$exclusion => "exclusion"
1376+
];
1377+
}
1378+
1379+
Blend type = class {
1380+
value = Blend_type.types?type;
1381+
}
1382+
1383+
Blend_over = Blend Blend_type.OVER;
1384+
1385+
Blend_picker default = class
1386+
Blend blend.value {
1387+
_vislevel = 2;
1388+
1389+
blend = Option "Blend" Blend_type.descriptions default;
1390+
}
1391+

0 commit comments

Comments
 (0)