* omg it’s compiling

* example actually works

* Expose compression level options

* Disable crypto and path module emulation in webpack

* Update README

* Remove small image

* Use -O3 on optipng

* Free memory after copy

* Handle unexpected file reader return types

* Rename level label to effort
This commit is contained in:
Surma
2018-09-04 16:49:45 +01:00
committed by Jake Archibald
parent 170d75482e
commit 54ad30a7ed
19 changed files with 1832 additions and 10 deletions

View File

@@ -0,0 +1,39 @@
import { h, Component } from 'preact';
import { bind, inputFieldValueAsNumber } from '../../lib/util';
import { EncodeOptions } from './encoder';
type Props = {
options: EncodeOptions;
onChange(newOptions: EncodeOptions): void;
};
export default class OptiPNGEncoderOptions extends Component<Props, {}> {
@bind
onChange(event: Event) {
const form = (event.currentTarget as HTMLInputElement).closest('form') as HTMLFormElement;
const options: EncodeOptions = {
level: inputFieldValueAsNumber(form.level),
};
this.props.onChange(options);
}
render({ options }: Props) {
return (
<form>
<label>
Effort:
<input
name="level"
type="range"
min="0"
max="7"
step="1"
value={'' + options.level}
onChange={this.onChange}
/>
</label>
</form>
);
}
}