Removes ADestPos from component drawing routines because it was not supported anyway and it would make the code too complex. People can use SetWindowOrg to get the same effect

git-svn-id: trunk@33867 -
This commit is contained in:
sekelsenmat 2011-11-30 10:25:04 +00:00
parent 173c85bd15
commit ec49388044
6 changed files with 81 additions and 81 deletions

View File

@ -22,7 +22,7 @@ type
// =================================== // ===================================
// Common Controls Tab // Common Controls Tab
// =================================== // ===================================
procedure DrawTrackBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawTrackBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDPositionedCStateEx); override; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); override;
end; end;
{ TCDButtonDrawerGrad = class(TCDButtonDrawer) { TCDButtonDrawerGrad = class(TCDButtonDrawer)
@ -119,7 +119,7 @@ begin
end; end;
end; end;
procedure TCDDrawerExtra1.DrawTrackBar(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerExtra1.DrawTrackBar(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDPositionedCStateEx);
var var
lDrawingBottom, StepsCount, i: Integer; lDrawingBottom, StepsCount, i: Integer;

View File

@ -31,7 +31,7 @@ type
// Standard Tab // Standard Tab
// =================================== // ===================================
// TCDButton // TCDButton
procedure DrawButton(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawButton(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDButtonStateEx); override; AState: TCDControlState; AStateEx: TCDButtonStateEx); override;
// TCDEdit // TCDEdit
procedure DrawEditFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawEditFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
@ -42,7 +42,7 @@ type
procedure DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// TCDGroupBox // TCDGroupBox
procedure DrawGroupBox(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawGroupBox(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// =================================== // ===================================
// Common Controls Tab // Common Controls Tab
@ -84,7 +84,7 @@ begin
ADest.Rectangle(Bounds(ADestPos.X, ADestPos.Y, ASize.cx, ASize.cy)); ADest.Rectangle(Bounds(ADestPos.X, ADestPos.Y, ASize.cx, ASize.cy));
end; end;
procedure TCDDrawerWinCE.DrawButton(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerWinCE.DrawButton(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDButtonStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDButtonStateEx);
var var
Str: string; Str: string;
@ -187,7 +187,7 @@ begin
end; end;
end; end;
procedure TCDDrawerWinCE.DrawGroupBox(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerWinCE.DrawGroupBox(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx);
var var
FCaptionMiddle: integer; FCaptionMiddle: integer;

View File

@ -38,7 +38,7 @@ type
// Standard Tab // Standard Tab
// =================================== // ===================================
// TCDButton // TCDButton
procedure DrawButton(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawButton(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDButtonStateEx); override; AState: TCDControlState; AStateEx: TCDButtonStateEx); override;
// TCDEdit // TCDEdit
procedure DrawEditFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawEditFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
@ -117,7 +117,7 @@ begin
ADest.Line(ADestPos.X+i, ADestPos.Y+4-i, ADestPos.X+i, ADestPos.Y+3+4-i); ADest.Line(ADestPos.X+i, ADestPos.Y+4-i, ADestPos.X+i, ADestPos.Y+3+4-i);
end; end;
procedure TCDDrawerWinXP.DrawButton(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerWinXP.DrawButton(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDButtonStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDButtonStateEx);
var var
Str: string; Str: string;

View File

@ -44,13 +44,13 @@ type
// Extra buttons drawing routines // Extra buttons drawing routines
procedure DrawSmallCloseButton(ADest: TCanvas; ADestPos: TPoint); override; procedure DrawSmallCloseButton(ADest: TCanvas; ADestPos: TPoint); override;
// TCDControl // TCDControl
procedure DrawControl(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawControl(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// =================================== // ===================================
// Standard Tab // Standard Tab
// =================================== // ===================================
// TCDButton // TCDButton
procedure DrawButton(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawButton(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDButtonStateEx); override; AState: TCDControlState; AStateEx: TCDButtonStateEx); override;
// TCDEdit // TCDEdit
procedure DrawEditBackground(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawEditBackground(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
@ -59,47 +59,47 @@ type
AState: TCDControlState; AStateEx: TCDEditStateEx); override; AState: TCDControlState; AStateEx: TCDEditStateEx); override;
procedure DrawCaret(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCaret(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDEditStateEx); override; AState: TCDControlState; AStateEx: TCDEditStateEx); override;
procedure DrawEdit(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawEdit(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDEditStateEx); override; AState: TCDControlState; AStateEx: TCDEditStateEx); override;
// TCDCheckBox // TCDCheckBox
procedure DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
procedure DrawCheckBox(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCheckBox(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// TCDRadioButton // TCDRadioButton
procedure DrawRadioButtonCircle(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawRadioButtonCircle(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
procedure DrawRadioButton(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawRadioButton(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// TCDScrollBar // TCDScrollBar
procedure DrawScrollBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawScrollBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDPositionedCStateEx); override; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); override;
// TCDGroupBox // TCDGroupBox
procedure DrawGroupBox(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawGroupBox(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// =================================== // ===================================
// Additional Tab // Additional Tab
// =================================== // ===================================
procedure DrawStaticText(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawStaticText(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); override; AState: TCDControlState; AStateEx: TCDControlStateEx); override;
// =================================== // ===================================
// Common Controls Tab // Common Controls Tab
// =================================== // ===================================
// TCDTrackBar // TCDTrackBar
procedure DrawTrackBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawTrackBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDPositionedCStateEx); override; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); override;
// TCDProgressBar // TCDProgressBar
procedure DrawProgressBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawProgressBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDProgressBarStateEx); override; AState: TCDControlState; AStateEx: TCDProgressBarStateEx); override;
// TCDListView // TCDListView
procedure DrawListView(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawListView(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDListViewStateEx); override; AState: TCDControlState; AStateEx: TCDListViewStateEx); override;
procedure DrawReportListView(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawReportListView(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDListViewStateEx); override; AState: TCDControlState; AStateEx: TCDListViewStateEx); override;
procedure DrawReportListViewItem(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawReportListViewItem(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
ACurItem: TCDListItems; AState: TCDControlState; AStateEx: TCDListViewStateEx); override; ACurItem: TCDListItems; AState: TCDControlState; AStateEx: TCDListViewStateEx); override;
// TCDCustomTabControl // TCDCustomTabControl
procedure DrawCTabControl(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCTabControl(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDCTabControlStateEx); override; AState: TCDControlState; AStateEx: TCDCTabControlStateEx); override;
procedure DrawCTabControlFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCTabControlFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDCTabControlStateEx); override; AState: TCDControlState; AStateEx: TCDCTabControlStateEx); override;
@ -498,7 +498,7 @@ begin
ADest.Pen.Width := 1; ADest.Pen.Width := 1;
end; end;
procedure TCDDrawerCommon.DrawControl(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawControl(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx);
var var
lColor: TColor; lColor: TColor;
@ -512,7 +512,7 @@ begin
ADest.FillRect(0, 0, ASize.cx, ASize.cy); ADest.FillRect(0, 0, ASize.cx, ASize.cy);
end; end;
procedure TCDDrawerCommon.DrawButton(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawButton(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDButtonStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDButtonStateEx);
var var
Str: string; Str: string;
@ -659,7 +659,7 @@ begin
ADest.Line(lCaretPixelPos, lTextTopSpacing, lCaretPixelPos, lTextTopSpacing+lCaptionHeight); ADest.Line(lCaretPixelPos, lTextTopSpacing, lCaretPixelPos, lTextTopSpacing+lCaptionHeight);
end; end;
procedure TCDDrawerCommon.DrawEdit(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawEdit(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDEditStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDEditStateEx);
var var
lVisibleText, lControlText: TCaption; lVisibleText, lControlText: TCaption;
@ -669,7 +669,7 @@ var
lTextLeftSpacing, lTextRightSpacing, lTextTopSpacing, lTextBottomSpacing: Integer; lTextLeftSpacing, lTextRightSpacing, lTextTopSpacing, lTextBottomSpacing: Integer;
begin begin
// Background // Background
DrawEditBackground(ADest, ADestPos, ASize, AState, AStateEx); DrawEditBackground(ADest, Point(0, 0), ASize, AState, AStateEx);
lControlText := AStateEx.Caption; lControlText := AStateEx.Caption;
lControlTextLen := UTF8Length(AStateEx.Caption); lControlTextLen := UTF8Length(AStateEx.Caption);
@ -728,10 +728,10 @@ begin
end; end;
// And the caret // And the caret
DrawCaret(ADest, ADestPos, ASize, AState, AStateEx); DrawCaret(ADest, Point(0, 0), ASize, AState, AStateEx);
// In the end the frame, because it must be on top of everything // In the end the frame, because it must be on top of everything
DrawEditFrame(ADest, ADestPos, ASize, AState, AStateEx); DrawEditFrame(ADest, Point(0, 0), ASize, AState, AStateEx);
end; end;
procedure TCDDrawerCommon.DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint;
@ -768,7 +768,7 @@ begin
end;} end;}
end; end;
procedure TCDDrawerCommon.DrawCheckBox(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawCheckBox(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx);
var var
lColor: TColor; lColor: TColor;
@ -784,7 +784,7 @@ begin
ADest.FillRect(0, 0, ASize.cx, ASize.cy); ADest.FillRect(0, 0, ASize.cx, ASize.cy);
// The checkbox item itself // The checkbox item itself
DrawCheckBoxSquare(ADest, ADestPos, ASize, AState, AStateEx); DrawCheckBoxSquare(ADest, Point(0, 0), ASize, AState, AStateEx);
// The Tickmark // The Tickmark
if csfOn in AState then if csfOn in AState then
@ -893,7 +893,7 @@ begin
end; end;
end; end;
procedure TCDDrawerCommon.DrawRadioButton(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawRadioButton(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx);
var var
lColor: TColor; lColor: TColor;
@ -909,7 +909,7 @@ begin
ADest.FillRect(0, 0, ASize.cx, ASize.cy); ADest.FillRect(0, 0, ASize.cx, ASize.cy);
// The radiobutton circle itself // The radiobutton circle itself
DrawRadioButtonCircle(ADest, ADestPos, ASize, AState, AStateEx); DrawRadioButtonCircle(ADest, Point(0, 0), ASize, AState, AStateEx);
// The text selection // The text selection
if csfHasFocus in AState then if csfHasFocus in AState then
@ -922,7 +922,7 @@ begin
ADest.TextOut(lCircleHeight+5, 0, AStateEx.Caption); ADest.TextOut(lCircleHeight+5, 0, AStateEx.Caption);
end; end;
procedure TCDDrawerCommon.DrawScrollBar(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawScrollBar(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDPositionedCStateEx);
var var
lPos: TPoint; lPos: TPoint;
@ -937,7 +937,7 @@ begin
ADest.Rectangle(0, 0, ASize.cx, ASize.cy); ADest.Rectangle(0, 0, ASize.cx, ASize.cy);
// Left/Top button // Left/Top button
lPos := ADestPos; lPos := Point(0, 0);
if csfHorizontal in AState then if csfHorizontal in AState then
lSize := Size(GetMeasures(TCDSCROLLBAR_BUTTON_WIDTH), ASize.CY) lSize := Size(GetMeasures(TCDSCROLLBAR_BUTTON_WIDTH), ASize.CY)
@ -1010,7 +1010,7 @@ begin
DrawRaisedFrame(ADest, lPos, lSize); DrawRaisedFrame(ADest, lPos, lSize);
end; end;
procedure TCDDrawerCommon.DrawGroupBox(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawGroupBox(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx);
var var
FCaptionMiddle: integer; FCaptionMiddle: integer;
@ -1054,7 +1054,7 @@ begin
ADest.TextOut(FCaptionMiddle+3, 0, lCaption); ADest.TextOut(FCaptionMiddle+3, 0, lCaption);
end; end;
procedure TCDDrawerCommon.DrawStaticText(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawStaticText(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDControlStateEx);
var var
lColor: TColor; lColor: TColor;
@ -1072,7 +1072,7 @@ begin
ADest.TextOut(0, 0, AStateEx.Caption); ADest.TextOut(0, 0, AStateEx.Caption);
end; end;
procedure TCDDrawerCommon.DrawTrackBar(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawTrackBar(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDPositionedCStateEx);
var var
StepsCount, i: Integer; StepsCount, i: Integer;
@ -1105,14 +1105,14 @@ begin
// Draws the frame and its inner white area // Draws the frame and its inner white area
if csfHorizontal in AState then if csfHorizontal in AState then
begin begin
lPoint := Point(ADestPos.X + GetMeasures(TCDTRACKBAR_LEFT_SPACING), lPoint := Point(GetMeasures(TCDTRACKBAR_LEFT_SPACING),
ADestPos.Y + GetMeasures(TCDTRACKBAR_TOP_SPACING)); GetMeasures(TCDTRACKBAR_TOP_SPACING));
lSize := Size(ASize.CX - CDBarSpacing, GetMeasures(TCDTRACKBAR_FRAME_HEIGHT)); lSize := Size(ASize.CX - CDBarSpacing, GetMeasures(TCDTRACKBAR_FRAME_HEIGHT));
end end
else else
begin begin
lPoint := Point(ADestPos.X + GetMeasures(TCDTRACKBAR_TOP_SPACING), lPoint := Point(GetMeasures(TCDTRACKBAR_TOP_SPACING),
ADestPos.Y + GetMeasures(TCDTRACKBAR_LEFT_SPACING)); GetMeasures(TCDTRACKBAR_LEFT_SPACING));
lSize := Size(GetMeasures(TCDTRACKBAR_FRAME_HEIGHT), ASize.CY - CDBarSpacing); lSize := Size(GetMeasures(TCDTRACKBAR_FRAME_HEIGHT), ASize.CY - CDBarSpacing);
end; end;
ADest.Brush.Color := Palette.Window; ADest.Brush.Color := Palette.Window;
@ -1146,12 +1146,12 @@ begin
// Draw the focus // Draw the focus
if csfHasFocus in AState then if csfHasFocus in AState then
DrawFocusRect(ADest, DrawFocusRect(ADest,
Point(ADestPos.X + 1, ADestPos.Y + 1), Point(1, 1),
Size(ASize.CX - 2, ASize.CY - 2)); Size(ASize.CX - 2, ASize.CY - 2));
end; end;
// Felipe: Smooth=False is not supported for now // Felipe: Smooth=False is not supported for now
procedure TCDDrawerCommon.DrawProgressBar(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawProgressBar(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDProgressBarStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDProgressBarStateEx);
var var
lProgPos, lProgMult: TPoint; lProgPos, lProgMult: TPoint;
@ -1165,30 +1165,30 @@ begin
ADest.Rectangle(0, 0, ASize.cx, ASize.cy); ADest.Rectangle(0, 0, ASize.cx, ASize.cy);
// The Frame // The Frame
DrawShallowSunkenFrame(ADest, ADestPos, ASize); DrawShallowSunkenFrame(ADest, Point(0, 0), ASize);
// Preparations to have 1 code for all orientations // Preparations to have 1 code for all orientations
lProgSize := Size(ASize.cx-4, ASize.cy-4); lProgSize := Size(ASize.cx-4, ASize.cy-4);
if csfHorizontal in AState then if csfHorizontal in AState then
begin begin
lProgPos := Point(ADestPos.X+2, ADestPos.Y+2); lProgPos := Point(2, 2);
lProgMult := Point(1, 0); lProgMult := Point(1, 0);
lProgWidth := lProgSize.cx; lProgWidth := lProgSize.cx;
end end
else if csfVertical in AState then else if csfVertical in AState then
begin begin
lProgPos := Point(ADestPos.X+2, ADestPos.Y+ASize.cy-2); lProgPos := Point(2, ASize.cy-2);
lProgMult := Point(0, -1); lProgMult := Point(0, -1);
lProgWidth := lProgSize.cy; lProgWidth := lProgSize.cy;
end else if csfRightToLeft in AState then end else if csfRightToLeft in AState then
begin begin
lProgPos := Point(ADestPos.X+ASize.cx-2, ADestPos.Y+2); lProgPos := Point(ASize.cx-2, 2);
lProgMult := Point(-1, 0); lProgMult := Point(-1, 0);
lProgWidth := lProgSize.cx; lProgWidth := lProgSize.cx;
end end
else else
begin begin
lProgPos := Point(ADestPos.X+2, ADestPos.Y+2); lProgPos := Point(2, 2);
lProgMult := Point(0, 1); lProgMult := Point(0, 1);
lProgWidth := lProgSize.cy; lProgWidth := lProgSize.cy;
end; end;
@ -1206,7 +1206,7 @@ begin
lProgPos.Y+lProgWidth*lProgMult.Y+lProgSize.cy*Abs(lProgMult.X)); lProgPos.Y+lProgWidth*lProgMult.Y+lProgSize.cy*Abs(lProgMult.X));
end; end;
procedure TCDDrawerCommon.DrawListView(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawListView(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDListViewStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDListViewStateEx);
begin begin
// Inside area, there is no background because the control occupies the entire area // Inside area, there is no background because the control occupies the entire area
@ -1216,11 +1216,11 @@ begin
ADest.Rectangle(0, 0, ASize.cx, ASize.cy); ADest.Rectangle(0, 0, ASize.cx, ASize.cy);
// The frame // The frame
DrawSunkenFrame(ADest, ADestPos, ASize); DrawSunkenFrame(ADest, Point(0, 0), ASize);
// The contents depend on the view style // The contents depend on the view style
case AStateEx.ViewStyle of case AStateEx.ViewStyle of
vsReport: DrawReportListView(ADest, ADestPos, ASize, AState, AStateEx); vsReport: DrawReportListView(ADest, Point(0, 0), ASize, AState, AStateEx);
end; end;
end; end;
@ -1316,7 +1316,7 @@ begin
ACurItem.Caption); ACurItem.Caption);
end; end;
procedure TCDDrawerCommon.DrawCTabControl(ADest: TCanvas; ADestPos: TPoint; procedure TCDDrawerCommon.DrawCTabControl(ADest: TCanvas;
ASize: TSize; AState: TCDControlState; AStateEx: TCDCTabControlStateEx); ASize: TSize; AState: TCDControlState; AStateEx: TCDCTabControlStateEx);
begin begin
// Background // Background
@ -1324,14 +1324,14 @@ begin
ADest.Pen.Color := AStateEx.ParentRGBColor; ADest.Pen.Color := AStateEx.ParentRGBColor;
ADest.Brush.Style := bsSolid; ADest.Brush.Style := bsSolid;
ADest.Brush.Color := AStateEx.ParentRGBColor; ADest.Brush.Color := AStateEx.ParentRGBColor;
ADest.Rectangle(ADestPos.X, ADestPos.Y, ADestPos.X+ASize.cx, ADestPos.Y+ASize.cy); ADest.Rectangle(0, 0, ASize.cx, ASize.cy);
// frame // frame
DrawCTabControlFrame(ADest, ADestPos, ASize, AState, AStateEx); DrawCTabControlFrame(ADest, Point(0, 0), ASize, AState, AStateEx);
// Tabs // Tabs
ADest.Font.Assign(AStateEx.Font); ADest.Font.Assign(AStateEx.Font);
DrawTabs(ADest, ADestPos, ASize, AState, AStateEx); DrawTabs(ADest, Point(0, 0), ASize, AState, AStateEx);
end; end;
procedure TCDDrawerCommon.DrawCTabControlFrame(ADest: TCanvas; procedure TCDDrawerCommon.DrawCTabControlFrame(ADest: TCanvas;

View File

@ -826,8 +826,7 @@ begin
lControlId := GetControlId(); lControlId := GetControlId();
PrepareControlState; PrepareControlState;
PrepareControlStateEx; PrepareControlStateEx;
FDrawer.DrawControl(Canvas, Point(0, 0), FDrawer.DrawControl(Canvas, lSize, lControlId, FState, FStateEx);
lSize, lControlId, FState, FStateEx);
{$endif} {$endif}
end; end;

View File

@ -269,7 +269,8 @@ type
function GetColor(AColorID: Integer): TColor; virtual; abstract; function GetColor(AColorID: Integer): TColor; virtual; abstract;
function GetClientArea(ADest: TCanvas; ASize: TSize; AControlId: TCDControlID; function GetClientArea(ADest: TCanvas; ASize: TSize; AControlId: TCDControlID;
AState: TCDControlState; AStateEx: TCDControlStateEx): TRect; virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx): TRect; virtual; abstract;
procedure DrawControl(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; // To set a different position to draw the control then (0, 0) use the window org of the canvas
procedure DrawControl(ADest: TCanvas; ASize: TSize;
AControl: TCDControlID; AState: TCDControlState; AStateEx: TCDControlStateEx); AControl: TCDControlID; AState: TCDControlState; AStateEx: TCDControlStateEx);
// General drawing routines // General drawing routines
procedure DrawFocusRect(ADest: TCanvas; ADestPos: TPoint; ASize: TSize); virtual; abstract; procedure DrawFocusRect(ADest: TCanvas; ADestPos: TPoint; ASize: TSize); virtual; abstract;
@ -282,10 +283,10 @@ type
// Extra buttons drawing routines // Extra buttons drawing routines
procedure DrawSmallCloseButton(ADest: TCanvas; ADestPos: TPoint); virtual; abstract; procedure DrawSmallCloseButton(ADest: TCanvas; ADestPos: TPoint); virtual; abstract;
// TCDControl // TCDControl
procedure DrawControl(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawControl(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
// TCDButton // TCDButton
procedure DrawButton(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawButton(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDButtonStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDButtonStateEx); virtual; abstract;
// TCDEdit // TCDEdit
procedure DrawEditBackground(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawEditBackground(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
@ -294,47 +295,47 @@ type
AState: TCDControlState; AStateEx: TCDEditStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDEditStateEx); virtual; abstract;
procedure DrawCaret(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCaret(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDEditStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDEditStateEx); virtual; abstract;
procedure DrawEdit(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawEdit(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDEditStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDEditStateEx); virtual; abstract;
// TCDCheckBox // TCDCheckBox
procedure DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCheckBoxSquare(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
procedure DrawCheckBox(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCheckBox(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
// TCDRadioButton // TCDRadioButton
procedure DrawRadioButtonCircle(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawRadioButtonCircle(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
procedure DrawRadioButton(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawRadioButton(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
// TCDScrollBar // TCDScrollBar
procedure DrawScrollBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawScrollBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDPositionedCStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); virtual; abstract;
// TCDGroupBox // TCDGroupBox
procedure DrawGroupBox(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawGroupBox(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
// =================================== // ===================================
// Additional Tab // Additional Tab
// =================================== // ===================================
procedure DrawStaticText(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawStaticText(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDControlStateEx); virtual; abstract;
// =================================== // ===================================
// Common Controls Tab // Common Controls Tab
// =================================== // ===================================
// TCDTrackBar // TCDTrackBar
procedure DrawTrackBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawTrackBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDPositionedCStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDPositionedCStateEx); virtual; abstract;
// TCDProgressBar // TCDProgressBar
procedure DrawProgressBar(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawProgressBar(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDProgressBarStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDProgressBarStateEx); virtual; abstract;
// TCDListView // TCDListView
procedure DrawListView(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawListView(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract;
procedure DrawReportListView(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawReportListView(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract;
procedure DrawReportListViewItem(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawReportListViewItem(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
ACurItem: TCDListItems; AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract; ACurItem: TCDListItems; AState: TCDControlState; AStateEx: TCDListViewStateEx); virtual; abstract;
// TCDCustomTabControl // TCDCustomTabControl
procedure DrawCTabControl(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCTabControl(ADest: TCanvas; ASize: TSize;
AState: TCDControlState; AStateEx: TCDCTabControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDCTabControlStateEx); virtual; abstract;
procedure DrawCTabControlFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure DrawCTabControlFrame(ADest: TCanvas; ADestPos: TPoint; ASize: TSize;
AState: TCDControlState; AStateEx: TCDCTabControlStateEx); virtual; abstract; AState: TCDControlState; AStateEx: TCDCTabControlStateEx); virtual; abstract;
@ -562,26 +563,26 @@ begin
end; end;
end; end;
procedure TCDDrawer.DrawControl(ADest: TCanvas; ADestPos: TPoint; ASize: TSize; procedure TCDDrawer.DrawControl(ADest: TCanvas; ASize: TSize;
AControl: TCDControlID; AState: TCDControlState; AStateEx: TCDControlStateEx AControl: TCDControlID; AState: TCDControlState; AStateEx: TCDControlStateEx
); );
begin begin
case AControl of case AControl of
cidControl: DrawControl(ADest, ADestPos, ASize, AState, AStateEx); cidControl: DrawControl(ADest, ASize, AState, AStateEx);
// //
cidButton: DrawButton(ADest, ADestPos, ASize, AState, TCDButtonStateEx(AStateEx)); cidButton: DrawButton(ADest, ASize, AState, TCDButtonStateEx(AStateEx));
cidEdit: DrawEdit(ADest, ADestPos, ASize, AState, TCDEditStateEx(AStateEx)); cidEdit: DrawEdit(ADest, ASize, AState, TCDEditStateEx(AStateEx));
cidCheckBox: DrawCheckBox(ADest, ADestPos, ASize, AState, AStateEx); cidCheckBox: DrawCheckBox(ADest, ASize, AState, AStateEx);
cidRadioButton:DrawRadioButton(ADest, ADestPos, ASize, AState, AStateEx); cidRadioButton:DrawRadioButton(ADest, ASize, AState, AStateEx);
cidScrollBar: DrawScrollBar(ADest, ADestPos, ASize, AState, TCDPositionedCStateEx(AStateEx)); cidScrollBar: DrawScrollBar(ADest, ASize, AState, TCDPositionedCStateEx(AStateEx));
cidGroupBox: DrawGroupBox(ADest, ADestPos, ASize, AState, AStateEx); cidGroupBox: DrawGroupBox(ADest, ASize, AState, AStateEx);
// //
cidStaticText: DrawStaticText(ADest, ADestPos, ASize, AState, AStateEx); cidStaticText: DrawStaticText(ADest, ASize, AState, AStateEx);
// //
cidTrackBar: DrawTrackBar(ADest, ADestPos, ASize, AState, TCDPositionedCStateEx(AStateEx)); cidTrackBar: DrawTrackBar(ADest, ASize, AState, TCDPositionedCStateEx(AStateEx));
cidProgressBar:DrawProgressBar(ADest, ADestPos, ASize, AState, TCDProgressBarStateEx(AStateEx)); cidProgressBar:DrawProgressBar(ADest, ASize, AState, TCDProgressBarStateEx(AStateEx));
cidListView: DrawListView(ADest, ADestPos, ASize, AState, TCDListViewStateEx(AStateEx)); cidListView: DrawListView(ADest, ASize, AState, TCDListViewStateEx(AStateEx));
cidCTabControl:DrawCTabControl(ADest, ADestPos, ASize, AState, TCDCTabControlStateEx(AStateEx)); cidCTabControl:DrawCTabControl(ADest, ASize, AState, TCDCTabControlStateEx(AStateEx));
end; end;
end; end;