• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Rotate image in dialog box

Engaged ,
Sep 27, 2021 Sep 27, 2021

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:

Untitled-2.jpg

Basic script:

Basic script.jsx

 

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();

 

TOPICS
Actions and scripting

Views

1.3K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Oct 11, 2021 Oct 11, 2021

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 = 
...

Votes

Translate

Translate
Adobe
Community Expert ,
Sep 29, 2021 Sep 29, 2021

Copy link to clipboard

Copied

Have you found »JavaScript Tools Guide CC.pdf« (or »JavaScript Tools Guide CS6.pdf« etc.)? 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 29, 2021 Sep 29, 2021

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();

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 29, 2021 Sep 29, 2021

Copy link to clipboard

Copied

I think the OP might have been referring to an image in the UI window. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 29, 2021 Sep 29, 2021

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Sep 29, 2021 Sep 29, 2021

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"}
}

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Sep 29, 2021 Sep 29, 2021

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Sep 29, 2021 Sep 29, 2021

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!

Capturar.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Sep 29, 2021 Sep 29, 2021

Copy link to clipboard

Copied

On Windows, just copy the font file to the "C:\Program Files\Common Files\Adobe\Fonts\" folder (or its subfolder). The font will be available in Photoshop.
 
P.S. Requires administrator rights.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Sep 29, 2021 Sep 29, 2021

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);

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Sep 29, 2021 Sep 29, 2021

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Sep 29, 2021 Sep 29, 2021

Copy link to clipboard

Copied

Interesting! Too bad you never tested or used it, it would be interesting to see an example here.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 11, 2021 Oct 11, 2021

Copy link to clipboard

Copied

Something like this workaround might also work. 

rotateGraphicInScriptUIDialogScr.gif

 

// 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
	};

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 11, 2021 Oct 11, 2021

Copy link to clipboard

Copied

It works in CC 2021 on Windows 10 but the circle flickers all the time, also when not touched.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 11, 2021 Oct 11, 2021

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
	};

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Oct 12, 2021 Oct 12, 2021

Copy link to clipboard

Copied

Much better & satisfying. Now it flickers only when using the pointer every about 10 degrees.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 12, 2021 Oct 12, 2021

Copy link to clipboard

Copied

Thanks for checking! 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Oct 13, 2021 Oct 13, 2021

Copy link to clipboard

Copied

LATEST

@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.

20211013_181907 (1).gif

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:

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 11, 2021 Oct 11, 2021

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)

image.png

JJMack

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 11, 2021 Oct 11, 2021

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 … 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines