Changeset 347 for trunk/Packages/CevoComponents/ScreenTools.pas
- Timestamp:
- Apr 6, 2021, 7:39:39 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Packages/CevoComponents/ScreenTools.pas
r331 r347 1035 1035 procedure InitOrnament; 1036 1036 var 1037 x, y, p, Light, Shade: Integer; 1037 P: TColor; 1038 X, Y: Integer; 1039 Light, Shade: TColor32; 1040 PixelPtr: TPixelPointer; 1038 1041 begin 1039 1042 if InitOrnamentDone then Exit; 1040 Light := MainTexture.clBevelLight;1043 Light := ColorToColor32(MainTexture.clBevelLight); 1041 1044 // and $FCFCFC shr 2*3+MainTexture.clBevelShade and $FCFCFC shr 2; 1042 Shade := MainTexture.clBevelShade and $FCFCFC shr 2 * 3 + 1043 MainTexture.clBevelLight and $FCFCFC shr 2; 1044 for x := 0 to Ornament.Width - 1 do 1045 for y := 0 to Ornament.Height - 1 do begin 1046 p := HGrSystem2.Data.Canvas.Pixels[Ornament.Left + x, Ornament.Top + y]; 1047 if p = $0000FF then 1048 HGrSystem2.Data.Canvas.Pixels[Ornament.Left + x, Ornament.Top + y] := Light 1049 else if p = $FF0000 then 1050 HGrSystem2.Data.Canvas.Pixels[Ornament.Left + x, Ornament.Top + y] := Shade; 1051 end; 1045 Shade := ColorToColor32(MainTexture.clBevelShade and $FCFCFC shr 2 * 3 + 1046 MainTexture.clBevelLight and $FCFCFC shr 2); 1047 HGrSystem2.Data.BeginUpdate; 1048 PixelPtr := PixelPointer(HGrSystem2.Data, ScaleToNative(Ornament.Left), ScaleToNative(Ornament.Top)); 1049 if PixelPtr.BytesPerPixel = 3 then begin 1050 for Y := 0 to ScaleToNative(Ornament.Height) - 1 do begin 1051 for X := 0 to ScaleToNative(Ornament.Width) - 1 do begin 1052 P := Color32ToColor(PixelPtr.Pixel^.RGB); 1053 if P = $0000FF then PixelPtr.Pixel^.RGB := Light 1054 else if P = $FF0000 then PixelPtr.Pixel^.RGB := Shade; 1055 PixelPtr.NextPixel; 1056 end; 1057 PixelPtr.NextLine; 1058 end; 1059 end else begin 1060 for Y := 0 to ScaleToNative(Ornament.Height) - 1 do begin 1061 for X := 0 to ScaleToNative(Ornament.Width) - 1 do begin 1062 P := Color32ToColor(PixelPtr.Pixel^.ARGB); 1063 if P = $0000FF then PixelPtr.Pixel^.ARGB := Light 1064 else if P = $FF0000 then PixelPtr.Pixel^.ARGB := Shade; 1065 PixelPtr.NextPixel; 1066 end; 1067 PixelPtr.NextLine; 1068 end; 1069 end; 1052 1070 InitOrnamentDone := True; 1071 HGrSystem2.Data.EndUpdate; 1053 1072 end; 1054 1073
Note:
See TracChangeset
for help on using the changeset viewer.