Rev 402 | Rev 513 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 402 | Rev 472 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* |
1 | /* |
2 | This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop |
2 | This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop |
3 | Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au |
3 | Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au |
4 | Copyright (C) 2018-2021 Daniel Marschall, ViaThinkSoft |
4 | Copyright (C) 2018-2022 Daniel Marschall, ViaThinkSoft |
5 | 5 | ||
6 | This program is free software; you can redistribute it and/or modify |
6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by |
7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2 of the License, or |
8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. |
9 | (at your option) any later version. |
Line 31... | Line 31... | ||
31 | /* second 2 bytes: */ flagSupportsDuotone|flagSupportsLABColor, |
31 | /* second 2 bytes: */ flagSupportsDuotone|flagSupportsLABColor, |
32 | 32 | ||
33 | /* We need this to enable the plugin for BigDocuments */ |
33 | /* We need this to enable the plugin for BigDocuments */ |
34 | VENDORID, LC(m,s,3,2), 0L, 8L, 2000000L, 2000000L, |
34 | VENDORID, LC(m,s,3,2), 0L, 8L, 2000000L, 2000000L, |
35 | 35 | ||
- | 36 | ||
36 | /* FilterCaseInfo - in all cases: |
37 | /* FilterCaseInfo - in all cases: |
37 | inStraightData, |
38 | inStraightData, |
38 | outStraightData, |
39 | outStraightData, |
39 | doNotWriteOutsideSelection, |
40 | doNotWriteOutsideSelection, |
40 | doesNotFilterLayerMasks, |
41 | doesNotFilterLayerMasks, |
41 | worksWithBlankData, |
42 | worksWithBlankData, |
42 | doNotCopySourceToDestination */ |
43 | doNotCopySourceToDestination */ |
43 | VENDORID, LC(f,i,c,i), NULLID, 28L, |
44 | VENDORID, LC(f,i,c,i), NULLID, 28L, |
44 | 45 | ||
45 | /* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */ |
46 | /* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */ |
46 | // inputHandling [Preprocessing actions on the image data] = 01h |
47 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone) |
47 | // outputHandling [Postprocessing actions on the image data] = 01h |
48 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
48 | // flags1 [Flags for how the filter case information should be treated] = 03h |
49 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
49 | // PIFilterDontCopyToDestinationBit = true |
50 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
50 | // PIFilterWorksWithBlankDataBit = true |
51 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
51 | // PIFilterFiltersLayerMaskBit = false |
52 | // 4 PIFilterFiltersLayerMaskBit = false |
52 | // PIFilterWritesOutsideSelectionBit = false |
53 | // 8 PIFilterWritesOutsideSelectionBit = false |
53 | // flags2 [Reserved] = 00h |
54 | "\000", // flags2 [Reserved] = 00h |
54 | "\001\001\003\000", |
- | |
55 | 55 | ||
56 | /* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */ |
56 | /* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */ |
57 | // inputHandling [Preprocessing actions on the image data] = 01h |
57 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone) |
58 | // outputHandling [Postprocessing actions on the image data] = 01h |
58 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
59 | // flags1 [Flags for how the filter case information should be treated] = 03h |
59 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
60 | // PIFilterDontCopyToDestinationBit = true |
60 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
61 | // PIFilterWorksWithBlankDataBit = true |
61 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
62 | // PIFilterFiltersLayerMaskBit = false |
62 | // 4 PIFilterFiltersLayerMaskBit = false |
63 | // PIFilterWritesOutsideSelectionBit = false |
63 | // 8 PIFilterWritesOutsideSelectionBit = false |
64 | // flags2 [Reserved] = 00h |
64 | "\000", // flags2 [Reserved] = 00h |
65 | "\001\001\003\000", |
- | |
66 | 65 | ||
67 | /* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */ |
66 | /* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */ |
68 | // inputHandling [Preprocessing actions on the image data] = 01h |
67 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
69 | // outputHandling [Postprocessing actions on the image data] = 01h |
68 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
70 | // flags1 [Flags for how the filter case information should be treated] = 03h |
69 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
71 | // PIFilterDontCopyToDestinationBit = true |
70 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
72 | // PIFilterWorksWithBlankDataBit = true |
71 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
73 | // PIFilterFiltersLayerMaskBit = false |
72 | // 4 PIFilterFiltersLayerMaskBit = false |
74 | // PIFilterWritesOutsideSelectionBit = false |
73 | // 8 PIFilterWritesOutsideSelectionBit = false |
75 | // flags2 [Reserved] = 00h |
74 | "\000", // flags2 [Reserved] = 00h |
76 | "\001\001\003\000", |
- | |
77 | 75 | ||
78 | /* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */ |
76 | /* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */ |
79 | // inputHandling [Preprocessing actions on the image data] = 01h |
77 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
80 | // outputHandling [Postprocessing actions on the image data] = 01h |
78 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
81 | // flags1 [Flags for how the filter case information should be treated] = 03h |
79 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h) |
82 | // PIFilterDontCopyToDestinationBit = true |
80 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
83 | // PIFilterWorksWithBlankDataBit = true |
81 | // 2 PIFilterWorksWithBlankDataBit = true |
84 | // PIFilterFiltersLayerMaskBit = false |
82 | // 4 PIFilterFiltersLayerMaskBit = false |
85 | // PIFilterWritesOutsideSelectionBit = false |
83 | // 8 PIFilterWritesOutsideSelectionBit = false |
86 | // flags2 [Reserved] = 00h |
84 | "\000", // flags2 [Reserved] = 00h |
87 | "\001\001\003\000", |
- | |
88 | 85 | ||
89 | /* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */ |
86 | /* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */ |
90 | // inputHandling [Preprocessing actions on the image data] = 01h |
87 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
91 | // outputHandling [Postprocessing actions on the image data] = 01h |
88 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
92 | // flags1 [Flags for how the filter case information should be treated] = 03h |
89 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h) |
93 | // PIFilterDontCopyToDestinationBit = true |
90 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
94 | // PIFilterWorksWithBlankDataBit = true |
91 | // 2 PIFilterWorksWithBlankDataBit = true |
95 | // PIFilterFiltersLayerMaskBit = false |
92 | // 4 PIFilterFiltersLayerMaskBit = false |
96 | // PIFilterWritesOutsideSelectionBit = false |
93 | // 8 PIFilterWritesOutsideSelectionBit = false |
97 | // flags2 [Reserved] = 00h |
94 | "\000", // flags2 [Reserved] = 00h |
98 | "\001\001\003\000", |
- | |
99 | 95 | ||
100 | /* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */ |
96 | /* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */ |
101 | // inputHandling [Preprocessing actions on the image data] = 01h |
97 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
102 | // outputHandling [Postprocessing actions on the image data] = 01h |
98 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
103 | // flags1 [Flags for how the filter case information should be treated] = 03h |
99 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
104 | // PIFilterDontCopyToDestinationBit = true |
100 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
105 | // PIFilterWorksWithBlankDataBit = true |
101 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
106 | // PIFilterFiltersLayerMaskBit = false |
102 | // 4 PIFilterFiltersLayerMaskBit = false |
107 | // PIFilterWritesOutsideSelectionBit = false |
103 | // 8 PIFilterWritesOutsideSelectionBit = false |
108 | // flags2 [Reserved] = 00h |
104 | "\000", // flags2 [Reserved] = 00h |
109 | "\001\001\003\000", |
- | |
110 | 105 | ||
111 | /* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */ |
106 | /* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */ |
112 | // inputHandling [Preprocessing actions on the image data] = 01h |
107 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
113 | // outputHandling [Postprocessing actions on the image data] = 01h |
108 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
114 | // flags1 [Flags for how the filter case information should be treated] = 03h |
109 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
115 | // PIFilterDontCopyToDestinationBit = true |
110 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
116 | // PIFilterWorksWithBlankDataBit = true |
111 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
117 | // PIFilterFiltersLayerMaskBit = false |
112 | // 4 PIFilterFiltersLayerMaskBit = false |
118 | // PIFilterWritesOutsideSelectionBit = false |
113 | // 8 PIFilterWritesOutsideSelectionBit = false |
119 | // flags2 [Reserved] = 00h |
114 | "\000", // flags2 [Reserved] = 00h |
120 | "\001\001\003\000", |
- |