File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -32,17 +32,17 @@ viewer.setFilterOptions({
3232
3333### Specify on which items (TiledImage) to apply the filters
3434
35- Increase the brightness on item 0 and invert item 1 :
35+ Increase the brightness on item 0 and invert items 1 and 2 :
3636````` javascript
3737var viewer = new OpenSeadragon.Viewer (... );
3838viewer .setFilterOptions ({
3939 filters: [{
40- items: [ viewer .world .getItemAt (0 )] ,
40+ items: viewer .world .getItemAt (0 ),
4141 processors: [
4242 OpenSeadragon .Filters .BRIGHTNESS (50 )
4343 ]
4444 }, {
45- items: [viewer .world .getItemAt (1 )],
45+ items: [viewer .world .getItemAt (1 ), viewer . world . getItemAt ( 2 ) ],
4646 processors: [
4747 OpenSeadragon .Filters .INVERT ()
4848 ]
Original file line number Diff line number Diff line change 199199 itemsToReset = getAllItems ( instance . viewer . world ) ;
200200 break ;
201201 }
202- for ( var j = 0 ; j < filter . items . length ; j ++ ) {
203- if ( itemsToReset . indexOf ( filter . items [ j ] ) >= 0 ) {
204- throw new Error ( 'An item can not have filters ' +
205- 'assigned multiple times.' ) ;
202+ if ( $ . isArray ( filter . items ) ) {
203+ for ( var j = 0 ; j < filter . items . length ; j ++ ) {
204+ addItemToReset ( filter . items [ j ] , itemsToReset ) ;
206205 }
207- itemsToReset . push ( filter . items [ j ] ) ;
206+ } else {
207+ addItemToReset ( filter . items , itemsToReset ) ;
208208 }
209209 }
210210 for ( var i = 0 ; i < itemsToReset . length ; i ++ ) {
213213 }
214214 }
215215
216+ function addItemToReset ( item , itemsToReset ) {
217+ if ( itemsToReset . indexOf ( item ) >= 0 ) {
218+ throw new Error ( 'An item can not have filters ' +
219+ 'assigned multiple times.' ) ;
220+ }
221+ itemsToReset . push ( item ) ;
222+ }
223+
216224 function getAllItems ( world ) {
217225 var result = [ ] ;
218226 for ( var i = 0 ; i < world . getItemCount ( ) ; i ++ ) {
231239 var filter = instance . filters [ i ] ;
232240 if ( ! filter . items ) {
233241 globalProcessors = filter . processors ;
234- } else if ( filter . items . indexOf ( item ) >= 0 ) {
242+ } else if ( filter . items === item ||
243+ $ . isArray ( filter . items ) && filter . items . indexOf ( item ) >= 0 ) {
235244 return filter . processors ;
236245 }
237246 }
You can’t perform that action at this time.
0 commit comments