You've already forked lazarus-ccr
* Add workaround to Carbon bug 18211 (PaintStruct not initialized)
* Add a dummy AlphaBlend function to Carbon interface git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1402 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -16444,10 +16444,15 @@ begin
|
|||||||
if tsVCLDragging in FStates then
|
if tsVCLDragging in FStates then
|
||||||
ImageList_DragShowNolock(False);
|
ImageList_DragShowNolock(False);
|
||||||
{$endif}
|
{$endif}
|
||||||
|
//todo: workaround to bug 18211. Remove when fixed.
|
||||||
|
{$ifndef LCLCarbon}
|
||||||
if csPaintCopy in ControlState then
|
if csPaintCopy in ControlState then
|
||||||
FUpdateRect := ClientRect
|
FUpdateRect := ClientRect
|
||||||
else
|
else
|
||||||
FUpdateRect:=Message.PaintStruct^.rcPaint;
|
FUpdateRect := Message.PaintStruct^.rcPaint;
|
||||||
|
{$else}
|
||||||
|
FUpdateRect := ClientRect;
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$ifdef DEBUG_VTV}Logger.Send([lcPaint],'FUpdateRect', FUpdateRect);{$endif}
|
{$ifdef DEBUG_VTV}Logger.Send([lcPaint],'FUpdateRect', FUpdateRect);{$endif}
|
||||||
|
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
//todo: properly implement
|
||||||
|
procedure AlphaBlend(Source, Destination: HDC; const R: TRect; const Target: TPoint; Mode: TBlendMode; ConstantAlpha, Bias: Integer);
|
||||||
|
begin
|
||||||
|
case Mode of
|
||||||
|
bmConstantAlpha,
|
||||||
|
bmPerPixelAlpha,
|
||||||
|
bmMasterAlpha,
|
||||||
|
bmConstantAlphaAndColor:
|
||||||
|
begin
|
||||||
|
BitBlt(Destination, Target.X, Target.Y, R.Right - R.Left, R.Bottom - R.Top, Source, R.Left, R.Right, SRCCOPY);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function CalculateScanline(Bits: Pointer; Width, Height, Row: Integer): Pointer;
|
||||||
|
begin
|
||||||
|
Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GetBitmapBitsFromBitmap(Bitmap: HBITMAP): Pointer;
|
||||||
|
begin
|
||||||
|
Result := nil;
|
||||||
|
end;
|
Reference in New Issue
Block a user