GUI/HardwareTypeImage.cs
author moel.mich
Tue, 17 Jul 2012 16:10:59 +0000
changeset 364 25ef2c489ce8
parent 176 c16fd81b520a
child 370 8e4dedc41924
permissions -rw-r--r--
Attempt at fixing Issue 253 without breaking Issue 159 once more.
     1 /*
     2  
     3   This Source Code Form is subject to the terms of the Mozilla Public
     4   License, v. 2.0. If a copy of the MPL was not distributed with this
     5   file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6  
     7   Copyright (C) 2010 Michael Möller <mmoeller@openhardwaremonitor.org>
     8 	
     9 */
    10 
    11 using System;
    12 using System.Drawing;
    13 using System.Collections.Generic;
    14 using OpenHardwareMonitor.Hardware;
    15 
    16 namespace OpenHardwareMonitor.GUI {
    17   public class HardwareTypeImage {
    18     private static HardwareTypeImage instance = new HardwareTypeImage();
    19 
    20     private IDictionary<HardwareType, Image> images = 
    21       new Dictionary<HardwareType, Image>();
    22 
    23     private HardwareTypeImage() { }
    24 
    25     public static HardwareTypeImage Instance {
    26       get { return instance; }
    27     }
    28 
    29     public Image GetImage(HardwareType hardwareType) {
    30       Image image;
    31       if (images.TryGetValue(hardwareType, out image)) {
    32         return image;
    33       } else {
    34         switch (hardwareType) {
    35           case HardwareType.CPU:
    36             image = Utilities.EmbeddedResources.GetImage("cpu.png");
    37             break;
    38           case HardwareType.GpuNvidia:
    39             image = Utilities.EmbeddedResources.GetImage("nvidia.png");
    40             break;
    41           case HardwareType.GpuAti:
    42             image = Utilities.EmbeddedResources.GetImage("ati.png");
    43             break;
    44           case HardwareType.HDD:
    45             image = Utilities.EmbeddedResources.GetImage("hdd.png");
    46             break;
    47           case HardwareType.Heatmaster:
    48             image = Utilities.EmbeddedResources.GetImage("bigng.png");
    49             break;
    50           case HardwareType.Mainboard:
    51             image = Utilities.EmbeddedResources.GetImage("mainboard.png");
    52             break;
    53           case HardwareType.SuperIO:
    54             image = Utilities.EmbeddedResources.GetImage("chip.png");
    55             break;
    56           case HardwareType.TBalancer:
    57             image = Utilities.EmbeddedResources.GetImage("bigng.png");
    58             break;
    59           default:
    60             image = new Bitmap(1, 1);
    61             break;
    62         }
    63         images.Add(hardwareType, image);
    64         return image;
    65       }
    66     }
    67   }
    68 }