GUI/HardwareTypeImage.cs
author moel.mich
Sun, 18 Aug 2013 21:44:08 +0000
changeset 421 055a9ec117d2
parent 370 8e4dedc41924
permissions -rw-r--r--
Fixed a few stability issues in the logging implementation. Added support for logging sensors once the reappear.
     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-2012 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           case HardwareType.RAM:
    60             image = Utilities.EmbeddedResources.GetImage("ram.png");
    61             break;
    62           default:
    63             image = new Bitmap(1, 1);
    64             break;
    65         }
    66         images.Add(hardwareType, image);
    67         return image;
    68       }
    69     }
    70   }
    71 }