Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
FreePascal / Lazarus
|
Re: Wie funktioniert das genau mit den backbuffer?
15. Aug 2004, 14:17
ich habes jetzt so gemacht, aber beim verschieben gibst probleme:
Delphi-Quellcode:
begin
// if altezeit+30 < timegettime then begin
if objIndex > -1 then begin
FZSpeicher.Canvas.Pen.Color:=Obj[objIndex].FColor;
FZSpeicher.Canvas.Pen.Style:=Obj[objIndex].PenStyle;
FZSpeicher.Canvas.Brush.Color:=Obj[objIndex].BColor;
FZSpeicher.Canvas.Brush.Style:=Obj[objIndex].BrushStyle;
end
else begin
FZSpeicher.Canvas.Pen.Color:=JvGammaPanel1.ForegroundColor;
FZSpeicher.Canvas.Brush.Color:=JvGammaPanel1.BackgroundColor;
end;
BitBlt(FZSpeicher.canvas.handle, 0, 0, FBackpuffer.width, FBackpuffer.height, FBackpuffer.canvas.handle, 0, 0, SRCCOPY);
with FZSpeicher.Canvas do begin
if typ = 0 then FZSpeicher.canvas.Rectangle(x1,y1,x2,y2);
if typ = 1 then FZSpeicher.canvas.Ellipse(x1,y1,x2,y2);
if typ = 2 then FZSpeicher.canvas.RoundRect(x1,y1,x2,y2,(x1 - x2) div 2,(y1 - y2) div 2);
if typ = 3 then begin
FZSpeicher.canvas.MoveTo(x1,y1);
FZSpeicher.canvas.LineTo(x2,y2);
end;
// end;
BitBlt(PaintBox1.canvas.handle, 0, 0, FBackpuffer.width, FBackpuffer.height, FZSpeicher.canvas.handle, 0, 0, SRCCOPY);
altezeit := timegettime;
end
[edit=Luckie]Tags korrigiert. Mfg, Luckie[/edit]
Michael Springwald MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
|
|
Zitat
|