xref: /haiku/src/preferences/screensaver/Utility.h (revision 7cae4a1ee0a7e8f1214e6fa410efe9f5a0c7cecb)
1*7cae4a1eSAxel Dörfler #ifndef UTILITY_H
2*7cae4a1eSAxel Dörfler #define UTILITY_H
3*7cae4a1eSAxel Dörfler 
4*7cae4a1eSAxel Dörfler 
5*7cae4a1eSAxel Dörfler #include <Rect.h>
6*7cae4a1eSAxel Dörfler 
7*7cae4a1eSAxel Dörfler 
8*7cae4a1eSAxel Dörfler int secondsToSlider(int val);
9*7cae4a1eSAxel Dörfler 
10*7cae4a1eSAxel Dörfler inline BPoint
11*7cae4a1eSAxel Dörfler scale_direct(float x, float y, BRect area)
12*7cae4a1eSAxel Dörfler {
13*7cae4a1eSAxel Dörfler 	return BPoint(area.Width()*x+area.left,area.Height()*y+area.top);
14*7cae4a1eSAxel Dörfler }
15*7cae4a1eSAxel Dörfler 
16*7cae4a1eSAxel Dörfler 
17*7cae4a1eSAxel Dörfler inline BRect
18*7cae4a1eSAxel Dörfler scale_direct(float x1,float x2,float y1,float y2,BRect area)
19*7cae4a1eSAxel Dörfler {
20*7cae4a1eSAxel Dörfler 	return BRect(area.Width()*x1+area.left,area.Height()*y1+area.top, area.Width()*x2+area.left,area.Height()*y2+area.top);
21*7cae4a1eSAxel Dörfler }
22*7cae4a1eSAxel Dörfler 
23*7cae4a1eSAxel Dörfler static const float kPositionalX[] = {0,.1,.25,.3,.7,.75,.9,1.0};
24*7cae4a1eSAxel Dörfler static const float kPositionalY[] = {0,.1,.7,.8,.9,1.0};
25*7cae4a1eSAxel Dörfler 
26*7cae4a1eSAxel Dörfler inline BPoint
27*7cae4a1eSAxel Dörfler scale(int x, int y,BRect area)
28*7cae4a1eSAxel Dörfler {
29*7cae4a1eSAxel Dörfler 	return scale_direct(kPositionalX[x],kPositionalY[y],area);
30*7cae4a1eSAxel Dörfler }
31*7cae4a1eSAxel Dörfler 
32*7cae4a1eSAxel Dörfler 
33*7cae4a1eSAxel Dörfler inline BRect
34*7cae4a1eSAxel Dörfler scale(int x1, int x2, int y1, int y2,BRect area)
35*7cae4a1eSAxel Dörfler {
36*7cae4a1eSAxel Dörfler 	return scale_direct(kPositionalX[x1], kPositionalX[x2],
37*7cae4a1eSAxel Dörfler 		kPositionalY[y1], kPositionalY[y2], area);
38*7cae4a1eSAxel Dörfler }
39*7cae4a1eSAxel Dörfler 
40*7cae4a1eSAxel Dörfler #endif	// UTILITY_H
41