А (не GUI) библиотека базовых утилит для Pascal (Delphi/Free Pascal/Lazarus).
class procedure dispatch_to_main_thread(const proc : TProcedure); overload;
class procedure dispatch_to_main_thread(const proc_method : TThreadMethod); overload;
Отправляет выполнение метода или процедурного вызова в основную очередь потока.
class procedure ensure_in_main_thread(const proc : TProcedure); overload;
class procedure ensure_in_main_thread(const proc_method : TThreadMethod); overload;
Обеспечивает выполнение метода или вызова процедуры в основном потоке. Если текущий поток является основным потоком, метод или процедура будут выполнены непосредственно без очередей.
procedure run(const proc : TProcedure; const after_ms : UInt64); overload;
procedure run(const proc_method : TThreadMethod; const after_ms : UInt64); overload;
Выполняет метод или процедуру в основном потоке после задержки (миллисекунд).
procedure cancel(); overload;
procedure cancel(const proc : TProcedure); overload;
procedure cancel(const proc_method : TThreadMethod); overload;
Отменяет выполнение указанного метода/процедуры или всех методов/процедур в очереди задержки.
procedure begin_disable();
procedure end_disable();
Временно не принимает какой -либо запрос на задержку между begin_disable() и end_disable() .
constructor Create(const control : TControl); reintroduce;
Параметр конструктора указывает элемент управления для выполнения анимации.
procedure add_size_animate(const w, h : Integer; const keep_center : Boolean; const duration : Cardinal);
procedure add_expand_to_left_animate(const w : Integer; const duration : Cardinal);
procedure add_move_animate(const x, y : Integer; const duration : Cardinal);
procedure add_change_animate(const x, y, w, h : Integer; const duration : Cardinal);
Добавьте эффекты анимации для каждого шага, поддерживая изменения в размере, расширение влево, движение и изменения (по размеру и положению).
procedure run(); overload;
procedure run(const progress_callback : TncAnimateProgressEvent); overload;
Начните выполнять анимацию.
procedure add_size_animate(const control : TControl; const w, h : Integer; const keep_center : Boolean; const duration : Cardinal);
procedure add_expand_to_left_animate(const control : TControl; const w : Integer; const duration : Cardinal);
procedure add_move_animate(const control : TControl; const x, y : Integer; const duration : Cardinal);
procedure add_change_animate(const control : TControl; const x, y, w, h : Integer; const duration : Cardinal);
Добавьте эффекты анимации, поддерживая изменения в размере, расширение влево, движение и изменения (по размеру и положению).
procedure add_alpha_animate(const form : TForm; const a : Integer; const duration : Cardinal);
Добавьте эффект анимации для изменения альфа -значения изменения.
procedure run(); overload;
procedure run(const progress_callback : TncAnimateProgressEvent); overload;
Начните выполнять анимацию.