fixed MT render stopping and pausing bug,

some other changes
This commit is contained in:
zueuk
2006-03-08 14:21:36 +00:00
parent 163c30677e
commit 85bc00513e
14 changed files with 168 additions and 143 deletions

View File

@ -59,6 +59,8 @@ type
function GetRenderer: TBaseRenderer;
procedure Terminate;
procedure Suspend;
procedure Resume;
property OnProgress: TOnProgress
read FOnProgress
@ -167,6 +169,22 @@ begin
inherited Terminate;
end;
procedure TRenderThread.Suspend;
begin
if NrThreads > 1 then
if assigned(FRenderer) then FRenderer.Pause(true);
inherited;
end;
procedure TRenderThread.Resume;
begin
if NrThreads > 1 then
if assigned(FRenderer) then FRenderer.Pause(false);
inherited;
end;
///////////////////////////////////////////////////////////////////////////////
function TRenderThread.GetNrSlices: integer;
begin
@ -204,18 +222,18 @@ begin
FRenderer := nil;
end;
///////////////////////////////////////////////////////////////////////////////end.
///////////////////////////////////////////////////////////////////////////////
procedure TRenderThread.SetNrThreads(const Value: Integer);
begin
FNrThreads := Value;
end;
///////////////////////////////////////////////////////////////////////////////end.
///////////////////////////////////////////////////////////////////////////////
procedure TRenderThread.SaveImage(const FileName: String);
begin
if assigned(FRenderer) then
FRenderer.SaveImage(FileName);
end;
///////////////////////////////////////////////////////////////////////////////end.
///////////////////////////////////////////////////////////////////////////////
end.