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 GetHolidays(Sender: TObject; AMonth, AYear: Integer; // wp
var Holidays: THolidays);
procedure PrepareCanvas(Sender: TObject; AYear, AMonth, ADay: Word;
AState: TCalCellStates; ACanvas: TCanvas);
procedure DrawCell(Sender: TObject; AYear, AMonth, ADay: Word;
AState: TCalCellStates; ARect: TRect; ACanvas: TCanvas;
procedure PrepareCanvas(Sender: TObject; ACanvas: TCanvas;
AYear, AMonth, ADay: Word; AState: TCalCellStates);
procedure DrawCell(Sender: TObject; ACanvas: TCanvas;
AYear, AMonth, ADay: Word; AState: TCalCellStates; var ARect: TRect;
var AContinueDrawing: Boolean);
end;
@ -316,8 +316,8 @@ begin
end;
end;
procedure TForm1.PrepareCanvas(Sender: TObject; AYear,AMonth,ADay: word;
AState: TCalCellStates; ACanvas: TCanvas);
procedure TForm1.PrepareCanvas(Sender: TObject; ACanvas: TCanvas;
AYear,AMonth,ADay: word; AState: TCalCellStates);
begin
if (ADay = 1) and not (csOtherMonth in AState) then
begin
@ -331,8 +331,8 @@ begin
end;
end;
procedure TForm1.DrawCell(Sender: TObject; AYear,AMonth,ADay: Word;
AState: TCalCellStates; ARect: TRect; ACanvas: TCanvas;
procedure TForm1.DrawCell(Sender: TObject; ACanvas: TCanvas;
AYear,AMonth,ADay: Word; AState: TCalCellStates; var ARect: TRect;
var AContinueDrawing: Boolean);
var
bmp: TBitmap;
@ -342,8 +342,10 @@ begin
ImageList1.GetBitmap(0, bmp);
ACanvas.Draw(ARect.Left, (ARect.Top + ARect.Bottom - bmp.Height) div 2, bmp);
inc(ARect.Left, bmp.Width + 2);
(*
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
*)
end;
end;

View File

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