+
+
+
+
+
+
+
+ {#if showSaveDialog}
+
+
+
+
+
+ {/if}
+
+
+ Pipeline Steps
+
+
+
+
updateStep('crop', { enabled })}
+ defaultExpanded
+ >
+ {#snippet children()}
+
+
+ {/snippet}
+
+
+
+
updateStep('resize', { enabled })}
+ defaultExpanded
+ >
+ {#snippet children()}
+
+
+ {/snippet}
+
+
+
+
updateStep('brightness', { enabled })}
+ >
+ {#snippet children()}
+
+ updateStep('brightness', { value: parseInt((e.target as HTMLInputElement).value) })}
+ class="flex-1"
+ />
+ {config.brightness.value}
+
+ {/snippet}
+
+
+
+
updateStep('contrast', { enabled })}
+ >
+ {#snippet children()}
+
+ updateStep('contrast', { value: parseInt((e.target as HTMLInputElement).value) })}
+ class="flex-1"
+ />
+ {config.contrast.value}
+
+ {/snippet}
+
+
+
+
updateStep('gamma', { enabled })}
+ >
+ {#snippet children()}
+
+ updateStep('gamma', { value: parseFloat((e.target as HTMLInputElement).value) })}
+ class="flex-1"
+ />
+ {config.gamma.value.toFixed(1)}
+
+ {/snippet}
+
+
+
+
updateStep('autoLevels', { enabled })}
+ >
+ {#snippet children()}
+
+
+ updateStep('autoLevels', { clipPercent: parseFloat((e.target as HTMLInputElement).value) })}
+ class="flex-1"
+ />
+ {config.autoLevels.clipPercent.toFixed(1)}%
+
+ {/snippet}
+
+
+
+
updateStep('greyscale', { enabled })}
+ defaultExpanded
+ >
+ {#snippet children()}
+
+
+ {/snippet}
+
+
+
+
updateStep('sharpen', { enabled })}
+ >
+ {#snippet children()}
+
+
+ updateStep('sharpen', { amount: parseInt((e.target as HTMLInputElement).value) })}
+ class="flex-1"
+ />
+ {config.sharpen.amount}
+
+ {/snippet}
+
+
+
+
updateStep('quantize', { enabled })}
+ >
+ {#snippet children()}
+
+
+ {/snippet}
+
+
+
+
updateStep('dither', { enabled })}
+ >
+ {#snippet children()}
+
+
+ {/snippet}
+
+