Copy link to clipboard
Copied
Hey guys!
Too bad the ScriptUI manual only shows one default slider type:
ScriptUI for Dummies
Is there any chance to use a slider to control the rotation of an image or any element inserted in the UI?
Illustration:
Basic script:
var dlg = new Window("dialog");
dlg.text = "Rotate layer";
dlg.orientation = "column";
var group1 = dlg.add("group", undefined, {name: "group1"});
group1.orientation = "row";
var statictext1 = group1.add("statictext", undefined, undefined, {name: "statictext1"});
statictext1.text = "Angle";
var image1_imgString = eval('@JSXBIN@ES@2.0@MyBbyBn0ABJAnAFe2lYhbhFiDhShFhYhZiQiOiHhFhQiEhFhQiBhFhRiBhFhQiBhFhQhQhFhQhQhFhQhQhFhQiEiJiIiEiShFhQhQhFhQhQhFhQhQiLhFhQhQhFhQhQhFhQhQiLhFhQhYhFhQhWhFhQhQhFhQhQhFhQhQhYiOjahFiDhThFiBiBhFhQhQhFhQhQhFhQhQhFhQhZjQiIiZjThFhQhQhFhQhQhFhQiChFhRhThFhQhQhFhQhQhFhQiChFhRhThFhQhRhFhQhQhFiDhShFhZiBhFiDhShFhZiDhFhRhYhFhQhQhFhQhQhFhQhVhFiDhThFhYhYjJiUiYjUiYiNiMhFhTiBjDjPjNhOjBjEjPjCjFhOjYjNjQhFhQhQhFhQhQhFhQhQhFhQhQhFhQhQhFhTiDhFhTiGjYjQjBjDjLjFjUhFhShQjCjFjHjJjOhFhTiEhFhShShFiDhThFiBiGhFiDhShFiCiChFiDhShFiCiGhFhShShFhShQjJjEhFhTiEhFhShSiXhViNhQiNjQiDjFjIjJiIjajSjFiTjaiOiUjDjajLjDhZjEhFhShShFhTiGhFhTiFhFhShQhFhTiDjYhFhTiBjYjNjQjNjFjUjBhFhShQjYjNjMjOjThFhTiBjYhFhTiEhFhShSjBjEjPjCjFhFhTiBjOjThFhTiBjNjFjUjBhFhSiGhFhShShFhShQjYhFhTiBjYjNjQjUjLhFhTiEhFhShSiBjEjPjCjFhFhShQiYiNiQhFhShQiDjPjSjFhFhShQhWhOhQhNjDhQhQhThFhShQhXhZhOhRhWhUhVhShXhFhSiDhFhShQhShQhShQhFhSiGhRhQhFhSiGhRhVhNhRhXhFhTiBhUhYhFhTiBhThShFhShQhFhShQhFhShQhFhShQhFhShQhFhShQhFhShQhFhShQhFhShShFhTiFhFhShQhFhTiDjSjEjGhFhTiBiSiEiGhFhShQjYjNjMjOjThFhTiBjSjEjGhFhTiEhFhShSjIjUjUjQhFhTiBhFhSiGhFhSiGjXjXjXhOjXhThOjPjSjHhFhSiGhRhZhZhZhFhSiGhQhShFhSiGhShShNjSjEjGhNjTjZjOjUjBjYhNjOjThFhShThFhShShFhTiFhFhShQhFhTiDjSjEjGhFhTiBiEjFjTjDjSjJjQjUjJjPjOhFhShQjSjEjGhFhTiBjBjCjPjVjUhFhTiEhFhShShFhShShFhShQjYjNjMjOjThFhTiBjYjNjQhFhTiEhFhShSjIjUjUjQhFhTiBhFhSiGhFhSiGjOjThOjBjEjPjCjFhOjDjPjNhFhSiGjYjBjQhFhSiGhRhOhQhFhSiGhFhShShFhShQjYjNjMjOjThFhTiBjYjNjQiNiNhFhTiEhFhShSjIjUjUjQhFhTiBhFhSiGhFhSiGjOjThOjBjEjPjCjFhOjDjPjNhFhSiGjYjBjQhFhSiGhRhOhQhFhSiGjNjNhFhSiGhFhShShFhShQjYjNjMjOjThFhTiBjTjUiFjWjUhFhTiEhFhShSjIjUjUjQhFhTiBhFhSiGhFhSiGjOjThOjBjEjPjCjFhOjDjPjNhFhSiGjYjBjQhFhSiGhRhOhQhFhSiGjTiUjZjQjFhFhSiGiSjFjTjPjVjSjDjFiFjWjFjOjUhFhShThFhShShFhShQjYjNjMjOjThFhTiBjEjDhFhTiEhFhShSjIjUjUjQhFhTiBhFhSiGhFhSiGjQjVjSjMhOjPjSjHhFhSiGjEjDhFhSiGjFjMjFjNjFjOjUjThFhSiGhRhOhRhFhSiGhFhShShFhShQjYjNjMjOjThFhTiBjQjIjPjUjPjTjIjPjQhFhTiEhFhShSjIjUjUjQhFhTiBhFhSiGhFhSiGjOjThOjBjEjPjCjFhOjDjPjNhFhSiGjQjIjPjUjPjTjIjPjQhFhSiGhRhOhQhFhSiGhFhShShFhShQjYjNjQhFhTiBiDjSjFjBjUjPjSiUjPjPjMhFhTiEhFhShSiBjEjPjCjFhFhShQiQjIjPjUjPjTjIjPjQhFhShQhShShOhRhFhShQhIiXjJjOjEjPjXjThJhFhShShFhShQjYjNjQhFhTiBiDjSjFjBjUjFiEjBjUjFhFhTiEhFhShShShQhShRhNhQhZhNhShXiUhRhWhFhTiBhThQhFhTiBhUhRhNhQhThFhTiBhQhQhFhShShFhShQjYjNjQhFhTiBiNjFjUjBjEjBjUjBiEjBjUjFhFhTiEhFhShShShQhShRhNhQhZhNhShXiUhRhWhFhTiBhThQhFhTiBhUhRhNhQhThFhTiBhQhQhFhShShFhShQjYjNjQhFhTiBiNjPjEjJjGjZiEjBjUjFhFhTiEhFhShShShQhShRhNhQhZhNhShXiUhRhWhFhTiBhThQhFhTiBhUhRhNhQhThFhTiBhQhQhFhShShFhShQjYjNjQiNiNhFhTiBiJjOjTjUjBjOjDjFiJiEhFhTiEhFhShSjYjNjQhOjJjJjEhFhTiBjDhZjFhVjFhZhUhZhNjEjEhThUhNhZhWhUhZhNhZjDjGjEhNhXhWhXhQjDhTjFhWjBhRhWhVhFhShShFhShQjYjNjQiNiNhFhTiBiEjPjDjVjNjFjOjUiJiEhFhTiEhFhShSjBjEjPjCjFhFhTiBjEjPjDjJjEhFhTiBjQjIjPjUjPjTjIjPjQhFhTiBhSjDjGhVhSjFhXjFhNhRjGjBhWhNhThShUjGhNjChRhQhYhNjFjDjDhZhShUhQhUhUjDhYhQhFhShShFhShQjYjNjQiNiNhFhTiBiPjSjJjHjJjOjBjMiEjPjDjVjNjFjOjUiJiEhFhTiEhFhShSjYjNjQhOjEjJjEhFhTiBjFhUhVjGhZhQhQhYhNjBhVhZjBhNhWhRhUhRhNhYjCjChThNjFhQjDhUhZhZhTjGjGjFhTjGhFhShShFhShQjEjDhFhTiBjGjPjSjNjBjUhFhTiEhFhShSjJjNjBjHjFhFhSiGjQjOjHhFhShShFhShQjQjIjPjUjPjTjIjPjQhFhTiBiDjPjMjPjSiNjPjEjFhFhTiEhFhShShThFhShShFhTiFhFhShQhFhTiDjYjNjQiNiNhFhTiBiIjJjTjUjPjSjZhFhTiFhFhShQhFhTiDjSjEjGhFhTiBiTjFjRhFhTiFhFhShQhFhTiDjSjEjGhFhTiBjMjJhFhShQjTjUiFjWjUhFhTiBjBjDjUjJjPjOhFhTiEhFhShSjDjSjFjBjUjFjEhFhShShFhShQjTjUiFjWjUhFhTiBjJjOjTjUjBjOjDjFiJiEhFhTiEhFhShSjYjNjQhOjJjJjEhFhTiBjFhUhVjGhZhQhQhYhNjBhVhZjBhNhWhRhUhRhNhYjCjChThNjFhQjDhUhZhZhTjGjGjFhTjGhFhShShFhShQjTjUiFjWjUhFhTiBjXjIjFjOhFhTiEhFhShShShQhShRhNhQhZhNhShXiUhRhWhFhTiBhThQhFhTiBhUhRhNhQhThFhTiBhQhQhFhShShFhShQjTjUiFjWjUhFhTiBjTjPjGjUjXjBjSjFiBjHjFjOjUhFhTiEhFhShSiBjEjPjCjFhFhShQiQjIjPjUjPjTjIjPjQhFhShQhShShOhRhFhShQhIiXjJjOjEjPjXjThJhFhShShFhSiGhFhTiFhFhShQhFhTiDjSjEjGhFhTiBjMjJhFhShQjTjUiFjWjUhFhTiBjBjDjUjJjPjOhFhTiEhFhShSjTjBjWjFjEhFhShShFhShQjTjUiFjWjUhFhTiBjJjOjTjUjBjOjDjFiJiEhFhTiEhFhShSjYjNjQhOjJjJjEhFhTiBjDhZjFhVjFhZhUhZhNjEjEhThUhNhZhWhUhZhNhZjDjGjEhNhXhWhXhQjDhTjFhWjBhRhWhVhFhShShFhShQjTjUiFjWjUhFhTiBjXjIjFjOhFhTiEhFhShShShQhShRhNhQhZhNhShXiUhRhWhFhTiBhThQhFhTiBhUhRhNhQhThFhTiBhQhQhFhShShFhShQjTjUiFjWjUhFhTiBjTjPjGjUjXjBjSjFiBjHjFjOjUhFhTiEhFhShSiBjEjPjCjFhFhShQiQjIjPjUjPjTjIjPjQhFhShQhShShOhRhFhShQhIiXjJjOjEjPjXjThJhFhShShFhShQjTjUiFjWjUhFhTiBjDjIjBjOjHjFjEhFhTiEhFhShShFhSiGhFhShShFhSiGhFhTiFhFhShQhFhTiDhFhSiGjSjEjGhFhTiBiTjFjRhFhTiFhFhShQhFhTiDhFhSiGjYjNjQiNiNhFhTiBiIjJjTjUjPjSjZhFhTiFhFhShQhFhTiDhFhSiGjSjEjGhFhTiBiEjFjTjDjSjJjQjUjJjPjOhFhTiFhFhShQhFhTiDhFhSiGjSjEjGhFhTiBiSiEiGhFhTiFhFhShQhFhTiDhFhSiGjYhFhTiBjYjNjQjNjFjUjBhFhTiFhFhShQhFhTiDhFhTiGjYjQjBjDjLjFjUhFhShQjFjOjEhFhTiEhFhShSjShFhShShFhTiGhFhTiFhFiDhShFhZhWhFiDhShFiCiGhFiDhShFhZhVhUhFhQhQhFhQhQhFhQiDhFiDhThFiBhQiJiEiBiUjYhFiDhShFhZiDhFiDhThFiBiEhFiDhShFhZiDhFiDhThFhZiCiPhFhViCiXhFiDhShFiCiFhFiDhThFhYhXhFhTiGhFiDhThFhZiFjGhFhRiChFhRiChFiDhShFiChThFhQiEjYhFiDhThFhZiChFhShWhFiDhShFhYhWhFhRhYhFiDhThFhYiDhFiDhThFhYhViQiChFiDhShFiBhRiVjPhUhFiDhShFhZiBiMhFiDhShFiBhTiKhFiDhThFhZhThFhShWhFiDhShFhZiEhFhTiFiNhFiDhThFiChShUhFhXiEhFhTiBhFhShThFiDhShFhZiEhFiDhShFiBiBiPhFiDhThFiBhXjJhFhViFhFiDhThFiCiBhShFiDhThFhZhSiMhFiDhThFiBhXhFhTiGhFiDhShFhZhYhFiDhShFiChXjZhFiDhShFhZhZhFiDhThFiChThWhFiDhShFiBhThFhRiFhFiDhThFiBhZhFiDhThFhYiDjZjKhFiDhShFhZhThFiDhShFiBiBhFiDhShFiBhZhFiDhShFhYiFhFiDhThFhZiBiBjKhFiDhThFhZhRhFiDhShFhZhRhFhShSjFhFiDhThFiBhShFiDhThFhZhQhFhShWhFhUhQhQhFhRhYhFhRiChQhFiDhThFhZhYhFiDhThFhYhWhFhRhYhFhQhXjMhFiDhThFhYiDhFiDhThFiBhWhFhTiDhFhSiDhFhSiGhFiDhThFhYhXhFhRhQjThFiDhShFiChRhFhQhRhFiDhShFhZhThFiDhThFhYhQhFhXiDhFhShUiLhFiDhThFhYhZhFiDhShFiCiFhFiDhShFiBiFhFiDhThFiChVjFhFhViEjehFiDhThFiCiChFiDhShFiChXjehFiDhShFiCiGjFhFiDhShFiCiBjZhFiDhThFiChThFhShWhViGhFhQhVhFiDhShFhYhWhFiDhShFhYhRiLhFhUhQhFhQhQhFiDhThFiBhYhFhQhWhFhXiDhFhUhQhFhSiChFiDhShFiBhQhFhQhThFhRiBiQhFhQiGjEhFiDhShFhYhRhUhFhRhQhFhQhXhFhRhWhFiDhShFhYhRhQhFiDhThFiChQhFhRhYhFiDhShFhZhYhFhQhQhFiDhThFhYhWhFiDhShFhYhRhFhXiGhFhQhShFiDhShFhZiCiVhFiDhShFhZhXhFiDhThFhYhShQhFhShQhFiDhShFhZiChFiDhShFhYhVjEhFhRhShFiDhShFhZhWhFiDhShFhZhXjBjNhFhQiEhFiDhThFiBiBhFiDhThFiBiChFiDhThFhYhRhFiDhThFiBiEhFhQhWhFiDhShFhZhXhFhQiCjMhWhQhFiDhShFhZhZhFhWhQhFhXiChFhViChFhViDjPhSiRiXhFiDhThFiChVhFiDhThFhYiChKhFhShThFhQhQhFiDhThFiCiDhFhRiDhFiDhShFiChYhFhQiDhFiDhShFhYiDhFhQhQiDhFiDhShFhYhXhFiDhShFiChYhFiDhShFiBhXhFiDhShFiCiFhFiDhThFiChQjThFhQhRhFiDhThFiCiEjFhFiDhThFhYiFhFiDhThFhZiGhFhQhXhFiDhThFhYhWhFiDhShFhYhQhFiDhThFiBiGhFiDhShFhYhRhFhXiGhFhShQiEhFhTiDhFhTiDhFiDhShFhYiBhFhShShFhQhUhFiDhShFiChRiYhFiDhShFiBhQhFiDhShFiBhRhFhQhRjChRiYiZhFiDhShFhYhRhFiDhThFiChZjZhBjChFhXiChFiDhShFiCiChFhRhQhFhSiGhFiDhShFhZhThFiDhShFhYhRhFhViDhFhQiFhUhFiDhThFiBiEiEhFiDhThFhYhVjKhFhQhShFhTiFhFhQhQhFiDhShFiBiFhFhQhRhFiDhThFiBiGhFhQhRhFiDhThFiBiEhFiDhThFiChShFiDhShFhYhUhFiDhThFhYhThFiDhThFiBhRhFiDhShFiBhQhFiDhShFiChZhFiDhShFiChZhFhRhZhFiDhShFhYhXhFiDhThFhYhTiBjDjDhFhShTjWhFiDhShFiCiChFhRiEhFiDhShFhZiChFiDhThFhYiEiGhFhXiEhFhXiEhFhTiEhFiDhThFiChVhFiDhThFiChVhFiDhThFiChVhFhQhQhFhRhYhFiDhShFhYhWhFiDhThFhYhRhFiDhThFiBhWhFiDhThFiBhWhFhShWhFiDhThFhZhZjMhFiDhShFhZhWhFiDhThFiChVhFiDhThFiChVjVhShFiDhShFhZhZhFhQiDjLjLjLhFiDhShFiBiDhFiDhShFiBiFhFiDhShFiBiFhFiDhShFiChShFiDhShFiChShFiDhShFiChShFiDhThFhYhShFiDhThFiBiBhFiDhThFiBiBhFiDhThFiBiBhFhRhQiChFiDhThFiChUhFhXiGhFhQhXhFhShShFiDhThFhYhQhFiDhThFhZhXhFiDhThFhYhQiXhFiDhThFhYhQhNhFhShQjVhFiDhThFiBhYiShFiDhShFhZiBhFiDhThFhYiEhFiDhThFhZhQhFiDhThFhZhUhFhShUiEhFiDhShFiChThFiDhThFhZhZhFiDhShFhYhUjIhFiDhThFiChRhFiDhShFiChYhFhRhQhFiDhThFhZhThFiDhThFiBhZhFiDhShFhYhUhFiDhThFhYhViFiYhFhViEhFiDhShFhYhVhFiDhShFiBiFhOiMhHhFiDhThFhZhQhFhQiEhFhTiChFiDhShFhYhQhFhRiChFiDhThFhYhQhFiDhShFiBiGhFiDhShFhYhQjXhFhQhQhFhSiDhFhRhWhFhQiChFhRiFhFiDhShFhYiGhFhQhXhFiDhShFiChXhFiDhThFhZiChFiDhShFhYiEhFiDhThFhYiChFiDhThFiBhViChFiDhThFhZhXjVhFhRhUiFhFiDhShFiBhZhFiDhThFiCiBhFhQhVhFiDhShFhYhWjBhFhRhQhFiDhShFhYiGhFiDhThFhYhXiZhFhViFhFhViFjGjJjJhFiDhShFhYhZiYhFhSiDiGhOhFiDhShFhZhXhFiDhShFhZhThFiDhShFiBhXhFiDhShFiCiGhFhQhThFiDhThFiCiFhFhQhXhFiDhThFiChYhFhTiChQhFhXiChFiDhShFhYhYhFiDhShFhYhXhFiDhShFhYhZhOhFiDhThFiChYhFiDhThFiBhUhFiDhShFhYhZhFiDhThFiBhYjShFiDhThFiBiChFiDhThFiBiChFiDhShFiBhShFhViChFhRiBhFhQhWhUhXhFiDhThFhYhThFiDhThFhZhWhFhRhWhFiDhShFiBhUiShFiDhThFiBhQhFiDhThFiChThFhRiEhFiDhShFiBiCiYhOhFiDhThFiBhQhFhShThFiDhThFiBhQhFiDhThFhZhXhFiDhThFhYhQhFiDhThFhZiChFhQhQjOhFiDhShFiChXhFiDhShFhZiChFiDhShFiChWhFiDhShFiChWhWhFiDhShFiCiDhFhViFhFhSiGiOhFiDhShFiBhXjThFiDhThFhYhXhFiDhThFhYhVhFiDhShFiChThFiDhShFiChThFiDhShFiChThFiDhShFiBhUhFiDhThFhZhTjJhFiDhThFhZhShFiDhThFiBhZhUhFiDhShFhZhZiMhFiDhShFhYhWhFiDhShFhYiEhFiDhShFhYiEhFhQiEhFiDhShFiChShFiDhThFhZhZhFhSiDhXjOhFiDhThFhZiDhFhQhQhFiDhThFiBhQhFiDhThFiChThFiDhThFhYiGhFhTiGiHiViVhFiDhThFiBiBhFiDhThFiBiChFiDhThFiBiChFiDhShFiChRiahFiDhShFiBiEhFiDhThFhZhYhFiDhThFiBiEjWhUiNiDhFiDhThFhZhThUhFhTiBhFhTiBhFhTiBjWhFhTiDhFhSiChFiDhShFhZhRiIhQhFhTiGhFhTiGiPhUhFhRiBjFjJjJiJhFhRiFhFiDhThFiCiFhFhQhRhFiDhThFiChYhFhRiChFiDhThFiChQiXhFhWhQjZhFiDhThFhYiGiShFiDhShFiBiGhFiDhShFiBiGhFiDhThFhYhThFiDhThFhYiDhFiDhShFhYiDhFiDhThFiBhYhFiDhShFhYhShFhQhQhFiDhShFiBiBhKiahFiDhShFhZhVhFhRhUhFiDhShFiCiGhFiDhShFiBiFiOhFhQhYjZhFiDhThFiChRhFiDhThFiBhShFiDhShFiChRjVhFiDhThFhYhThFiDhShFhZiChFiDhThFhYhQjPhFiDhShFhYhQhFhQiGhFhQhRhFiDhThFhZiBhFiDhThFhZiBhFiDhThFhZiBhFiDhThFiChQhFiDhThFiChZhFhXiDhFiDhThFiChYhFhXiDhFhTiFhFhSiDhFhRhWhFhQiChFhQhQhFiDhThFiChRjYhFiDhShFhZiDhFiDhThFhZhZhFiDhThFhZhZiZhFiDhShFhZhWhFiDhShFhZhXhFiDhShFhZhXhFiDhShFhYhZhFiDhThFhYhXhFiDhThFiBhThFhRhYhFiDhShFhYhWhFiDhShFiChRhFiDhThFiBiGhFhQhThFiDhShFiChXhFiDhShFiChWhFiDhShFiChWhFiDhThFhZhYhFiDhThFhZiBhFiDhThFhZiBjCjDjDhFiDhShFhYhTiUjKjHhFiDhShFiBiGiShFhRhUhFhQhVhFhViEhFiDhThFhZhXjRhFiDhShFiChZhFhViDjUjUjUhFiDhShFiBhQhFiDhThFiBiChFhTiBiOhFiDhShFiBhXhFiDhShFhZhThFhUhQhFhShQhFhUhQhYhFhRiDhFhShWhFhRiDhFhQiFhFhRhThFiDhShFhYiEiGhFiDhThFhZiGiGhFiDhThFiCiDhFiDhThFhZhRhFiDhThFhZiFhFhQhXhFiDhThFiCiFhFhRhThFiDhThFiChYhFiDhThFiBiGhFiDhShFiChShFhSiGhShFiDhShFhZiChFiDhShFhYhVhFhUhQhFiDhThFhZiChFiDhThFhZiChFiDhShFhZhQhFiDhThFhYiGhFiDhThFhYhThFiDhThFiBhWhFiDhShFiBhWhFhRhYhFiDhThFhZhYiNhFhShWjRjehFiDhShFiChThQhFiDhShFhYhXjMjMhFhRiDiZhFiDhShFiBiDjOhFiDhThFiBhQhFiDhShFhZhThFiDhThFhYhShFiDhShFiBiGhFiDhThFhYhZhFiDhThFiBhThFiDhThFiChRhFiDhThFiBhQhFiDhThFiChXhFiDhThFiCiChFiDhThFiChRhFiDhThFiCiChFiDhThFiCiEhFiDhThFhZhUhFiDhThFhZhVhFiDhShFhYhZiHhFiDhThFhYiGhFiDhThFhYiDhFiDhThFhYiDhQhRhRiBhFhSiDhFhRhWhFhTiChFiDhThFiBhShFiDhShFiBiChFiDhShFhZiFjChFhRhYhFhQhWiLiLiLhFhSiDhNhNhFiDhThFiChRhFiDhThFiBhThFiDhShFhYiGhFhTiGhFiDhThFiBhShFiDhThFiChRjYhFhQhYhFhQhUhFhQhSjUjWjWhFiDhThFhZhShFiDhThFhZhThFiDhThFhZhTiDjHjHhHhFiDhShFiBhRiQhFiDhShFhYhYiQhIiEhFhSiDhFhRhWhFiDhThFiCiChFhRhQhFiDhShFiChYhFhQhShFiDhShFiCiDhFhQhVhFiDhThFiCiDhFhRhZhRhFiDhShFiBhThFhTiFiFiVhFiDhThFhYhRhFiDhThFiBiChFhQhVhFiDhShFiBiCiVjUhFiDhShFiChXiMiGhFhQiDhFiDhThFiChQhFiDhThFiChShFiDhShFhYiGhJjHhFiDhThFhYhThFiDhShFhYiEhFhQiEhFiDhThFhYiDhFiDhShFhZhXhOhFhViEhFiDhShFiBiBhFiDhShFiChWhFiDhThFhYiDhFiDhThFhZhXhFiDhShFhYhRhFiDhThFhZiGhFhQhThFiDhThFiCiGjGhFiDhShFiChThFiDhThFhZhZhFiDhShFiBiDhFhSiGhFiDhShFiCiEhFiDhThFiChUhFhRhShFiDhThFhYhThFiDhThFhYhThFiDhThFhYhThFhViDhFiDhShFiChYjQhFhQhRiFiRhFiDhShFhZhYhFiDhShFhZiFhFiDhShFhZiFjGjUjUhFiDhShFhZhUhFiDhThFhYhZhFiDhThFhYhZiJhShFiDhShFhZhZhFiDhThFhYiDhFiDhShFiBhRhFhRiGhFhTiBhUhFhShUhFhShWhFiDhThFhYiBhFiDhThFiCiChFiDhThFiChXhFiDhThFiBiGhFhRiGhFiDhThFiCiBhFiDhShFhZiFiMhFhShWiDhYhFhRiDhFhShWhFhRhUhFhQiBjBhFiDhShFiChRiYhFiDhShFhYiBhNhFiDhShFiBiEhFiDhShFiChVhFiDhShFiChVhFhRhViViViJhFiDhShFiBhXhFiDhThFhZhThFiDhThFhZhWhFhXiDhFhTiFhFiDhThFiCiGhThFiDhThFhYhUhFiDhShFiBiDhFiDhShFhZiDhFhQhQhFhShWhFiDhShFhYiChXhFiDhShFhZiCiMiChQhFiDhShFhYhXiDhFiDhShFhYiDiRhFiDhShFhZiBhFhShWiahFhViChOhHhFhQhUhFiDhShFhZhThFiDhThFiBhWhFiDhShFhYhThFiDhThFhYiEiWhFiDhShFiChViYhFhRiGhFhQhThFiDhShFhZiGhFhQhRhFiDhShFhZhXhFiDhShFiCiEhFhViFhFhSiGiDiDiDhFhQhUhFhQhShFhQhRhFhSiDhFhRhWhFhQiChFiDhThFhZhRjIhFiDhShFhZhUjPhFiDhShFiCiGhFiDhThFiCiEhFiDhShFhZhWhFiDhShFiBhZhFiDhShFiBhZhFiDhShFiBhZhFiDhThFhZhSiBhFiDhThFiChXhFiDhThFhZhQiUhFhShThFiDhShFhZhWhFhShUhFiDhShFhZhXhFiDhThFhYiChRhXhXhFiDhThFhYhXhFiDhThFhYiDhFiDhThFhYiDhFhQiDhFiDhShFhYiEhFiDhShFhYiEhFiDhShFhYiEhFiDhThFiBhYhFiDhShFiCiBiOjLjLhFhSiChFiDhShFhZiBhFiDhShFiBhWhFiDhShFhZhRhFiDhThFhYiChFiDhThFiBhViYhFhViChFhViChFhQiChFhQhQjPhFhShSjMhFiDhShFiChYhFiDhShFiCiChFiDhThFhYiGhFhTiDhFiDhThFhYhQjMhFhRhWhNiMhFiDhThFhZhThFiDhThFhYhUhFiDhThFhYiDhFiDhShFiChYhFiDhShFiChVhFiDhThFiChViUhUhFiDhShFhZhXhFiDhShFiBiChKhFiDhShFiChRhFhTiFiFhFhQhYhFiDhThFhZhVhFiDhThFhZiFhFiDhThFhZhXhFiDhThFhZhXhFiDhThFhYhXhFiDhThFiChQhFiDhThFiChQhQjOhFiDhShFiChXhFiDhShFhZiChHiPhFiDhShFhZiFhQhFhTiBhFhTiBiKhQhFhRhYhFhShUhFiDhShFhZiChFiDhThFhYiEiWhFhViDiRhFiDhThFhYhZiRhFiDhThFhYhUhFiDhShFhZhSjEhFiDhShFiChTiZiChFiDhShFiBhRhFhRhQhFiDhThFhYiChFiDhThFhYiChFiDhThFhYiChFiDhShFiChUhFiDhShFiChWhFiDhShFiChWhFhRhWhFiDhThFhYhXhXhFiDhShFhYhQjYhFhTiDhFiDhThFiBiFhFiDhShFiBhShQiLhFhQhThFiDhShFiBhTjFhFhRiGhFhWhQhWhFhQiChFiDhShFiChRhFhRiBhFhRiBiEhFiDhShFiBiChFiDhThFhZhThUjIjNhFiDhShFiBiEiIhFhSiDhFhRhVhFiDhThFhZhRhFiDhThFiBiEhFhTiFiTiVhFiDhThFhZhVhFhTiBhUhUhFiDhThFhYhUhFiDhThFiChQhFiDhThFiChQhQiWhFiDhShFiBiChFiDhShFhZhVhFiDhShFhYhVhFiDhShFhYhVhFhQhVhFiDhShFiCiFhFiDhThFiChZhFiDhThFiBhWhFiDhShFhZiCjHhFhQhWhFiDhThFiBhSjKhYhFhQiFhFiDhShFiChRhFhShUjLjLjLhFhTiDjehFiDhThFiCiDhFhRhYhFiDhShFiBhXhFiDhThFhZhThFiDhShFhYhZhFiDhShFiBiFhFiDhThFiBiChFhViDhFiDhShFiChYjQhFhQhRhFiDhShFiChThFiDhThFhZhZiMhFhShShFiDhShFhZhRhFiDhShFiChQhFhRiBhFiDhShFhYhWhFiDhThFiChRhFhQiChFiDhThFhYhQhFiDhShFhYiDhFhRhQhFiDhThFiBiDhFiDhThFhZhZhFiDhThFhZhZhFiDhThFhYhWjEhFhRhSiGhFiDhShFiBhZhFiDhShFiBhWiBiLhFhQiChFiDhThFhZhUhFiDhThFhZhXiXhFhShUhFiDhThFhZhWhFiDhThFiBiGhFiDhShFhYhRhFiDhThFhZiGhFiDhThFhZhZjMhWhFiDhShFhYhWhFiDhShFhYhWhFiDhShFhYhWhFhRhYhFhRhYhFhRhYhFiDhThFhYhQjEhShRhVhVhFiDhThFhYhVhFiDhThFiBhYhFiDhThFiBhYhIhFhViChFhViChFhViCiHhFiDhShFiBiFhFhRiDhFhRiDhFiDhShFiBiGiYhFhShQjGhFiDhThFhZhVhFiDhThFiBhZhFiDhThFiBhZjJhFhRiBhFhRiBhFhRiBhFiDhThFhZhQjVhFhRiEhFiDhShFhYiGhFiDhThFhYhXhFiDhShFhYhThFiDhShFiBiBhFiDhShFiBiBhFhShUhFiDhShFhZhTiJhFiDhThFiChShFiDhThFiChZhFiDhThFiCiDhFiDhThFhZhVhFiDhThFhYhSjFhFiDhThFiCiGhFiDhShFiCiChFiDhThFiBhXhFhQhThFhRhUhFiDhShFiBhVhYhThFhRiFiWhFiDhShFiBiDiPhFiDhShFhYhRhFiDhThFhYiGhFiDhShFiBhUiQhFiDhShFhYhRhFhUhQhFhQhQhFiDhShFhYhQhFhTiCjXhFiDhThFiBiFhFiDhThFiChQhFiDhThFiBhYhFiDhThFhZhRhFiDhShFiBhThFhShTiVjGhXhFiDhThFhYhXhNhFiDhShFhZhWhFhShUhFhRhShFiDhShFhYhZhFiDhShFiChQhFiDhShFiChYhFiDhShFiChYiIjXjXhXhFiDhShFiCiBhFiDhShFiBiFhFiDhShFiBhThFiDhShFiBiBhKhFiDhShFhYhZiEiChFhQiBhFiDhShFhZhWjFhFiDhShFiBiGhOiZhFiDhThFhYhSjBhFiDhThFhYiDhFiDhThFiBhYhFiDhShFhYiGhFiDhShFhYhRiPiViVjFjQjQhFiDhShFhZhQhFiDhThFhZiFhFiDhThFhZiFhFhViFhFiDhShFiChWhFiDhShFiChXhFiDhShFiChXhFiDhShFiChZjVhFiDhThFiBiChFiDhThFhZhWhFiDhShFiChRhFiDhShFhZiBhFhQhThFiDhShFiChVhFhShQhFhRhWhFiDhShFhYiCjRhFiDhThFiBiChFiDhThFhZhWhNhFiDhShFiChWhFiDhShFiChXhFiDhShFiChXhFiDhThFiBhZhFiDhThFiBiEhFiDhThFiBiEjFjQjQhFhRhQiViViBhUhFiDhShFhYhWhFiDhShFhYiGhFhQiGhFiDhShFiCiBhFiDhThFiCiGhFhShQhFiDhShFiChRhFiDhShFiBiFhFhQhThFiDhShFiCiGhFhQhVhFiDhShFhZiBhOhFhViEhFiDhShFiCiBiEififhFhRiGhFhQhQhFiDhShFiChXjPhFiDhThFhZiGhFhShWhFiDhShFhZhZiMhFhRiFhFiDhShFiChRhFiDhThFiBhYhFiDhShFiBhXiDhShFiDhShFhZhZhFiDhThFiBhUhFiDhThFiChWhFiDhThFiBiEhFiDhThFhZiChFhQhQhFiDhThFiChUhFiDhThFiChVhFiDhThFiChViRhFiDhThFiBhYiZiNhFiDhShFhYhYjahFhViFhFiDhThFhZiGhFiDhThFiBiGhFiDhThFhZiFhFiDhThFiCiEhFiDhThFhYhUhFiDhThFiBiBhFhQhWhFiDhThFiCiFhFhQhThFiDhThFiBhYhFiDhThFiBiGhFiDhThFiBiChFiDhThFiBiCjDhFhWhQhFhWhQhFhQhQhFhRhQhFhViEhFiDhThFiBiGiFhFhRhViKhFiDhShFhZhSiMhFhShWhFiDhShFiChZjThFiDhThFiBhXhFhQiFhFhQhQhFhQhThFhQhThFhQhThFiDhShFiChShFhRhRhFiDhThFiChUhFhShThFiDhThFiBiBhFiDhThFhZiChFiDhShFiCiEhFiDhThFhZhXhFhXiEhFiDhThFiCiChFiDhShFhYhZhFiDhThFiChVhFhQhZhFiDhThFiChQiLhFiDhShFiBiGhFiDhThFhZhXiLhFhXiGhFhXiGhFhTiGhFiDhShFhYiBhFiDhShFiBhShQhVhVhFiDhThFiChVhFiDhThFhYhSjVhFiDhShFiCiEhFiDhShFiCiEhFiDhShFhYhYhFiDhThFhYhVjCiMiNiNhFiDhShFiBhRhIhFhQiBhFiDhThFiCiEhFiDhThFiCiEhFiDhThFiCiEjYhFiDhShFiCiEhFhViFhFiDhShFhYhQifhFhShShFiDhThFiBiBhFhViEhFiDhShFhZhWhFiDhShFiCiEhFiDhThFhYhUhFiDhShFiCiBhFhQhZhFhXiDjChFiDhShFiChThFiDhThFhZhZhFhQhYhFhQhUhFhQhSjIhFiDhShFhZiBhFiDhThFhYhWhFiDhThFhYhShFiDhThFhYhShFhQhSjDjDjDhHiQhFiDhThFiBiDhFiDhThFhZhTjDjMjMhFiDhShFhYiDhFiDhShFhYhVhFiDhShFhYhVhFhQhVhUiNhFhShThFhRhQhFhQhYhFhWhQhFiDhShFiChThFiDhThFhZhZhFhUhQhFiDhShFhYhYiVhFiDhThFhZhWhFiDhShFiCiCiQiOhFhSiDhFhRhXhFiDhThFiBhShFiDhShFiBhThFiDhShFiChYhFiDhShFiBhZhFiDhShFiBhXhFiDhShFiBhXhFiDhShFhYhXhFiDhShFhYiChFhRhXhFhSiGhFhRhWhFhQiEhFiDhThFhYiFhFiDhShFiChThFiDhThFhYhYhFiDhThFiBhYhFiDhThFiBhYhIiPhFiDhShFhZiFhFhTiDhFiDhThFiBhRhFiDhThFiBhShFiDhThFhYhVhFiDhShFhYiChFiDhThFiChUhFiDhThFiChUhFiDhThFiChUhFiDhShFhYhQhFhRhYhFiDhShFiCiGjehFiDhShFhYhThFiDhThFhZhQjBhFhQhXhFiDhThFiBhVhFiDhThFhYhUhFiDhThFiCiBhFhQhYhFiDhThFiChYhFiDhThFhZhQhFiDhThFiBhThFiDhThFiChRhFiDhThFhYhYhFiDhShFhZiChFhRhZhFhRiChFhRiChFiDhShFiBiChFiDhThFiBiBhFiDhThFhZhThFiDhThFiBhViFhFhShQhFiDhShFhZhXhFiDhThFhYiChFhRhVhFhXiCiMiPiPhFhQiGhFhRiFhFiDhShFhYiGhFhQhXhFiDhShFhYhUhFiDhThFiChXhFiDhThFiBhUhFiDhShFiBhThFiDhThFhZiEhFiDhThFhZhXhFiDhThFiBiFhFhRhWhFiDhShFiBiChFhQhThFiDhThFiBhRhFiDhShFhYiGhFiDhThFhYhShFiDhThFiBiGhFiDhThFiChXjDhFiDhShFiChXhFiDhThFhZiChFiDhShFhYhZiGhFiDhShFiBhThFiDhThFhYiDhFiDhThFhYiGhFiDhThFhYiGhFiDhShFhZiGjMhFiDhShFhYhZiPhFhRhZhFiDhThFiBhZhFhQiChFiDhShFiChThFiDhThFhZiChFiDhThFiBiEhFiDhThFiChYhFiDhThFiCiEjejZhFiDhThFiChYhFiDhThFhZhXhFhQhYhFhTiEhFiDhShFhYiBhFiDhThFiBiDhFhRhWhFiDhThFiBiChFhQhWhFiDhThFiChQjWhFhViChFhViChFhViChFiDhThFiChRhFiDhShFiBhWhFiDhShFiCiCjXhFiDhShFhZiGhFiDhThFiCiEhFiDhThFhZiFhFhTiDhFiDhShFhYiChFiDhThFhYhYjahFiDhThFiCiBhFiDhThFiCiEjehFiDhThFhZiBhFiDhThFhZiBhFiDhThFhZiBhFhUhQhFiDhThFiChYhFiDhThFhYhSjOhFiDhShFhZhUhFhViFiThKiWhFhRhThFiDhThFhYhShFhRhVhFiDhShFhYiDhFiDhThFhYiGhFiDhThFiBhXhFiDhShFiBhThFiDhShFiBiFhFiDhShFiBiFhFiDhShFhYiFhFiDhThFiBhZhFiDhThFiBhZjJiWiXiXjLiThFiDhThFhZiBiTjGjVjVhFiDhShFhZhVhFiDhThFiBhZhFiDhThFiBhZjJhFiDhThFiBiBhFiDhThFiBiBhFiDhThFiBiBhFiDhThFiChQhFiDhThFiChZhFhXiDhFiDhThFiChShFiDhThFiChQhFiDhShFiBiGhFhRhQhFiDhShFiCiBhFhQhQhFhTiChFiDhThFhYhVhFiDhThFiCiBhFhQhQjYhFiDhThFhYhXhFiDhThFiBiEjWhFhRhXhFhSiGhFhQiFhFhQhWhFiDhShFhYhThFiDhShFiChVhKhFiDhThFiBiCjThFiDhShFhYhRhFiDhShFiBiDhFiDhShFiBiGhFiDhThFhYiGhFiDhThFiBhXhFiDhThFhYhThFiDhThFiBiEjWhFiDhShFhYhThFiDhThFiChQiOhFhXiDhFhShQhFiDhThFhYiGhFiDhShFhZhXhFiDhShFhYiBjVhFhQiEhFiDhShFhYhUiLhFiDhThFhZhYjChFiDhShFiChRhQhThTiDhFhTiBhFiDhShFhZiEhFiDhShFiBiFjBiRiPhFiDhShFhZiGjUhFhTiBhFiDhThFhYiEhFiDhThFhYiDhFiDhThFhYiDhFhQiDhFhRhWhFiDhShFhYiCiFjWiFhIhFiDhThFiBhYhFhQhSiPhFiDhThFhYhVhFhQiBhFhQhQhFiDhThFiBiGiZhFhSiDhFhRhWjJhFiDhShFhZiDhRhRiRhFiDhThFhZhZhShFiDhThFhZiDiZiBhFiDhThFhZhWhFiDhThFhZiChFiDhThFiBiChFiDhThFiChVhFiDhThFhYiBhFiDhThFiChVhFiDhShFhYhThFiDhThFiChXhFhRhQhFiDhThFiCiBhFhRhUhFiDhThFhYhVhFiDhThFiCiBhZhFiDhThFhZhQhFiDhThFiBiFhFiDhThFiChRjYjQhFhTiBhFiDhShFhZiEhFiDhThFhYhUhFiDhThFiBhThFiDhThFiChRhTjDhFiDhShFiBhZiXiKhFhSiDhFhRhWhFhShThFhRiFhFiDhShFhYiGhFiDhThFiBhTjUhFhTiBhFiDhShFiBhVhFhRhZhFiDhThFhZhRhFiDhShFhYiFhFiDhThFhZhQhFiDhShFiBhXhIhFiDhThFhZhWjFhFhUhQhFiDhThFiChWiTjGjHhFhQiGhFhViFjOhFhTiChFiDhThFhYiChFiDhThFhYhYhFiDhThFiCiBiLhFhTiEhIhFiDhThFiBhYhFiDhShFiBhThFhShQhFhTiDhFiDhShFiBhQhFhShThFhUhQhFiDhThFhZhRhFiDhThFiChVhFiDhShFiCiBhFiDhShFiCiDhFiDhShFiCiDhFiDhThFiChXhShFiDhThFhZiCjZhFhUhQhFiDhThFhZhWifhFiDhThFiBiBhFiDhShFhYhRhFiDhThFhZhQiHiVhFhRhQiBhFhRiBiDhFhQiFhFiDhShFhYhXhFhQhThFhViEhFiDhThFhZhXhFhQhRhFiDhShFiChRhFiDhThFhYhWjXhFiDhShFhZiFhFiDhShFhZhRhFiDhThFiChVhFiDhThFhZhXjVhFhRiEhFiDhShFhYhXhFiDhThFhYhThFhQhRhFhShSiMhFhWhQiYiBiEhFiDhShFiChThFiDhThFhZhQhFiDhThFhZiDhFiDhThFhZiDhFiDhShFhYiDhFiDhShFiBhShIhFiDhThFhYiDhFiDhThFhYiFhFiDhThFhYiFhFhRiFhFiDhShFiChYhFhQhQjahFiDhThFhZhWhRhFhQiDhFiDhShFhYhThFiDhThFhZhZhFiDhThFhZhZiZhFhRhUiFhFiDhShFiBhRhFiDhShFiChZhFiDhShFiChZiZhFhRiFhFiDhShFiCiFhFiDhShFiBhUiQhFhRhYhFiDhThFiBhZhFhQiChFhQiBhFiDhShFhZiFhFhTiCjTjBhFhSiGhFiDhShFiBhUhFhQiFiShFhRhXhFhShQhFiDhShFiBhQiQjQjWhVhWhWhFiDhThFiBiFhFiDhShFiChYhFiDhThFiBhYhFiDhShFiCiDhFhShTjVhFiDhShFhZhQhFiDhShFiCiBhFhQhQhFiDhThFhZiEhFhQiBhFhShShFiDhShFhZhQhFhQiDhFiDhShFiCiChFiDhThFhZiEhFhQiFiQhFiDhThFhZhRhFiDhThFiBiBhFiDhThFiChRjRjChFiDhShFiChXhFiDhThFhZiChFhRhZhFhRiDhFhRiDhFhSiDhFiDhThFiCiFhFiDhThFiCiGhFiDhThFiCiEhFiDhThFiChXhFiDhThFhZiGjHjQjQhFiDhShFiChQiYhFiDhShFiBiFiahFhShTjVhIjZhFiDhShFiCiGhFiDhShFiBiGhFhQiFhFhRhRjRhHhFhRiEifjMjMjMhFiDhThFhZhUhFiDhShFiCiDhFhWhQjWhFiDhShFiCiChFiDhShFhZiEiXhFhViFjZhFiDhShFiBhVhFiDhThFiChUhFiDhShFhYiChFhRiGhFiDhShFhZhXhFiDhThFhYiChFiDhShFhYhVhFiDhThFhYiChFiDhThFiBhVhFiDhShFiBhShFiDhShFiBhZhFiDhShFiBhZhFiDhShFhYhZhFhXiChFiDhThFiChXhFiDhThFiBiFhFiDhThFhZhVhFiDhThFiCiDhFiDhShFhYiGhIjVhFiDhShFhZhQhFiDhShFiCiBhFhQhQhFiDhShFiBiEhFhQiBhFhShShUhFiDhShFiChRhFhRhYiEjWhFiDhShFhZhUhFiDhThFhZhVhFiDhThFiBhUjKhFiDhShFhZhRhFiDhThFhYhRhFhShUhFiDhShFhZhVhFiDhShFhZiFhFhTiCiJhFiDhShFiBhUhFhQiFiShFhRhXhFhUhQiXhFhRhQhRhFiDhShFhZiDjSiJhFiDhShFhYhYhFiDhThFhYiEhFiDhThFhYiEhFiDhThFiBiBhFiDhThFhYhThUhFiDhShFiBiChFiDhShFiBhVhFiDhShFiCiEhFiDhShFiCiEhFiDhThFiCiEiIhFiDhThFiBhXiPhFhQhShFiDhShFiBhZhFiDhShFhYhThFiDhThFhZhUhFhQhVhFiDhThFhZhQhFhRhUiEhFiDhThFhZiDjGhRhFhRhShFiDhThFiBiGhFiDhShFiChYiWhFiDhShFhZhWhFhSiCjBjXhFiDhShFiBhQhFhViChFiDhShFiBhVhFiDhThFiBhXiPhFhQhShFiDhShFiBhZiDiJhFiDhShFhYhUjChFiDhShFiCiEhFiDhShFhYhSiYhFiDhShFhYiEhNhFiDhThFhZiBiWjGhFiDhShFiChThFiDhShFiChZhFiDhThFiBhWhFhQhViLhFhShUhFhRhSiHhFhTiBhFhXiGhFhRhSiIhFhRiEiKjMhFiDhThFhYiFhFiDhShFiBiDhFiDhShFhYhShFhQhYhFiDhShFhZiGhOhFiDhThFhZhXhFiDhThFiBiDjKiGhFhShUhFhRhShZhFiDhThFhZhShFiDhThFiChZhFiDhShFhZhThFiDhShFiBhQhFiDhThFhYiDhFiDhShFiChQhFiDhShFhZhUiWhFhRhQjRhFiDhThFiBhWhFiDhThFiBhVhFhQhWhFiDhShFiChUhFiDhShFhZiBhBhFiDhShFiBhThFiDhThFiChUhKhFhTiEjXhFiDhShFhZhShFiDhShFhZhUhFiDhShFhZhZhFiDhThFiChQhFiDhThFiBhSjVhFiDhShFhYhYhFiDhShFhYhQhFiDhThFiCiDhFiDhThFiCiFhFiDhThFiChVhFiDhThFiChVjVhFhRiDhFhQiFhFhQhXiWhFiDhShFiBiChFiDhThFiChViYiChFiDhShFhYhXhKhBhFiDhShFhZhThFiDhThFhYhZjQhFiDhThFiBiGhFiDhThFhZiFhFhTiEiShFiDhShFiBhZhFhRhUhFiDhThFiBiEhFiDhThFiBiEhFiDhThFiBiEhYhFiDhShFhZiEiOhFhRhShFiDhShFhYhZhFhQhUhFiDhShFhZhRiIhFiDhShFhYhUiQhIjUhKhFiDhShFiChWhFiDhShFhZiGhFiDhThFhZhVjKhFhQhVhFhWhQhFhXiEhFhXiEhFhViEhFhRiFiahFiDhShFiBiDiDjEhOhFiDhShFhZhUhThFiDhThFhYhSjKiKhFhShWhFiDhShFhZhThFiDhThFiBhRhFiDhThFhYhRhFiDhShFhYhThFhQhXhFhTiDjYhFiDhThFiChQhFiDhThFiBhQiUhFiDhThFhZiFhFiDhShFiCiGhFiDhShFhZiChSiGjaiYhFiDhShFiBhRhFhRhQhFiDhShFhZhQhFiDhShFiCiBhFiDhShFiChWhFiDhShFiChWhFhQhWhFiDhShFhYhQhFiDhShFiBhWjJhFiDhShFiBhXiQhFiDhShFiChUhFiDhThFiBhXhFhQiGhFiDhShFiBhZhFiDhShFhYhThFiDhThFhZhUhFhQhVjYhFiDhShFiBiDiQiIhFiDhThFiBhThFiDhShFhZhQhFiDhShFiBiChYhFiDhThFiCiGhFhRhSiLhFhShQjVhIiZhFiDhThFhZiEhFiDhShFhZiBiQhFhRhQiJiDhFiDhShFiBiDhFiDhShFiBiDhFiDhShFiBiDhFhWhQhFhRhYhFhQhWhFhRiEhFhRiEhFhRiEiHhFiDhThFhYiBjehYhFhQiChIhFiDhShFhYiBiCiHiHhFhQhXhFiDhShFhYhWjBhFiDhShFiChQhFhShShFiDhShFhZhThFhQhZhFhWhQhFhViDiBjEiXhFiDhThFhZiEifhFhViEhFhViEhFiDhThFhZiEhFiDhThFiBhRhFiDhThFiChUhFhTiBhFiDhThFhYiGhFiDhShFhZhUhFhTiBiBhFhQiChNhFiDhThFiBiChFhTiFhFiDhThFiChQiPhFhQhVhFiDhShFhZhRhFiDhShFhYhWhWhFhQhWjFhFiDhThFhZiEhFiDhShFiBhZhFiDhThFiBhXhFiDhShFhZhShShFiDhThFiBiFhFiDhThFiChVhRhFhWhQiThFiDhThFiChWhFiDhShFiChXhFiDhThFiBiGhFiDhShFhYhRjChFiDhThFhZiFhFiDhThFhYiChFiDhThFiBiFhFiDhThFhZiDhFiDhShFhZhYhFiDhThFiChThFiDhShFhYhWhFiDhShFiBiDhFhXiGiJhFhRiFhFiDhThFhZhQhFiDhThFiChXhFiDhThFiChQjUjVhFiDhThFiBhXhFhRiGhFhUhQhFhShUhFhRhWhFiDhShFhYiChFiDhShFhZhRiIhFhShUhFiDhShFhYiBiRhFiDhShFiCiEhFiDhThFiBhXhFhRhRhFiDhShFhYiGhFiDhThFhYhXhFiDhShFhYhThFiDhShFiBiFhFiDhThFiBiChFhShUhFhRhShFhQhZhFiDhShFiChZhFhRiDhFhRhYiBhFiDhThFiBhYiThFhRhUjLhFhQhShFiDhThFiChYhFhTiBhFiDhShFhZhXhFiDhThFhYiChFhRhVhFhShTjGjEiEhFiDhThFiChSjZiDhFiDhThFhZhWhFhXiCjejehFhViFhFiDhShFhYhWiZhFhXiEiNhFiDhThFhYhRjChIhFiDhShFhZiEhFiDhThFiChWhFiDhShFiCiFhFhQhShFiDhShFhYhYiGhFiDhShFiBhThFiDhThFiBhUjShZhFhTiBhFhTiChFhTiChFiDhThFhYiGhFiDhShFhZiEhFhRhZhFiDhShFiBhRjJhFhRiBhFiDhShFhZiEhFiDhShFhZiEhFiDhShFhZiEhFiDhThFiBhUjShZhFiDhShFiBhShFiDhThFhZhRhFiDhShFiBhYhFhTiDhFiDhThFiCiDhFiDhShFhZhVhFiDhThFiCiDiHhFiDhShFiBhZiYhFiDhShFiChXhFiDhShFhYhQhFiDhThFiBiGhFiDhShFhZhWhFiDhShFhZhWhFiDhShFhZhWhFhQhYhFiDhShFhYhXhFiDhThFhYhThFhQhQhFiDhShFiCiDhFiDhThFiCiDhFiDhThFiChShFiDhThFhYiChVhFhSiChFiDhThFiBhYhFiDhThFiChThFiDhShFhYhQhFiDhShFiBiDjPhYhFhRiDhFiDhShFhZhWhFiDhThFiBhThFiDhThFhZhVjXhFhQhYhFhViEhFiDhShFhYhQhFiDhShFhZiEjChFiDhShFiBhVhFhRhQhFhRhZhFiDhShFiBhQhFiDhShFhYhUhFiDhThFhYhTjBhFiDhThFiChShFiDhThFiChZhFhTiDhFhViEhFhViEhFhViEhFiDhShFiBhVhFiDhShFiBiChFhRiCjHhFhRiBhFiDhShFhYhXhFiDhThFhYhTiBiXiXhFhRhXhFiDhThFiChZhFhXiDhFiDhShFiCiFhFiDhThFhZhYiYhFhRhQjahFhRhUhFhTiGhFiDhShFhZhUjXhFhViChFiDhShFhZiGhFhXiGhFhQhXjehFiDhShFhYhYiGhFiDhShFiBhThFiDhThFhYhVhFhSiGhFiDhThFiCiEhFiDhThFhZhXhFhViFhFhXiChFiDhShFiBiEhFhQhWiFhFhTiEhFhXiEjEhFhTiEiDhFiDhShFiBhRhFiDhShFhZhQhFiDhThFiBiDhFiDhShFhYhShFhTiGhFhShQhFiDhThFiChUhIhFiDhShFiChShFhViChFiDhShFiBiDiZiEhFiDhShFiBiBjMhFiDhThFiChRjLifhFiDhShFiBhWhFiDhThFiBiEhFiDhShFhZiFjFhFiDhShFiCiDhFhViFhFhSiGjNjNjNjEhShFiDhShFhZhZiSjXhFiDhThFhZhQhFiDhThFhZiGhFiDhThFhZhYhFiDhShFhZhVjDhFhViEhFiDhThFiBiFhFiDhShFiCiChFiDhThFiBhWhFiDhShFiBiGhFiDhThFhYhQhFhRhXhSiOhFhRiDhFhWhQjEjEhFiDhShFiBhUhFiDhShFhZhYhFiDhShFiCiFhFhXiChFiDhThFhZhWhFiDhShFiChQiYhFhSiDhFiDhShFhYiDhFiDhShFhYiDhFiDhShFhYiDhFhQhQhFiDhShFhZhUhFiDhThFhYhWhFiDhThFiChZhFhXiGhFiDhShFhYhRhFiDhThFhZhQjBhFhQhXhFiDhThFiBhVhFiDhThFhYhUiaiGhFiDhThFiBhUhFhRhUhFiDhShFiBhXhFiDhShFiBhWhFiDhShFiBhWhFiDhShFiBhWhFiDhShFhZhYhFiDhShFhZiChFiDhShFhZiChFiDhShFiBhThFiDhShFiBhRhFiDhShFiBhRhFiDhShFhYhRhFhSiCiXhFiDhShFiBiFhFiDhShFhZiDhFhWhQhFiDhShFhZhRiPhFiDhShFhYiGhFhSiCiXhFiDhShFiBiFhFiDhThFhZhQhFiDhThFhZhQhFiDhThFhZhQhFiDhThFhYhQhFiDhThFhZiDhFiDhThFhZiDhFiDhShFhZiDjMhFhRiDhJiEhFiDhThFiCiEhFiDhShFhZiGhFiDhShFhYhZhFiDhShFhYiFhFiDhThFhZhZhFhSiChFhSiChFiDhThFiBiDiHhFiDhShFiBhQhFhShVhFiDhShFhZiGhFiDhThFhYiGhFiDhThFiCiGhFhSiDhFiDhShFhZhXhFiDhThFhYiChFhRhVhFiDhShFiChXhFhRhXjIjIjIhYhFhRhVhFhRhXhFiDhThFiBiGiJhRhShSiCiHiHhFhQhXhFiDhThFiBhZjUhFiDhShFhZiBhFhWhQhQhIhFiDhThFhZhTjMhFiDhThFiCiFiUhFiDhThFiChYhFhTiEhFiDhThFhYhTjehFiDhThFiBiFhFiDhShFhYhVhFhTiGhFhQhTifhFiDhThFhYiFhFiDhThFhYiGhFiDhThFhYiGhFiDhThFiChThFiDhThFiChQhFiDhThFiBhRiDhFhQiDhFiDhThFhYhThIhFiDhShFhYiEhFhRhThFhXiGhFiDhThFiBhRhFiDhShFhZhRjRhFiDhThFiCiFhFiDhShFhYhWjBhFiDhThFiChQhFiDhThFiChQhFiDhThFiBhRiDjJhFiDhShFhYiDhFhXiGhFiDhShFhYhZhFiDhShFiBhYjXiZhFiDhThFiChWhFiDhThFhYiChXiMhFhShShFiDhShFhZhShFiDhShFiBiGhFiDhThFhZiGhFiDhShFhYiDhFiDhThFhYhXhFiDhThFiBhThOhFiDhShFiChThFiDhThFhZhZhFiDhShFhYiDhFiDhThFhYhXhFiDhThFiBhThFiDhShFiBhRhFiDhShFiCiChFiDhShFiCiChFiDhShFhZiChFiDhShFiChZhFiDhShFiChZhFiDhShFiChZiTiZhFiDhShFiChZhFhTiFhOiaiaiahFiDhShFiChYjWiNhFiDhShFhYhUhFiDhShFhYiBhFiDhShFhYiFhFiDhShFhYiGhFiDhShFhYiGhThFhTiFhFhTiFhFhQiFhFiDhThFiChQhFhRhQhFiDhShFhZhRhFiDhThFhYiFhFiDhThFiCiDhFhXiGhFhXiChFiDhThFhZiEjXiQjShFiDhThFiBhWhFhShUjChFiDhShFiBhZhFiDhThFiBiDhFiDhShFhZiEiEhFhShSjBiViVhFhRhVhFhViEhFiDhThFhZhXhFiDhThFiBhZhFiDhThFiBiEhFiDhThFiBiEhFhShVhFhRhShFiDhShFhYhZhFiDhShFiCiDhFiDhShFhZhQhFiDhShFhYhShFiDhShFiChVhFiDhShFiChUhFiDhShFiChUjQhFiDhThFiCiEhFiDhThFiCiBjViMhFhShWhFhRhThFiDhShFhYiGhFhRiFhFhTiEhFhShShFhRhYhFhQiDjChFhRhYiGhFhQiBhFiDhThFiChYhFhQhThFiDhThFiChQifhFiDhThFiCiChFiDhThFhZiEhFhXiChFiDhShFhZhYiMhFiDhThFhZhWhFiDhShFiCiChFhQhQhFiDhShFhYhWjBhFiDhThFiCiDhFhShShFiDhShFhZhZiMhFhShShFhQhVhFhQiChFhQhUhFhQhShFhSiDhOhOhFiDhShFhZiFiahFhShQiJhVjYhFhTiDhFhRiFhFiDhShFiBiFhFhViEhFiDhShFiCiChFiDhShFhYhWhFiDhThFhYhZjEjCjSjShFiDhShFiChShUhFiDhThFiChZhFiDhThFiCiEhFhQiGhFiDhThFiBiDhRiOhFiDhShFhZhVjShFiDhThFhZhYhFiDhShFiChUhFiDhThFhZiGiRhFiDhThFhYhQhFiDhShFhZiDhFiDhThFhYiGhFiDhThFiBhXhFiDhShFiBiGhFhShWhFhRhShFhQhZhFiDhThFhYiDjGhThFiDhShFiCiBhFiDhShFiBiFhFiDhThFhZhThFiDhThFhZiEhFiDhThFhZiEhFiDhThFiCiEhFiDhThFhYhShFhQiDhFiDhThFiCiBhFhShThFhShThFhShThFiDhShFiCiDhFiDhThFiChRhFiDhThFhYhWhFhRiChFhQhQhFiDhThFhYhVhFhRhWiViYhFiDhShFiChZhFiDhThFiChZjDhFiDhThFiBhRjXhFhShQhFiDhShFhZhVhFhShUhFiDhShFhZhUhFiDhShFhYiGhFhQhShFiDhThFiBhUhFiDhThFiChThFiDhThFiChZhFiDhShFiBiChFiDhThFhZhShFiDhThFhYiGhFhShTjHiJhFiDhShFiChXhFiDhThFhZiCiNhFhShUhFhRhShZhFiDhShFhZhVhFiDhShFiBhVhFiDhThFiCiGhFiDhShFhYhThFiDhShFiChQiYhFhSiDhFhViDhFiDhShFiCiEjahFiDhShFiChVhFiDhThFiBhYhFhShWhFhRiFhFhRiGhFhRiGhFhSiGjNiRiShFiDhShFiBhYiDhFiDhShFhYhVhFhTiBiWhFhShShFiDhShFhZhWhFiDhShFhYhRhFiDhThFhYhYiShFiDhThFhYiGhFhRiBhFiDhShFhYhWhFiDhThFiChRhFiDhThFiBhWhFiDhThFiBhShFiDhThFiBhShFiDhShFiBhShVhFiDhShFhZhXhFiDhThFhYiChFiDhShFiBhRjJhFhRiBhFiDhShFiCiBhFiDhShFiBiFhFiDhThFiBhThFiDhThFiChXhFiDhThFiCiCiJhFiDhShFiBhViShFiDhShFiBhVhFiDhShFiBiChBhFiDhShFiBhXhFiDhShFhYiFhFiDhThFhZhXhFiDhThFiBiChFiDhThFiBhVhFiDhThFhZiEjXhFiDhThFhZiGhFiDhShFiBhVhFiDhShFiBhVhFiDhShFiBhVhFiDhShFiBhVjIhFhRiFhFiDhShFhYiDhFiDhShFhYiGhFiDhShFhYiGhFiDhShFhZhXhFiDhShFhYiFiRhFiDhShFhYhXhFhRhWhFhQiBhKhFhRhTiLhShFiDhShFhYiBiYhFiDhThFhYhVhFiDhThFiBiFhFiDhShFhYiChFiDhThFhYhXhFiDhThFiBhThFiDhShFiBiFjUhFhTiBhFhViEhFhRiDhFiDhThFhYhXhFiDhShFiCiBhFiDhShFiCiBhFiDhShFiCiBhFiDhShFhYiBhFiDhShFhYiFhFiDhShFiChThFiDhThFhZhThFhQhYhFhViEhFiDhShFhZhShYhFhRiDhFhQiFhOifhFiDhShFiCiFhFiDhThFhYiDhFiDhThFiChQhFiDhThFiChQhQhFiDhShFiBiBhFiDhShFiBiBhShXhXiHhQhFhRhYjEjGjGhFhQhWhFiDhThFhYhUhFiDhShFiBiDjXhFiDhShFiBhYhRjKhXhFiDhThFhZhVjOhFiDhShFiBiGjShFhRhXhRiThFhTiBhFiDhThFhZhXhFiDhThFhZhWhFiDhThFhZhWhFhQhShFiDhShFiChRiYhFiDhShFhYiDhFiDhThFhYiEhFiDhThFhYiEhFiDhThFhYiEhFiDhThFiBhShFiDhShFhZhWhFhShWhFhXiEhFhXiEhFhXiEhUhWhWhFiDhShFhZhSiKhFiDhShFiBhVjKhFiDhShFhZiBhFiDhShFiBhXhFiDhShFiBhYjJhFhRiBhFiDhShFiBiGhFiDhShFiCiGhFiDhThFiCiFhFhTiBhFhShThFhShThFhShTjIhFiDhShFhZiBiGhFhShWhFiDhShFhZhThFiDhThFiBhRhFiDhShFiBhXhFiDhShFhZiGjehKhVhYhFiDhShFiCiGiEhFiDhShFhZhYhFhQhXhFiDhThFiCiChFiDhThFhYiFjahFhXiCjRhFiDhShFhZhUhFiDhShFhYiEhFhXiChFhShWhFhRhRifhFiDhThFiBhWhFiDhThFhZhZhFhXiDhFhTiFhFiDhThFiCiGjShFhSiDhFhRhWhFiDhShFiChThFhShWhFiDhShFhZhTiJhFhQiDhFiDhThFhYhThFhUhQhFiDhShFhYhWhFiDhShFhYhZhFiDhThFiChXhFiDhThFiChXhFiDhThFiChXhFiDhThFiBhTjQhYhFiDhThFhYhYjGhFiDhShFiChThHhFhTiBjLjahFhTiDhFhRiFhFhViFhFhXiEhFiDhThFiChViVhFiDhThFhZiFjahFiDhThFiBiChNiaiaiahFiDhThFhYhYhFiDhThFiBhXhFiDhThFiChThFhTiDjehFiDhThFiCiDhFiDhShFhZhYhFhWhQhQhFiDhThFhYhYhFiDhThFiChUhFiDhThFiChUhUhFiDhThFiChZhFhXiDhFhTiFhFiDhShFhYhVjIiJhFhXiGjEhFhRiGhFhTiChFiDhThFiBiBhFhShQhFiDhShFhYiFjLhFiDhShFiChThFiDhShFiChRjDhFiDhThFhZiGhFhTiGjLhFhTiGhFiDhThFhYiBhFiDhThFiBiEhFiDhShFhZiGhFhQhVhFhShShFhSiChFiDhShFiChVjEhFiDhThFiCiGhFhSiDjZhFiDhThFiChZhFhRhXhFiDhThFiBiDhFiDhShFiChXhFhXiGiWhFhQhVhFhTiDjXhFhTiChFiDhShFiChTjNjOjOhFiDhShFiChShFiDhShFiChVhFiDhShFiChVhFiDhShFhYhVhFiDhThFhZhZjMhFiDhShFiBiFhFiDhThFhYiEhFiDhThFhYiFjMhFhRhVhFiDhThFiChQhFiDhShFiBiGhFhTiEhFiDhThFiCiGhKhFiDhThFiBhQhFhShUhFiDhThFhYhUhFiDhShFhZhSiUhFiDhShFiChVhFiDhShFhZiChFiDhShFiBhUhFiDhShFiBiBhFiDhShFiBiBhIhFiDhShFhYiBjShFiDhShFhZhYhFiDhThFhZiEhFhShUiLhFiDhThFhZiGiVhFiDhThFiCiEjOhFiDhShFhZhShFhRhVjQhFiDhShFhZhSjChFiDhShFhZhViShFiDhThFhYiEhFhTiFhFiDhShFiBhVhFhQhXjRhFiDhShFiChUhFhXiEiKhFiDhShFiBiChFiDhShFiBhQiWhFiDhShFhZiChFiDhShFiCiBiOhFhRhUjehFhXiGhFiDhThFiBhRjZhFiDhThFhZhZhFhQhRhFiDhShFiChXhFhQiBhFiDhThFiCiFhFhRiGjRifhFiDhShFhZhYiUhFiDhThFhYhZjUiThFhQiDhFhQhQhFhQhQhFhQhQhFhQhQiJiFiOiEhFiDhShFiBiFiChFhWhQhFiDhShFhYhS0DzABByB')
var image1 = group1.add("image", undefined, File.decode(image1_imgString), {name: "image1"});
var statictext2 = group1.add("statictext", undefined, undefined, {name: "statictext2"});
statictext2.text = "0º";
var group2 = dlg.add("group", undefined, {name: "group2"});
group2.orientation = "row";
var slider1 = group2.add("slider", undefined, undefined, undefined, undefined, {name: "slider1"});
slider1.minvalue = 0;
slider1.maxvalue = 360;
slider1.value = 0;
slider1.onChanging = function(){
statictext2.text = this.value.toFixed(0)+"º";
//alert ("Rotate the image1 image String element");
};
slider1.onChange= function () {
alert ("Rotate the image1 image String element");
}
dlg.show();
If you don’t mind testing again, does this work without the flickering?
// dialog test;
// 2021, use it at your own risk;
var dlg = new Window('dialog', "test", [500,300,920,620]);
//////////////////////////////
// number;
dlg.number = dlg.add('panel', [15,15,405,200], 'test');
dlg.number.slider = dlg.number.add('slider', [12,45,372,55]);
dlg.number.slider.minvalue = 0;
dlg.number.slider.maxvalue = 360;
dlg.number.slider.value = 0;
dlg.number.onDraw = drawCircle;
dlg.number.slider.onChanging =
...
Copy link to clipboard
Copied
Have you found »JavaScript Tools Guide CC.pdf« (or »JavaScript Tools Guide CS6.pdf« etc.)?
Copy link to clipboard
Copied
This is a basic sample. Have fun with it..
#target photoshop
var MyWindow = new Window('dialog', 'Rotate Canvas', undefined, {closeButton:true}); //dialog window required for photoshop
function createWindow(){
try{
var docRef = activeDocument;
MyWindow.Grp0 = MyWindow.add('group', undefined, '');
MyWindow.Grp0.orientation = 'column';
MyWindow.Grp0.alignChildren = ['fill', 'top'];
MyWindow.Grp0.margins = [5, 5, 5, 10];
MyWindow.Grp0.slider1 = MyWindow.Grp0.add('slider', undefined);
MyWindow.Grp0.slider1.value = '0';
MyWindow.Grp0.slider1.minvalue = '-180';
MyWindow.Grp0.slider1.maxvalue = '180';
MyWindow.Grp0.txt = MyWindow.Grp0.add('statictext', undefined, '0');
MyWindow.Grp0.slider1.onChanging = function(){
try{
MyWindow.Grp0.txt.text = Math.round(MyWindow.Grp0.slider1.value);
}
catch(e){
alert(e + ' ' + e.line);
}
}
MyWindow.Grp0.slider1.onChange = function(){
try{
MyWindow.Grp0.txt.text = Math.round(MyWindow.Grp0.slider1.value);
docRef.rotateCanvas(MyWindow.Grp0.slider1.value);
refresh();
}
catch(e){
alert(e + ' ' + e.line);
}
}
MyWindow.layout.layout(true);
MyWindow.show();
MyWindow.active = true;
}
catch(e){
alert(e + ' ' + e.line);
}
}
createWindow();
Copy link to clipboard
Copied
I think the OP might have been referring to an image in the UI window.
Copy link to clipboard
Copied
Ah well then, no. The only way I can think would be to write the image as a smart object to /tmp and have Photoshop open and rotate it so it was updated in real time. Don't know if that would even work.
Copy link to clipboard
Copied
Hi @Lumigraphics, As @c.pfaffenbichler mentioned, I need a graphical representation of the slider-controlled angle value directly in the UI.
A solution for the moment was to create a .ttf font from 0, with characters that match a range of every 5 angles. Don't be too satisfied with the result.
Result!
video.mp4
Script with font.ttf:
Script.rar
Note!
To work it is necessary to install the font.
var dlg = new Window("dialog");
dlg.text = "Rotate layer";
dlg.orientation = "column";
var group1 = dlg.add("group", undefined, {name: "group1"});
group1.orientation = "row";
var statictext1 = group1.add("statictext", undefined, undefined, {name: "statictext1"});
statictext1.text = "Angle";
b1 = group1.add("statictext", undefined); b1.text="0"; b1.size = [85,85];
b1.graphics.font = ScriptUI.newFont("PSfxAngle", 80);
b1.graphics.foregroundColor = b1.graphics.newPen (b1.graphics.PenType.SOLID_COLOR, [0.7215686274509804, 0.8823529411764706, 0.9411764705882353], 1);
var statictext2 = group1.add("statictext", undefined, undefined, {name: "statictext2"});
statictext2.text = "0";
var group2 = dlg.add("group", undefined, {name: "group2"});
group2.orientation = "row";
var slider1 = group2.add("slider", undefined, undefined, undefined, undefined, {name: "slider1"});
slider1.minvalue = 0;
slider1.maxvalue = 360;
slider1.value = 0;
slider1.onChanging = function(){
graficCAngle(slider1, b1);
statictext2.text = this.value.toFixed(0)+"º";
//b1.text = slider1.value.toFixed(0)+"º";
//alert ("Rotate the image1 image String element");
};
slider1.onChange= function () {
}
dlg.show();
function graficCAngle(s,t){
if(s.value>=0 &&s.value<5 ){t.text = "0"}
else if(s.value>=5 &&s.value<10 ){t.text = "1"}
else if(s.value>=10 &&s.value<15 ){t.text = "2"}
else if(s.value>=15 &&s.value<20 ){t.text = "3"}
else if(s.value>=20 &&s.value<25 ){t.text = "4"}
else if(s.value>=25 &&s.value<30 ){t.text = "5"}
else if(s.value>=30 &&s.value<35 ){t.text = "6"}
else if(s.value>=35 &&s.value<40 ){t.text = "7"}
else if(s.value>=40 &&s.value<45 ){t.text = "8"}
else if(s.value>=45 &&s.value<50 ){t.text = "9"}
else if(s.value>=50 &&s.value<55 ){t.text = ":"}
else if(s.value>=55 &&s.value<60 ){t.text = ";"}
else if(s.value>=60 &&s.value<65 ){t.text = "<"}
else if(s.value>=65 &&s.value<70 ){t.text = "="}
else if(s.value>=70 &&s.value<75 ){t.text = ">"}
else if(s.value>=75 &&s.value<80 ){t.text = "?"}
else if(s.value>=80 &&s.value<85 ){t.text = "@"}
else if(s.value>=85 &&s.value<90 ){t.text = "A"}
else if(s.value>=90 &&s.value<95 ){t.text = "B"}
else if(s.value>=95 &&s.value<100){t.text = "C"}
else if(s.value>=100&&s.value<105 ){t.text = "D"}
else if(s.value>=105&&s.value<110 ){t.text = "E"}
else if(s.value>=110&&s.value<115 ){t.text = "F"}
else if(s.value>=115&&s.value<120 ){t.text = "G"}
else if(s.value>=120&&s.value<125 ){t.text = "H"}
else if(s.value>=125&&s.value<130 ){t.text = "I"}
else if(s.value>=130&&s.value<135 ){t.text = "J"}
else if(s.value>=135&&s.value<140 ){t.text = "K"}
else if(s.value>=140&&s.value<145 ){t.text = "L"}
else if(s.value>=145&&s.value<150 ){t.text = "M"}
else if(s.value>=150&&s.value<155 ){t.text = "N"}
else if(s.value>=155&&s.value<160 ){t.text = "O"}
else if(s.value>=160&&s.value<165 ){t.text = "P"}
else if(s.value>=165&&s.value<170 ){t.text = "Q"}
else if(s.value>=170&&s.value<175 ){t.text = "R"}
else if(s.value>=175&&s.value<180 ){t.text = "S"}
else if(s.value>=180&&s.value<185 ){t.text = "T"}
else if(s.value>=185&&s.value<190 ){t.text = "U"}
else if(s.value>=190&&s.value<195 ){t.text = "V"}
else if(s.value>=195&&s.value<200 ){t.text = "W"}
else if(s.value>=200&&s.value<205 ){t.text = "X"}
else if(s.value>=205&&s.value<210 ){t.text = "Y"}
else if(s.value>=210&&s.value<215 ){t.text = "Z"}
else if(s.value>=215&&s.value<220 ){t.text = "["}
else if(s.value>=220&&s.value<225 ){t.text = "y"}
else if(s.value>=225&&s.value<230 ){t.text = "]"}
else if(s.value>=230&&s.value<235 ){t.text = "^"}
else if(s.value>=235&&s.value<240 ){t.text = "_"}
else if(s.value>=240&&s.value<245 ){t.text = "`"}
else if(s.value>=245&&s.value<250 ){t.text = "a"}
else if(s.value>=250&&s.value<255 ){t.text = "b"}
else if(s.value>=255&&s.value<260 ){t.text = "c"}
else if(s.value>=260&&s.value<265 ){t.text = "d"}
else if(s.value>=265&&s.value<270 ){t.text = "e"}
else if(s.value>=270&&s.value<275 ){t.text = "f"}
else if(s.value>=275&&s.value<280 ){t.text = "g"}
else if(s.value>=280&&s.value<285 ){t.text = "h"}
else if(s.value>=285&&s.value<290 ){t.text = "i"}
else if(s.value>=290&&s.value<295 ){t.text = "j"}
else if(s.value>=295&&s.value<300 ){t.text = "k"}
else if(s.value>=300&&s.value<305 ){t.text = "l"}
else if(s.value>=305&&s.value<310 ){t.text = "m"}
else if(s.value>=310&&s.value<315 ){t.text = "n"}
else if(s.value>=315&&s.value<320 ){t.text = "o"}
else if(s.value>=320&&s.value<325 ){t.text = "p"}
else if(s.value>=325&&s.value<330 ){t.text = "q"}
else if(s.value>=330&&s.value<335 ){t.text = "r"}
else if(s.value>=335&&s.value<340 ){t.text = "s"}
else if(s.value>=340&&s.value<345 ){t.text = "t"}
else if(s.value>=345&&s.value<350 ){t.text = "u"}
else if(s.value>=350&&s.value<355 ){t.text = "v"}
else if(s.value>=355&&s.value<360 ){t.text = "w"}
else if(s.value>=360 ){t.text = "x"}
}
Copy link to clipboard
Copied
Create 360 images in a group in stack mode. Show the desired image depending on the state of the slider. I will not even try because it is time consuming, stupid, and does not affect the result of the final work, which is not a "beautiful" interface.
Copy link to clipboard
Copied
@r-bin Thank you, you're one of the most renowned users of this community and I'm very grateful for your suggestion, I think images would actually overwhelm performance, so I'll even opt for the font.ttf string that I created to simulate the real-time rotation, I'll just have the trouble to install the font.ttf.
@r-bin would you know any jsx to install font.ttf in Photoshop?
Thanks!
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Yes! Photoshop recognizes sources from this directory however
My problem is that they never recognize fonts added in this folder when using in UI:
t = group1.add("statictext", undefined); t.text="0"; t.size = [85.85];
t.graphics.font = ScriptUI.newFont("PSfxAngle", 80);
Copy link to clipboard
Copied
UPD.
There is also a variant to draw the control yourself. Here on the forum there were options for how to use the drawn control elements in the interface. But I never used it. All information is also in the Tools Guide.
Copy link to clipboard
Copied
Interesting! Too bad you never tested or used it, it would be interesting to see an example here.
Copy link to clipboard
Copied
Something like this workaround might also work.
// dialog test;
// 2021, use it at your own risk;
var dlg = new Window('dialog', "test", [500,300,920,620]);
//////////////////////////////
// number;
dlg.number = dlg.add('panel', [15,15,405,200], 'test');
dlg.number.slider = dlg.number.add('slider', [12,45,372,55]);
dlg.number.slider.minvalue = 0;
dlg.number.slider.maxvalue = 360;
dlg.number.slider.value = 0;
dlg.number.onDraw = drawCircle;
dlg.number.slider.onChange = function () {
dlg.numberText.number.text = this.value;
};
// number;
dlg.numberText = dlg.add('panel', [312,245,405,300], "");
dlg.numberText.number = dlg.numberText.add('edittext', [12,12,80,30]);
dlg.numberText.number.text = dlg.number.slider.value;
//////////////////////////////
dlg.numberText.number.onChange = function () {
while (this.text.indexOf(",") != -1) {this.text = this.text.replace(",", ".")};
while (this.text.indexOf(".") != this.text.lastIndexOf(".")) {this.text = this.text.replace(".", "")};
// checking if entry is numeric, thanks to xbytor;
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
if (this.text == "") {this.text = 0};
while (Number (this.text) > 360) {this.text = 360};
while (Number (this.text) < 0) {this.text = 0};
var theNumber = Number(dlg.numberText.number.text);
dlg.number.slider.value = theNumber;
};
//////////////////////////////
// build- and cancel-button;
dlg.cancelOk = dlg.add('panel', [12,245,308,300], "");
dlg.cancelOk.buildBtn = dlg.cancelOk.add('button', [10,10,141,40], 'OK', {name:'ok'});
dlg.cancelOk.cancelBtn = dlg.cancelOk.add('button', [149,10,280,40], 'Cancel', {name:'cancel'});
dlg.center();
var myReturn = dlg.show ();
if (myReturn == true) {
alert (dlg.numberText.number.text)
};
////// draw the circle //////
function drawCircle () {
var g = dlg.number.graphics;
g.preferredSize=[200,200];
g.ellipsePath(2, 80, 100, 100);
g.strokePath(g.newPen(g.PenType.SOLID_COLOR, [0, 0, 0], 2));
g.newPath();
g.moveTo (52,130);
var theAngle = dlg.number.slider.value;
g.lineTo (52 + (Math.cos(radiansOf (theAngle))*50),130 + (Math.sin(radiansOf (theAngle))*50));
g.strokePath(g.newPen(g.PenType.SOLID_COLOR, [0, 0, 0], 2));
// dlg.update();
dlg.number.hide();
dlg.number.show();
};
////// radians //////
function radiansOf (theAngle) {
return theAngle * Math.PI / 180
};
Copy link to clipboard
Copied
It works in CC 2021 on Windows 10 but the circle flickers all the time, also when not touched.
Copy link to clipboard
Copied
If you don’t mind testing again, does this work without the flickering?
// dialog test;
// 2021, use it at your own risk;
var dlg = new Window('dialog', "test", [500,300,920,620]);
//////////////////////////////
// number;
dlg.number = dlg.add('panel', [15,15,405,200], 'test');
dlg.number.slider = dlg.number.add('slider', [12,45,372,55]);
dlg.number.slider.minvalue = 0;
dlg.number.slider.maxvalue = 360;
dlg.number.slider.value = 0;
dlg.number.onDraw = drawCircle;
dlg.number.slider.onChanging = function () {
dlg.numberText.number.text = this.value;
dlg.number.hide();
dlg.number.show();
};
// number;
dlg.numberText = dlg.add('panel', [312,245,405,300], "");
dlg.numberText.number = dlg.numberText.add('edittext', [12,12,80,30]);
dlg.numberText.number.text = dlg.number.slider.value;
//////////////////////////////
dlg.numberText.number.onChange = function () {
while (this.text.indexOf(",") != -1) {this.text = this.text.replace(",", ".")};
while (this.text.indexOf(".") != this.text.lastIndexOf(".")) {this.text = this.text.replace(".", "")};
// checking if entry is numeric, thanks to xbytor;
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
if (this.text == "") {this.text = 0};
while (Number (this.text) > 360) {this.text = 360};
while (Number (this.text) < 0) {this.text = 0};
var theNumber = Number(dlg.numberText.number.text);
dlg.number.slider.value = theNumber;
dlg.number.hide();
dlg.number.show();
};
//////////////////////////////
// build- and cancel-button;
dlg.cancelOk = dlg.add('panel', [12,245,308,300], "");
dlg.cancelOk.buildBtn = dlg.cancelOk.add('button', [10,10,141,40], 'OK', {name:'ok'});
dlg.cancelOk.cancelBtn = dlg.cancelOk.add('button', [149,10,280,40], 'Cancel', {name:'cancel'});
dlg.center();
var myReturn = dlg.show ();
if (myReturn == true) {
alert (dlg.numberText.number.text)
};
////// draw the circle //////
function drawCircle () {
var g = dlg.number.graphics;
g.preferredSize=[200,200];
g.ellipsePath(2, 80, 100, 100);
g.strokePath(g.newPen(g.PenType.SOLID_COLOR, [0, 0, 0], 2));
g.newPath();
g.moveTo (52,130);
var theAngle = dlg.number.slider.value;
g.lineTo (52 + (Math.cos(radiansOf (theAngle))*50),130 + (Math.sin(radiansOf (theAngle))*50));
g.strokePath(g.newPen(g.PenType.SOLID_COLOR, [0, 0, 0], 2));
};
////// radians //////
function radiansOf (theAngle) {
return theAngle * Math.PI / 180
};
Copy link to clipboard
Copied
Much better & satisfying. Now it flickers only when using the pointer every about 10 degrees.
Copy link to clipboard
Copied
Thanks for checking!
Copy link to clipboard
Copied
@c.pfaffenbichler interesting! Congratulations on the script. Thanks for sharing
I will study your script.
I had already redone the font.ttf and I'm used it using this improvisation still.
Download link if anyone is interested in font.ttf and my script:
https://drive.google.com/file/d/1AH8zLXl7ww4EfsU7drnfBhuBiXmcy0n8/view?usp=sharing
https://drive.google.com/file/d/12xAh04qVq-7K9av7JBk1kn1bGENvZVEn/view?usp=sharing
It's just an improvisation but to break a branch:
Copy link to clipboard
Copied
On windows it not only flickers the dial image the degree field does not update unless you click on the field it also through an error if you hit enter or click OK. alert (dlg.number.number.text)
Copy link to clipboard
Copied
The line should have been
alert (dlg.numberText.number.text)
Thanks for checking, both of you.
The permanent flickering does not happen here (on Mac), but I guess it means that the thing is more complex than I thought …