Click here to Skip to main content
15,896,557 members
Articles / Programming Languages / C#

NextUI Thermometer Panel

Rate me:
Please Sign up or sign in to vote.
3.56/5 (15 votes)
23 Oct 20073 min read 32.3K   2.8K   33  
a thermometer like display
// *****************************************************************************
// 
//  (c) NextWave Software  2007
//  All rights reserved. The software and associated documentation 
//  supplied hereunder are the proprietary information of NextWave Software 
//	Limited, Kuala Lumpur , Malaysia and are supplied subject to 
//	licence terms.
// 
//  Version 0.9 	www.nextwavesoft.com
// *****************************************************************************
using System;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace NextUI.Border
{
    public class Border3D : Border
    {
        private static Color _outerDark = Color.FromArgb(88, 88, 88);
        private static Color _innerDark = Color.FromArgb(129, 129, 129);
        private static Color _innerLight = Color.FromArgb(250, 250, 250);
        private static Color _outerLight = Color.FromArgb(200, 200, 200);

        public override void DrawBorder(Graphics e, GraphicsPath path)
        {
            //create a light side first with pixel depth 1 on the north and west of a rectangle.
            GraphicsState state = e.Save();
            e.TranslateTransform(0, -2);
            e.FillPath(new SolidBrush(_outerLight), path);
            e.TranslateTransform(3, 0);
            e.FillPath(new SolidBrush(_outerLight), path);
            e.TranslateTransform(0, 5);
            e.FillPath(new SolidBrush(_outerLight), path);
            e.TranslateTransform(-5, 0);
            e.FillPath(new SolidBrush(_outerLight), path);
            e.TranslateTransform(0, -5);
            e.FillPath(new SolidBrush(_outerLight), path);
            e.TranslateTransform(1, 1);
            e.FillPath(new SolidBrush(_innerLight), path);
            e.TranslateTransform(1, 0);
            e.FillPath(new SolidBrush(_innerLight), path);
            e.TranslateTransform(0, 3);
            e.FillPath(new SolidBrush(_innerLight), path);
            e.TranslateTransform(2, 0);
            e.FillPath(new SolidBrush(_innerLight), path);
            e.TranslateTransform(-3, -3);
            e.FillPath(new SolidBrush(_innerLight), path);
            e.TranslateTransform(4, 4);
            e.FillPath(new SolidBrush(_outerDark), path);
            e.TranslateTransform(-1, -1);
            e.FillPath(new SolidBrush(_innerDark), path);
            e.Restore(state);
            
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior) www.nextwavesoft.com
United States United States
Senior Software Developer at nextwavesoft

Comments and Discussions