CalLite: More logical order of parameters of OnDrawCell and OnHint events. ARect in OnDrawCell is a var parameter now.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5334 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2016-11-10 09:18:09 +00:00
parent 17d3179c3d
commit 0500280dad
2 changed files with 16 additions and 14 deletions

View File

@ -73,10 +73,10 @@ type
procedure GetHint(Sender: TObject; AYear, AMonth, ADay: Word; out AHintText: String); procedure GetHint(Sender: TObject; AYear, AMonth, ADay: Word; out AHintText: String);
procedure GetHolidays(Sender: TObject; AMonth, AYear: Integer; // wp procedure GetHolidays(Sender: TObject; AMonth, AYear: Integer; // wp
var Holidays: THolidays); var Holidays: THolidays);
procedure PrepareCanvas(Sender: TObject; AYear, AMonth, ADay: Word; procedure PrepareCanvas(Sender: TObject; ACanvas: TCanvas;
AState: TCalCellStates; ACanvas: TCanvas); AYear, AMonth, ADay: Word; AState: TCalCellStates);
procedure DrawCell(Sender: TObject; AYear, AMonth, ADay: Word; procedure DrawCell(Sender: TObject; ACanvas: TCanvas;
AState: TCalCellStates; ARect: TRect; ACanvas: TCanvas; AYear, AMonth, ADay: Word; AState: TCalCellStates; var ARect: TRect;
var AContinueDrawing: Boolean); var AContinueDrawing: Boolean);
end; end;
@ -316,8 +316,8 @@ begin
end; end;
end; end;
procedure TForm1.PrepareCanvas(Sender: TObject; AYear,AMonth,ADay: word; procedure TForm1.PrepareCanvas(Sender: TObject; ACanvas: TCanvas;
AState: TCalCellStates; ACanvas: TCanvas); AYear,AMonth,ADay: word; AState: TCalCellStates);
begin begin
if (ADay = 1) and not (csOtherMonth in AState) then if (ADay = 1) and not (csOtherMonth in AState) then
begin begin
@ -331,8 +331,8 @@ begin
end; end;
end; end;
procedure TForm1.DrawCell(Sender: TObject; AYear,AMonth,ADay: Word; procedure TForm1.DrawCell(Sender: TObject; ACanvas: TCanvas;
AState: TCalCellStates; ARect: TRect; ACanvas: TCanvas; AYear,AMonth,ADay: Word; AState: TCalCellStates; var ARect: TRect;
var AContinueDrawing: Boolean); var AContinueDrawing: Boolean);
var var
bmp: TBitmap; bmp: TBitmap;
@ -342,8 +342,10 @@ begin
ImageList1.GetBitmap(0, bmp); ImageList1.GetBitmap(0, bmp);
ACanvas.Draw(ARect.Left, (ARect.Top + ARect.Bottom - bmp.Height) div 2, bmp); ACanvas.Draw(ARect.Left, (ARect.Top + ARect.Bottom - bmp.Height) div 2, bmp);
inc(ARect.Left, bmp.Width + 2); inc(ARect.Left, bmp.Width + 2);
(*
ACanvas.TextOut(ARect.Left, (ARect.Top + ARect.Bottom - ACanvas.TextHeight('Tg')) div 2, intToStr(ADay)); ACanvas.TextOut(ARect.Left, (ARect.Top + ARect.Bottom - ACanvas.TextHeight('Tg')) div 2, intToStr(ADay));
AContinueDrawing := false; // Skips built-in painting of this day cell AContinueDrawing := false; // Skips built-in painting of this day cell
*)
end; end;
end; end;

View File

@ -103,11 +103,11 @@ type
TCalCellState = (csSelectedDay, csToday, csOtherMonth); TCalCellState = (csSelectedDay, csToday, csOtherMonth);
TCalCellStates = set of TCalCellState; TCalCellStates = set of TCalCellState;
TCalPrepareCanvasEvent = procedure (Sender: TObject; AYear, AMonth, ADay: Word; TCalPrepareCanvasEvent = procedure (Sender: TObject; ACanvas: TCanvas;
AState: TCalCellStates; ACanvas: TCanvas) of object; AYear, AMonth, ADay: Word; AState: TCalCellStates) of object;
TCalDrawCellEvent = procedure (Sender: TObject; AYear, AMonth, ADay: Word; TCalDrawCellEvent = procedure (Sender: TObject; ACanvas: TCanvas;
AState: TCalCellStates; ARect: TRect; ACanvas: TCanvas; AYear, AMonth, ADay: Word; AState: TCalCellStates; var ARect: TRect;
var AContinueDrawing: Boolean) of object; var AContinueDrawing: Boolean) of object;
TCalHintEvent = procedure (Sender: TObject; AYear, AMonth, ADay: Word; TCalHintEvent = procedure (Sender: TObject; AYear, AMonth, ADay: Word;
@ -614,12 +614,12 @@ begin
oldPen.Assign(FCanvas.Pen); oldPen.Assign(FCanvas.Pen);
oldBrush.Assign(FCanvas.Brush); oldBrush.Assign(FCanvas.Brush);
if Assigned(FOwner.FOnPrepareCanvas) then if Assigned(FOwner.FOnPrepareCanvas) then
FOwner.FOnPrepareCanvas(FOwner, y, m, d, state, FCanvas); FOwner.FOnPrepareCanvas(FOwner, FCanvas, y, m, d, state);
continueDrawing := true; continueDrawing := true;
if Assigned(FOwner.FOnDrawCell) then if Assigned(FOwner.FOnDrawCell) then
{ Custom-draw the cell } { Custom-draw the cell }
FOwner.FOnDrawCell(FOwner, y, m, d, state, rec, FCanvas, continueDrawing); FOwner.FOnDrawCell(FOwner, FCanvas, y, m, d, state, rec, continueDrawing);
if continueDrawing then if continueDrawing then
begin begin