Changeset 521 for GraphicTest/Packages/bgrabitmap/bgraqtbitmap.pas
- Timestamp:
- Apr 17, 2019, 12:58:41 AM (5 years ago)
- Location:
- GraphicTest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
GraphicTest
- Property svn:ignore
-
old new 8 8 GraphicTest.lps 9 9 GraphicTest.dbg 10 heaptrclog.trc
-
- Property svn:ignore
-
GraphicTest/Packages/bgrabitmap/bgraqtbitmap.pas
r494 r521 40 40 public 41 41 procedure DataDrawTransparent(ACanvas: TCanvas; Rect: TRect; 42 AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); 43 override; 42 AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); override; 43 procedure DataDrawOpaque(ACanvas: TCanvas; ARect: TRect; AData: Pointer; 44 ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); override; 44 45 procedure Draw(ACanvas: TCanvas; x, y: integer; Opaque: boolean = True); override; 45 46 procedure Draw(ACanvas: TCanvas; Rect: TRect; Opaque: boolean = True); override; … … 69 70 SlowDrawTransparent(Temp, ACanvas, Rect); 70 71 Temp.Free; 72 end; 73 74 procedure TBGRAQtBitmap.DataDrawOpaque(ACanvas: TCanvas; ARect: TRect; 75 AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); 76 var psrc,pdest: PBGRAPixel; 77 bmp: TBGRAQtBitmap; 78 begin 79 {$IFDEF DARWIN} 80 bmp := TBGRAQtBitmap.Create(AWidth,AHeight); 81 try 82 if ALineOrder = riloTopToBottom then psrc := AData 83 else psrc := PBGRAPixel(AData) + (AWidth*AHeight); 84 for y := 0 to AHeight-1 do 85 begin 86 pdest := bmp.ScanLine[y]; 87 for x := 0 to AWidth-1 do 88 begin 89 pdest^.red := psrc^.red; 90 pdest^.green:= psrc^.green; 91 pdest^.blue := psrc^.blue; 92 pdest^.alpha := 255; 93 end; 94 if ALineOrder = riloBottomToTop then psrc -= 2*AWidth; 95 end; 96 bmp.Draw(ACanvas, ARect, false); 97 finally 98 bmp.Free; 99 end; 100 {$ELSE} 101 inherited DataDrawOpaque(ACanvas, ARect, AData, ALineOrder, AWidth, AHeight); 102 {$ENDIF} 71 103 end; 72 104
Note:
See TracChangeset
for help on using the changeset viewer.