IDE: fixes for High-DPI Image List

git-svn-id: branches/HiDPIImageList@57161 -
This commit is contained in:
ondrej 2018-01-27 18:05:59 +00:00
parent 83f35c60b3
commit b4b56d377d
8 changed files with 16 additions and 25 deletions

View File

@ -416,6 +416,7 @@ begin
ImageSize := TIDEImages.ScaledSize;
ImageList1.Width := ImageSize;
ImageList1.Height := ImageSize;
ImageList1.Scaled := False;
TIDEImages.AddImageToImageList(ImageList1, 'laz_add'); //imageindex 0
TIDEImages.AddImageToImageList(ImageList1, 'laz_delete'); //imageindex 1
TIDEImages.AddImageToImageList(ImageList1, 'arrow_up'); //imadeindex 2

View File

@ -591,6 +591,7 @@ begin
FImageList := TImageList.Create(nil);
FImageList.Width := TIDEImages.ScaledSize;
FImageList.Height := TIDEImages.ScaledSize;
FImageList.Scaled := False;
ImgIndexForm := TIDEImages.AddImageToImageList(FImageList, 'oi_form');
ImgIndexComponent := TIDEImages.AddImageToImageList(FImageList, 'oi_comp');
ImgIndexControl := TIDEImages.AddImageToImageList(FImageList, 'oi_control');

View File

@ -59,7 +59,7 @@ type
class procedure AssignImage(const ABitmap: TCustomBitmap; ImageName: String;
ImageSize: Integer = 16);
class function AddImageToImageList(const AImageList: TImageList;
ImageName: String; ImageSize: Integer = 16): Integer;
ImageName: String): Integer;
class function ScaledSize(ImageSize: Integer = 16): Integer;
function LoadImage(ImageSize: Integer; ImageName: String): Integer; deprecated 'Use the other overload instead.';
@ -88,6 +88,7 @@ begin
FImages_12 := TImageList.Create(nil);
FImages_12.Width := MulDiv(12, GetScalePercent, 100);
FImages_12.Height := FImages_12.Width;
FImages_12.Scaled := False;
end;
Result := FImages_12;
end;
@ -99,6 +100,7 @@ begin
FImages_16 := TImageList.Create(nil);
FImages_16.Width := MulDiv(16, GetScalePercent, 100);
FImages_16.Height := FImages_16.Width;
FImages_16.Scaled := False;
end;
Result := FImages_16;
end;
@ -110,6 +112,7 @@ begin
FImages_24 := TImageList.Create(nil);
FImages_24.Width := MulDiv(24, GetScalePercent, 100);
FImages_24.Height := FImages_24.Width;
FImages_24.Scaled := False;
end;
Result := FImages_24;
end;
@ -132,28 +135,8 @@ end;
class function TIDEImages.CreateImage(ImageName: String; ImageSize: Integer
): TCustomBitmap;
var
Grp: TCustomBitmap;
GrpScaledNewInstance: Boolean;
ScalePercent, GrpScale: Integer;
begin
ScalePercent := GetScalePercent;
Grp := nil;
try
GrpScale := CreateBestBitmapForScalingFromRes(ImageName, ScalePercent, Grp);
if Grp<>nil then
begin
Result := ScaleImage(Grp, GrpScaledNewInstance,
MulDiv(ImageSize, ScalePercent, GrpScale), MulDiv(ImageSize, ScalePercent, GrpScale), ScalePercent / GrpScale);
if not GrpScaledNewInstance then
Grp := nil;
Exit; // found
end;
finally
Grp.Free;
end;
Result := nil; // not found
CreateBestBitmapForScalingFromRes(ImageName, GetScalePercent, Result);
end;
class procedure TIDEImages.AssignImage(const ABitmap: TCustomBitmap;
@ -170,12 +153,12 @@ begin
end;
class function TIDEImages.AddImageToImageList(const AImageList: TImageList;
ImageName: String; ImageSize: Integer): Integer;
ImageName: String): Integer;
var
xBmp: TCustomBitmap;
begin
Result := -1;
xBmp := TIDEImages.CreateImage(ImageName, ImageSize);
xBmp := TIDEImages.CreateImage(ImageName, AImageList.Width);
try
Result := AImageList.Add(xBmp, nil);
finally

View File

@ -820,6 +820,7 @@ begin
ImageSize := TIDEImages.ScaledSize;
ImageList1.Width := ImageSize;
ImageList1.Height := ImageSize;
ImageList1.Scaled := False;
ImgIDDefault := TIDEImages.AddImageToImageList(Imagelist1, 'ce_default');
ImgIDProgramCode := TIDEImages.AddImageToImageList(Imagelist1, 'ce_program');
ImgIDUnitCode := TIDEImages.AddImageToImageList(Imagelist1, 'ce_unit');

View File

@ -725,6 +725,7 @@ begin
ImageSize := TIDEImages.ScaledSize;
Imagelist1.Width := ImageSize;
Imagelist1.Height := ImageSize;
Imagelist1.Scaled := False;
ImgIDDefault := TIDEImages.AddImageToImageList(Imagelist1, 'ce_default');
ImgIDProgram := TIDEImages.AddImageToImageList(Imagelist1, 'ce_program');
ImgIDUnit := TIDEImages.AddImageToImageList(Imagelist1, 'ce_unit');

View File

@ -139,8 +139,10 @@ begin
imListPalette.Width := MulDiv(ComponentPaletteImageWidth, TIDEImages.GetScalePercent, 100);
imListPalette.Height := MulDiv(ComponentPaletteImageHeight, TIDEImages.GetScalePercent, 100);
imListPalette.Scaled := False;
imInheritance.Width := MulDiv(ComponentPaletteImageWidth, TIDEImages.GetScalePercent, 100);
imInheritance.Height := MulDiv(ComponentPaletteImageHeight, TIDEImages.GetScalePercent, 100);
imInheritance.Scaled := False;
ListTree.Images := imListPalette;
PalletteTree.Images := imListPalette;

View File

@ -113,6 +113,7 @@ begin
ImageList1.Width := TIDEImages.ScaledSize;
ImageList1.Height := TIDEImages.ScaledSize;
ImageList1.Scaled := False;
TIDEImages.AddImageToImageList(ImageList1, 'item_package');
TIDEImages.AddImageToImageList(ImageList1, 'pkg_open');
end;

View File

@ -550,6 +550,7 @@ begin
ImgListSize := TIDEImages.ScaledSize(11);
ImgList.Width := ImgListSize;
ImgList.Height := ImgListSize;
ImgList.Scaled := False;
// synedit expects the first 10 icons for the bookmarks
for i := 0 to 9 do
@ -810,7 +811,7 @@ end;
function TSourceMarks.AddImage(const ResName: string): integer;
begin
Result := TIDEImages.AddImageToImageList(ImgList, Resname, 11);
Result := TIDEImages.AddImageToImageList(ImgList, Resname);
end;
initialization