mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 22:29:25 +02:00
customdrawn-android: Now OnPaint renders correctly
git-svn-id: trunk@33823 -
This commit is contained in:
parent
4afd5cec0f
commit
6478043aae
@ -417,7 +417,6 @@ var
|
||||
lCurForm: TCDNonNativeForm;
|
||||
|
||||
struct : TPaintStruct;
|
||||
lWidth, lHeight: Integer;
|
||||
lBitmap, lMask: HBITMAP;
|
||||
lRawImage: TRawImage;
|
||||
{$IFDEF VerboseCDPaintProfiler}
|
||||
@ -446,13 +445,10 @@ begin
|
||||
{$ENDIF}
|
||||
//if (AWinControl = nil) or (AWindowInfo = nil) then Exit;
|
||||
|
||||
lWidth := 200;//Round(AWinControl.width);
|
||||
lHeight := 200;//Round(AWinControl.height);
|
||||
|
||||
FillChar(struct, SizeOf(TPaintStruct), 0);
|
||||
|
||||
// Prepare the non-native image and canvas
|
||||
UpdateControlLazImageAndCanvas(lCurForm.Image, lCurForm.Canvas, lWidth, lHeight, clfBGRA32, pixels);
|
||||
UpdateControlLazImageAndCanvas(lCurForm.Image, lCurForm.Canvas, Width, Height, clfRGBA32, pixels);
|
||||
|
||||
struct.hdc := HDC(lCurForm.Canvas);
|
||||
|
||||
|
@ -17,7 +17,8 @@ uses
|
||||
type
|
||||
TUpdateLazImageFormat = (
|
||||
clfRGB16_R5G6B5,
|
||||
clfRGB24, clfRGB24UpsideDown, clfBGR24, clfBGRA32);
|
||||
clfRGB24, clfRGB24UpsideDown, clfBGR24,
|
||||
clfBGRA32, clfRGBA32, clfARGB32);
|
||||
|
||||
TCDWinControl = class
|
||||
public
|
||||
@ -150,6 +151,8 @@ begin
|
||||
clfRGB24UpsideDown: lRawImage.Description.Init_BPP24_R8G8B8_BIO_TTB_UpsideDown(AWidth, AHeight);
|
||||
clfBGR24: lRawImage.Description.Init_BPP24_B8G8R8_BIO_TTB(AWidth, AHeight);
|
||||
clfBGRA32: lRawImage.Description.Init_BPP32_B8G8R8A8_BIO_TTB(AWidth, AHeight);
|
||||
clfRGBA32: lRawImage.Description.Init_BPP32_R8G8B8A8_BIO_TTB(AWidth, AHeight);
|
||||
clfARGB32: lRawImage.Description.Init_BPP32_A8R8G8B8_BIO_TTB(AWidth, AHeight);
|
||||
end;
|
||||
|
||||
// Now connect the pixel buffer or create one
|
||||
@ -157,11 +160,12 @@ begin
|
||||
else
|
||||
begin
|
||||
case AFormat of
|
||||
clfRGB16_R5G6B5: lPixelSize := 2;
|
||||
clfRGB24: lPixelSize := 3;
|
||||
clfRGB24UpsideDown: lPixelSize := 3;
|
||||
clfBGR24: lPixelSize := 3;
|
||||
clfBGRA32: lPixelSize := 4;
|
||||
clfRGB16_R5G6B5:
|
||||
lPixelSize := 2;
|
||||
clfRGB24, clfRGB24UpsideDown, clfBGR24:
|
||||
lPixelSize := 3;
|
||||
clfBGRA32, clfRGBA32, clfARGB32:
|
||||
lPixelSize := 4;
|
||||
end;
|
||||
|
||||
lRawImage.Data := AData;
|
||||
|
Loading…
Reference in New Issue
Block a user