You can try this construction, but small problem with alpha is here still... :cry: sorry
Code:
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
dd1.surface.fill(dd1.Surface.ColorMatch(clBlack));
dl1.Items.Find('krecci').StretchDraw(dd1.Surface, dd1.Surface.ClientRect, 0);
PrepareNewSurface;
dd1.ClearStack;
if doDraw.Checked then
//dd1.Surface.Draw( 0, 0, newsurface )
dd1.Surface.Draw(0, 0, newsurface.ClientRect, newsurface)
else if doBlend.Checked then begin
if dd1.Surface.Lock then begin
dd1.Surface.DrawAlpha(dd1.Surface.ClientRect, newSurface.ClientRect, newsurface, True, 128);
dd1.Surface.UnLock;
end;
end
else
dd1.Surface.BltFast(0, 0, dd1.surface.ClientRect, 0, newsurface);
//dd1.surface.canvas.release;
dd1.Flip;
end;
Bookmarks