xref: /haiku/src/apps/pulse/ProgressBar.h (revision 9c353c978c076fa7b8c43d2baafc17e287377554)
152a38012Sejakowatz //****************************************************************************************
252a38012Sejakowatz //
352a38012Sejakowatz //	File:		ProgressBar.h
452a38012Sejakowatz //
552a38012Sejakowatz //	Written by:	David Ramsey and Daniel Switkin
652a38012Sejakowatz //
752a38012Sejakowatz //	Copyright 1999, Be Incorporated
852a38012Sejakowatz //
952a38012Sejakowatz //****************************************************************************************
1052a38012Sejakowatz 
1152a38012Sejakowatz #ifndef PROGRESSBAR_H
1252a38012Sejakowatz #define PROGRESSBAR_H
1352a38012Sejakowatz 
1452a38012Sejakowatz #include <interface/View.h>
1552a38012Sejakowatz 
1652a38012Sejakowatz typedef struct {
1752a38012Sejakowatz 	rgb_color color;
1852a38012Sejakowatz 	BRect	rect;
1952a38012Sejakowatz } segment;
2052a38012Sejakowatz 
2152a38012Sejakowatz #define ltgray 216
2252a38012Sejakowatz #define dkgray 80
2352a38012Sejakowatz 
2452a38012Sejakowatz class ProgressBar : public BView {
2552a38012Sejakowatz 	public:
2652a38012Sejakowatz 		ProgressBar(BRect r, char* name);
27*7bed483aSJonas Sundström 		virtual void Draw(BRect rect);
2852a38012Sejakowatz 		void Set(int32 value);
2952a38012Sejakowatz 		void UpdateColors(int32 color, bool fade);
30*7bed483aSJonas Sundström 		virtual void AttachedToWindow();
31*7bed483aSJonas Sundström 		virtual void MouseDown(BPoint point);
3252a38012Sejakowatz 
3352a38012Sejakowatz 		enum {
3452a38012Sejakowatz 			PROGRESS_WIDTH	= 146,
3552a38012Sejakowatz 			PROGRESS_HEIGHT	= 20
3652a38012Sejakowatz 		};
3752a38012Sejakowatz 
3852a38012Sejakowatz 	private:
3952a38012Sejakowatz 		void Render(bool all = false);
4052a38012Sejakowatz 
4152a38012Sejakowatz 		segment segments[20];
4252a38012Sejakowatz 		int32 current_value, previous_value;
4352a38012Sejakowatz };
4452a38012Sejakowatz 
4552a38012Sejakowatz #endif
46