xref: /haiku/src/preferences/screensaver/Utility.h (revision c14bca2958fb7b0c34d5464ccfdd87038f909a0c)
17cae4a1eSAxel Dörfler #ifndef UTILITY_H
27cae4a1eSAxel Dörfler #define UTILITY_H
37cae4a1eSAxel Dörfler 
47cae4a1eSAxel Dörfler 
57cae4a1eSAxel Dörfler #include <Rect.h>
67cae4a1eSAxel Dörfler 
77cae4a1eSAxel Dörfler 
87cae4a1eSAxel Dörfler inline BPoint
scale_direct(float x,float y,BRect area)97cae4a1eSAxel Dörfler scale_direct(float x, float y, BRect area)
107cae4a1eSAxel Dörfler {
117cae4a1eSAxel Dörfler 	return BPoint(area.Width() * x + area.left, area.Height() * y + area.top);
127cae4a1eSAxel Dörfler }
137cae4a1eSAxel Dörfler 
147cae4a1eSAxel Dörfler 
157cae4a1eSAxel Dörfler inline BRect
scale_direct(float x1,float x2,float y1,float y2,BRect area)167cae4a1eSAxel Dörfler scale_direct(float x1, float x2, float y1, float y2, BRect area)
177cae4a1eSAxel Dörfler {
18c0a4294eSKarsten Heimrich 	return BRect(area.Width() * x1 + area.left, area.Height() * y1 + area.top,
19c0a4294eSKarsten Heimrich 		area.Width()* x2 + area.left, area.Height() * y2 + area.top);
207cae4a1eSAxel Dörfler }
217cae4a1eSAxel Dörfler 
22*23ca081aSJohn Scipione static const float kPositionalX[] = { 0, 0.1, 0.25, 0.3, 0.7, 0.75, 0.9, 1.0 };
23*23ca081aSJohn Scipione static const float kPositionalY[] = { 0, 0.1, 0.7, 0.8, 0.9, 1.0 };
247cae4a1eSAxel Dörfler 
257cae4a1eSAxel Dörfler inline BPoint
scale(int x,int y,BRect area)267cae4a1eSAxel Dörfler scale(int x, int y,BRect area)
277cae4a1eSAxel Dörfler {
287cae4a1eSAxel Dörfler 	return scale_direct(kPositionalX[x], kPositionalY[y], area);
297cae4a1eSAxel Dörfler }
307cae4a1eSAxel Dörfler 
317cae4a1eSAxel Dörfler 
327cae4a1eSAxel Dörfler inline BRect
scale(int x1,int x2,int y1,int y2,BRect area)337cae4a1eSAxel Dörfler scale(int x1, int x2, int y1, int y2,BRect area)
347cae4a1eSAxel Dörfler {
357cae4a1eSAxel Dörfler 	return scale_direct(kPositionalX[x1], kPositionalX[x2],
367cae4a1eSAxel Dörfler 		kPositionalY[y1], kPositionalY[y2], area);
377cae4a1eSAxel Dörfler }
387cae4a1eSAxel Dörfler 
39*23ca081aSJohn Scipione 
407cae4a1eSAxel Dörfler #endif	// UTILITY_H
41