PaintTransitionMaxPasses example for Delphi
This example includes two procedures. First, a button click starts a multi-pass paint effect; then LEAD's PaintNotification event changes the direction of the effect on each pass.
var
RasterIO:LEADRasterIO;
begin
RasterIO:= CreateComObject (CLASS_LEADRasterIO) as LEADRasterIO;
LEADRasterView1.AutoRepaint := False;
LEADRasterView1.PaintEffect := EFX_EFFECT_WIPE_RECTANGLE_IN; //Set the Effect
LEADRasterView1.EffectDelay := 100;
LEADRasterView1.PaintTransitionMaxPasses := 5; //5 total passes
LEADRasterView1.PaintTransitionPass := 1; //Start with pass number 1
LEADRasterView1.PaintNotificationDelay := 200 ;//Delay 200 milliseconds between passes
RasterIO.Load (LEADRasterView1.Raster, 'v:\images\240bit.bmp', 0, 0, 1 );//Load the image
LEADRasterView1.AutoRepaint := True;
end;
procedure TForm1.LEADRasterView1PaintNotification (Sender: TObject; uPass,
uType: Smallint);
begin
//If the first pass is complete
if ((uType = EFX_NOTIFY_IMAGE) And (uPass > 0)) then
begin
//Toggle the effect from left_to_right to right_to_left
if LEADRasterView1.TransitionEffect = EFX_EFFECT_WIPE_RECTANGLE_IN Then
LEADRasterView1.TransitionEffect:= EFX_EFFECT_WIPE_RECTANGLE_OUT
else
LEADRasterView1.TransitionEffect:= EFX_EFFECT_WIPE_RECTANGLE_IN
end;
end;