Skip to content

Commit daab8a0

Browse files
committed
Updates to ImageManager
Changes are made to ImageManager to allow fixes to the bug of image colors not being adjusted according to the theme.
1 parent 3c50d51 commit daab8a0

File tree

10 files changed

+256
-157
lines changed

10 files changed

+256
-157
lines changed

External/Plugins/ASCompletion/PluginUI.cs

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -115,41 +115,41 @@ private void InitializeControls()
115115
treeIcons.ImageSize = ScaleHelper.Scale(new Size(16, 16));
116116
treeIcons.Images.AddRange( new Image[]
117117
{
118-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("FilePlain.png"))),
119-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("FolderClosed.png"))),
120-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("FolderOpen.png"))),
121-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("CheckAS.png"))),
122-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("QuickBuild.png"))),
123-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Package.png"))),
124-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Interface.png"))),
125-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Intrinsic.png"))),
126-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Class.png"))),
127-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Variable.png"))),
128-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("VariableProtected.png"))),
129-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("VariablePrivate.png"))),
130-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("VariableStatic.png"))),
131-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("VariableStaticProtected.png"))),
132-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("VariableStaticPrivate.png"))),
133-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Const.png"))),
134-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("ConstProtected.png"))),
135-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("ConstPrivate.png"))),
136-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Const.png"))),
137-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("ConstProtected.png"))),
138-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("ConstPrivate.png"))),
139-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Method.png"))),
140-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("MethodProtected.png"))),
141-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("MethodPrivate.png"))),
142-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("MethodStatic.png"))),
143-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("MethodStaticProtected.png"))),
144-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("MethodStaticPrivate.png"))),
145-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Property.png"))),
146-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("PropertyProtected.png"))),
147-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("PropertyPrivate.png"))),
148-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("PropertyStatic.png"))),
149-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("PropertyStaticProtected.png"))),
150-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("PropertyStaticPrivate.png"))),
151-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Template.png"))),
152-
PluginBase.MainForm.ImageSetAdjust(Image.FromStream(GetStream("Declaration.png")))
118+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("FilePlain.png"))),
119+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("FolderClosed.png"))),
120+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("FolderOpen.png"))),
121+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("CheckAS.png"))),
122+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("QuickBuild.png"))),
123+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Package.png"))),
124+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Interface.png"))),
125+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Intrinsic.png"))),
126+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Class.png"))),
127+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Variable.png"))),
128+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("VariableProtected.png"))),
129+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("VariablePrivate.png"))),
130+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("VariableStatic.png"))),
131+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("VariableStaticProtected.png"))),
132+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("VariableStaticPrivate.png"))),
133+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Const.png"))),
134+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("ConstProtected.png"))),
135+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("ConstPrivate.png"))),
136+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Const.png"))),
137+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("ConstProtected.png"))),
138+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("ConstPrivate.png"))),
139+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Method.png"))),
140+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("MethodProtected.png"))),
141+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("MethodPrivate.png"))),
142+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("MethodStatic.png"))),
143+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("MethodStaticProtected.png"))),
144+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("MethodStaticPrivate.png"))),
145+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Property.png"))),
146+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("PropertyProtected.png"))),
147+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("PropertyPrivate.png"))),
148+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("PropertyStatic.png"))),
149+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("PropertyStaticProtected.png"))),
150+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("PropertyStaticPrivate.png"))),
151+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Template.png"))),
152+
PluginBase.MainForm.GetAutoAdjustedImage(Image.FromStream(GetStream("Declaration.png")))
153153
});
154154

155155
toolStrip.Renderer = new DockPanelStripRenderer();

External/Plugins/FileExplorer/PluginUI.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ private int ExtractIconIfNecessary(String path)
11371137
if (File.Exists(path)) icon = IconExtractor.GetFileIcon(path, false, true);
11381138
else icon = IconExtractor.GetFolderIcon(path, false, true);
11391139
image = ImageKonverter.ImageResize(icon.ToBitmap(), size.Width, size.Height);
1140-
image = PluginBase.MainForm.ImageSetAdjust(image);
1140+
image = PluginBase.MainForm.GetAutoAdjustedImage(image);
11411141
icon.Dispose();
11421142
}
11431143
else

