Easing ist ja schön. Aber dafür direkt eine ganze Komponente bzw. gefühlt 20 Units, ich weiß nicht.
Bei dem Projekt handelt es sich nicht um eine Komponente, sondern um ein komplettes
GUI Framework. Die
Unit sollte nur ein Anstoß für dich sein, bzw. eine Quelle aus der du dir die mathematischen Berechnungen rauskopieren kannst.
Besonders
TDXInQuartEasingCurve
und
TDXOutQuartEasingCurve
sollten für dich interessant sein. Die Umsetzung ist denkbar einfach:
Delphi-Quellcode:
{ TDXInQuartEasingCurve }
function TDXInQuartEasingCurve.CalculateEasingCurve(TimePassed, Duration: DWord): Single;
var
P: Double;
begin
P := TimePassed / Duration;
Result := P * P * P * P;
end;
{ TDXOutQuartEasingCurve }
function TDXOutQuartEasingCurve.CalculateEasingCurve(TimePassed, Duration: DWord): Single;
var
P: Double;
begin
P := TimePassed / (Duration - 1);
Result := - (P * P * P * P) - 1;
end;