|
@@ -60,8 +60,8 @@ type
|
|
|
{ Protected declarations }
|
|
{ Protected declarations }
|
|
|
{$IFDEF BGRA_DRAW}
|
|
{$IFDEF BGRA_DRAW}
|
|
|
function DrawGlyph(ACanvas: TCanvas; const AClient: TRect;
|
|
function DrawGlyph(ACanvas: TCanvas; const AClient: TRect;
|
|
|
- const AOffset: TPoint; AState: TButtonState; ATransparent: boolean;
|
|
|
|
|
- BiDiFlags: longint): TRect; override;
|
|
|
|
|
|
|
+ const AOffset: TPoint; AState: TButtonState; {%H-}ATransparent: boolean;
|
|
|
|
|
+ {%H-}BiDiFlags: longint): TRect; override;
|
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
public
|
|
public
|
|
|
{ Public declarations }
|
|
{ Public declarations }
|
|
@@ -94,19 +94,21 @@ begin
|
|
|
{Result := inherited DrawGlyph(ACanvas, AClient, AOffset, AState,
|
|
{Result := inherited DrawGlyph(ACanvas, AClient, AOffset, AState,
|
|
|
ATransparent, BiDiFlags); }
|
|
ATransparent, BiDiFlags); }
|
|
|
|
|
|
|
|
- if Glyph = nil then
|
|
|
|
|
|
|
+ if not Assigned(Glyph) then
|
|
|
|
|
+ begin
|
|
|
|
|
+ Result := Rect(0,0,0,0);
|
|
|
Exit;
|
|
Exit;
|
|
|
|
|
+ end;
|
|
|
|
|
+
|
|
|
{ It's not good solution assigning glyph on each draw call but FGlyph and SetGlyph is
|
|
{ It's not good solution assigning glyph on each draw call but FGlyph and SetGlyph is
|
|
|
in private section }
|
|
in private section }
|
|
|
FBGRA.Assign(Glyph);
|
|
FBGRA.Assign(Glyph);
|
|
|
|
|
|
|
|
- if Assigned(Glyph) then
|
|
|
|
|
- begin
|
|
|
|
|
- if (AState = bsDown) or (Down = True) then
|
|
|
|
|
- FBGRA.Draw(ACanvas, AOffset.x + 1, AOffset.y + 1, False)
|
|
|
|
|
- else
|
|
|
|
|
- FBGRA.Draw(ACanvas, AOffset.x, AOffset.y, False);
|
|
|
|
|
- end;
|
|
|
|
|
|
|
+ if (AState = bsDown) or (Down = True) then
|
|
|
|
|
+ FBGRA.Draw(ACanvas, AOffset.x + 1, AOffset.y + 1, False)
|
|
|
|
|
+ else
|
|
|
|
|
+ FBGRA.Draw(ACanvas, AOffset.x, AOffset.y, False);
|
|
|
|
|
+ Result:= AClient;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
constructor TBGRASpeedButton.Create(AOwner: TComponent);
|
|
constructor TBGRASpeedButton.Create(AOwner: TComponent);
|