External/Plugins/FlashDebugger/Helpers/MenusHelper.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ public MenusHelper(Image pluginImage, DebuggerManager debugManager, Settings set
3131

3232
imageList = new ImageList();
3333
imageList.ColorDepth = ColorDepth.Depth32Bit;
34-
imageList.Images.Add("StartContinue", PluginBase.MainForm.ImageSetAdjust(Resource.StartContinue));
35-
imageList.Images.Add("Pause", PluginBase.MainForm.ImageSetAdjust(Resource.Pause));
36-
imageList.Images.Add("Stop", PluginBase.MainForm.ImageSetAdjust(Resource.Stop));
37-
imageList.Images.Add("Current", PluginBase.MainForm.ImageSetAdjust(Resource.Current));
38-
imageList.Images.Add("RunToCursor", PluginBase.MainForm.ImageSetAdjust(Resource.RunToCursor));
39-
imageList.Images.Add("Step", PluginBase.MainForm.ImageSetAdjust(Resource.Step));
40-
imageList.Images.Add("Next", PluginBase.MainForm.ImageSetAdjust(Resource.Next));
41-
imageList.Images.Add("Finish", PluginBase.MainForm.ImageSetAdjust(Resource.Finish));
34+
imageList.Images.Add("StartContinue", PluginBase.MainForm.GetAutoAdjustedImage(Resource.StartContinue));
35+
imageList.Images.Add("Pause", PluginBase.MainForm.GetAutoAdjustedImage(Resource.Pause));
36+
imageList.Images.Add("Stop", PluginBase.MainForm.GetAutoAdjustedImage(Resource.Stop));
37+
imageList.Images.Add("Current", PluginBase.MainForm.GetAutoAdjustedImage(Resource.Current));
38+
imageList.Images.Add("RunToCursor", PluginBase.MainForm.GetAutoAdjustedImage(Resource.RunToCursor));
39+
imageList.Images.Add("Step", PluginBase.MainForm.GetAutoAdjustedImage(Resource.Step));
40+
imageList.Images.Add("Next", PluginBase.MainForm.GetAutoAdjustedImage(Resource.Next));
41+
imageList.Images.Add("Finish", PluginBase.MainForm.GetAutoAdjustedImage(Resource.Finish));
4242

4343
ToolStripMenuItem tempItem;
4444
ToolStripMenuItem viewMenu = (ToolStripMenuItem)PluginBase.MainForm.FindMenuItem("ViewMenu");

External/Plugins/ProjectManager/Controls/Icons.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,8 @@ public static FDImage GetResource(string resourceID)
208208
catch {
209209
image = new Bitmap(16, 16);
210210
}
211-
image = (Bitmap)PluginBase.MainForm.ImageSetAdjust(image);
212-
imageList.Images.Add(ScaleHelper.Scale(image));
211+
image = (Bitmap)PluginBase.MainForm.GetAutoAdjustedImage(ScaleHelper.Scale(image));
212+
imageList.Images.Add(image);
213213
return new FDImage(image,imageList.Images.Count-1);
214214
}
215215

@@ -255,7 +255,7 @@ public static FDImage ExtractIconIfNecessary(string file)
255255
{
256256
Icon icon = IconExtractor.GetFileIcon(file, true);
257257
Image image = ScaleHelper.Scale(icon.ToBitmap());
258-
image = (Bitmap)PluginBase.MainForm.ImageSetAdjust(image);
258+
image = (Bitmap)PluginBase.MainForm.GetAutoAdjustedImage(image);
259259
icon.Dispose(); imageList.Images.Add(image);
260260
int index = imageList.Images.Count - 1; // of the icon we just added
261261
FDImage fdImage = new FDImage(image, index);

External/Plugins/SourceControl/Managers/OverlayManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ static public void Init()
174174

175175
private static Image GetSkin()
176176
{
177-
return PluginBase.MainForm.ImageSetAdjust(ProjectWatcher.Skin); //can be changed by external SC-Plugin
177+
return PluginBase.MainForm.GetAutoAdjustedImage(ProjectWatcher.Skin); //can be changed by external SC-Plugin
178178
}
179179

180180
static public void Reset()

FlashDevelop/MainForm.cs

Lines changed: 45 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,11 +1681,53 @@ public IPlugin FindPlugin(String guid)
16811681
}
16821682

16831683
/// <summary>
1684-
/// Adjusts the image for different themes
1684+
/// Finds the specified composed/ready image that is automatically adjusted according to the theme.
1685+
/// <para/>
1686+
/// WARNING! Do not call <see cref="ScaleHelper.Scale(Bitmap)"/> on the image returned by this method.
1687+
/// Call it before passing the image to this method instead.
16851688
/// </summary>
1686-
public Image ImageSetAdjust(Image image)
1689+
// TODO: Find all references to this method that creates a copy of the image returned, such as adding it to ImageList, and call FindImage(image, false) instead.
1690+
public Image FindImage(String data)
1691+
{
1692+
return FindImage(data, true);
1693+
}
1694+
1695+
/// <summary>
1696+
/// Finds the specified composed/ready image.
1697+
/// <para/>
1698+
/// WARNING! Do not call <see cref="ScaleHelper.Scale(Bitmap)"/> on the image returned by this method if <code>autoAdjusted</code> is <code>true</code>.
1699+
/// Call it before passing the image to this method instead.
1700+
/// </summary>
1701+
public Image FindImage(String data, Boolean autoAdjusted)
1702+
{
1703+
try
1704+
{
1705+
lock (this)
1706+
{
1707+
return ImageManager.GetComposedBitmap(data, autoAdjusted);
1708+
}
1709+
}
1710+
catch (Exception ex)
1711+
{
1712+
ErrorManager.ShowError(ex);
1713+
return null;
1714+
}
1715+
}
1716+
1717+
/// <summary>
1718+
/// Gets a copy of the image that gets automatically adjusted according to the theme.
1719+
/// </summary>
1720+
public Image GetAutoAdjustedImage(Image image)
16871721
{
1688-
return ImageManager.AdjustImage(image);
1722+
return ImageManager.GetAutoAdjustedImage(image);
1723+
}
1724+
1725+
/// <summary>
1726+
/// Adjusts all images for different themes.
1727+
/// </summary>
1728+
public void AdjustAllImages()
1729+
{
1730+
ImageManager.AdjustAllImages();
16891731
}
16901732

16911733
/// <summary>
@@ -1823,25 +1865,6 @@ public void ApplySecondaryShortcut(ToolStripItem item)
18231865
ShortcutManager.ApplySecondaryShortcut(item);
18241866
}
18251867

1826-
/// <summary>
1827-
/// Finds the specified composed/ready image
1828-
/// </summary>
1829-
public Image FindImage(String data)
1830-
{
1831-
try
1832-
{
1833-
lock (this)
1834-
{
1835-
return ImageManager.GetComposedBitmap(data);
1836-
}
1837-
}
1838-
catch (Exception ex)
1839-
{
1840-
ErrorManager.ShowError(ex);
1841-
return null;
1842-
}
1843-
}
1844-
18451868
/// <summary>
18461869
/// Shows the settings dialog
18471870
/// </summary>

0 commit comments

Comments
 (0)