Changeset 230 for trunk/Packages/CevoComponents
- Timestamp:
- May 14, 2020, 10:39:45 PM (5 years ago)
- Location:
- trunk/Packages/CevoComponents
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Packages/CevoComponents/ScreenTools.pas
r225 r230 911 911 begin 912 912 dst.BeginUpdate; 913 DstPtr := PixelPointer(dst, x0 , y0);913 DstPtr := PixelPointer(dst, x0 - GlowRange + 1, y0 - GlowRange + 1); 914 914 for y := -GlowRange + 1 to Height - 1 + GlowRange - 1 do begin 915 915 for x := -GlowRange + 1 to Width - 1 + GlowRange - 1 do begin 916 DstPtr.SetXY(x, y);917 916 if x < 0 then 918 917 if y < 0 then … … 933 932 else if y >= Height then 934 933 r := y - (Height - 1) 935 else 934 else begin 935 DstPtr.NextPixel; 936 936 continue; 937 end; 937 938 if r = 0 then 938 939 r := 1; … … 942 943 (DstPtr.Pixel^.Planes[2 - ch] * (r - 1) + (cl shr (8 * ch) and $FF) * 943 944 (GlowRange - r)) div (GlowRange - 1); 944 end; 945 DstPtr.NextPixel; 946 end; 947 DstPtr.NextLine; 945 948 end; 946 949 dst.EndUpdate; -
trunk/Packages/CevoComponents/UPixelPointer.pas
r206 r230 27 27 BytesPerPixel: Integer; 28 28 BytesPerLine: Integer; 29 procedure NextLine; inline; // Move pointer to start of new base line 29 procedure NextLine; inline; // Move pointer to start of next line 30 procedure PreviousLine; inline; // Move pointer to start of previous line 30 31 procedure NextPixel; inline; // Move pointer to next pixel 32 procedure PreviousPixel; inline; // Move pointer to previous pixel 31 33 procedure SetXY(X, Y: Integer); inline; // Set pixel position relative to base 32 34 procedure SetX(X: Integer); inline; // Set horizontal pixel position relative to base … … 47 49 end; 48 50 51 procedure TPixelPointer.PreviousLine; 52 begin 53 Line := Pointer(Line) - BytesPerLine; 54 Pixel := Line; 55 end; 56 49 57 procedure TPixelPointer.NextPixel; inline; 50 58 begin 51 59 Pixel := Pointer(Pixel) + BytesPerPixel; 60 end; 61 62 procedure TPixelPointer.PreviousPixel; 63 begin 64 Pixel := Pointer(Pixel) - BytesPerPixel; 52 65 end; 53 66
Note:
See TracChangeset
for help on using the changeset viewer.