xref: /haiku/src/kits/interface/GradientLinear.cpp (revision 52de6dce94e48d957a3bb96d6b256f45a953f4c2)
1991547efSStephan Aßmus /*
2991547efSStephan Aßmus  * Copyright 2006-2008, Haiku.
3991547efSStephan Aßmus  * Distributed under the terms of the MIT License.
4991547efSStephan Aßmus  *
5991547efSStephan Aßmus  * Authors:
6991547efSStephan Aßmus  *		Artur Wyszynski <harakash@gmail.com>
7991547efSStephan Aßmus  */
8991547efSStephan Aßmus 
9991547efSStephan Aßmus #include <Point.h>
10991547efSStephan Aßmus #include <Gradient.h>
11991547efSStephan Aßmus #include <GradientLinear.h>
12991547efSStephan Aßmus 
13991547efSStephan Aßmus 
14991547efSStephan Aßmus // constructor
BGradientLinear()15991547efSStephan Aßmus BGradientLinear::BGradientLinear()
16991547efSStephan Aßmus {
17991547efSStephan Aßmus 	fData.linear.x1 = 0.0f;
18991547efSStephan Aßmus 	fData.linear.y1 = 0.0f;
19991547efSStephan Aßmus 	fData.linear.x2 = 0.0f;
20991547efSStephan Aßmus 	fData.linear.y2 = 0.0f;
21*52de6dceSStephan Aßmus 	fType = TYPE_LINEAR;
22991547efSStephan Aßmus }
23991547efSStephan Aßmus 
24991547efSStephan Aßmus 
25991547efSStephan Aßmus // constructor
BGradientLinear(const BPoint & start,const BPoint & end)26991547efSStephan Aßmus BGradientLinear::BGradientLinear(const BPoint& start, const BPoint& end)
27991547efSStephan Aßmus {
28991547efSStephan Aßmus 	fData.linear.x1 = start.x;
29991547efSStephan Aßmus 	fData.linear.y1 = start.y;
30991547efSStephan Aßmus 	fData.linear.x2 = end.x;
31991547efSStephan Aßmus 	fData.linear.y2 = end.y;
32*52de6dceSStephan Aßmus 	fType = TYPE_LINEAR;
33991547efSStephan Aßmus }
34991547efSStephan Aßmus 
35991547efSStephan Aßmus 
36991547efSStephan Aßmus // constructor
BGradientLinear(float x1,float y1,float x2,float y2)37991547efSStephan Aßmus BGradientLinear::BGradientLinear(float x1, float y1, float x2, float y2)
38991547efSStephan Aßmus {
39991547efSStephan Aßmus 	fData.linear.x1 = x1;
40991547efSStephan Aßmus 	fData.linear.y1 = y1;
41991547efSStephan Aßmus 	fData.linear.x2 = x2;
42991547efSStephan Aßmus 	fData.linear.y2 = y2;
43*52de6dceSStephan Aßmus 	fType = TYPE_LINEAR;
44991547efSStephan Aßmus }
45991547efSStephan Aßmus 
46991547efSStephan Aßmus 
47991547efSStephan Aßmus // Start
48991547efSStephan Aßmus BPoint
Start() const49991547efSStephan Aßmus BGradientLinear::Start() const
50991547efSStephan Aßmus {
51991547efSStephan Aßmus 	return BPoint(fData.linear.x1, fData.linear.y1);
52991547efSStephan Aßmus }
53991547efSStephan Aßmus 
54991547efSStephan Aßmus 
55991547efSStephan Aßmus // SetStart
56991547efSStephan Aßmus void
SetStart(const BPoint & start)57991547efSStephan Aßmus BGradientLinear::SetStart(const BPoint& start)
58991547efSStephan Aßmus {
59991547efSStephan Aßmus 	fData.linear.x1 = start.x;
60991547efSStephan Aßmus 	fData.linear.y1 = start.y;
61991547efSStephan Aßmus }
62991547efSStephan Aßmus 
63991547efSStephan Aßmus 
64991547efSStephan Aßmus // SetStart
65991547efSStephan Aßmus void
SetStart(float x,float y)66991547efSStephan Aßmus BGradientLinear::SetStart(float x, float y)
67991547efSStephan Aßmus {
68991547efSStephan Aßmus 	fData.linear.x1 = x;
69991547efSStephan Aßmus 	fData.linear.y1 = y;
70991547efSStephan Aßmus }
71991547efSStephan Aßmus 
72991547efSStephan Aßmus 
73991547efSStephan Aßmus // End
74991547efSStephan Aßmus BPoint
End() const75991547efSStephan Aßmus BGradientLinear::End() const
76991547efSStephan Aßmus {
77991547efSStephan Aßmus 	return BPoint(fData.linear.x2, fData.linear.y2);
78991547efSStephan Aßmus }
79991547efSStephan Aßmus 
80991547efSStephan Aßmus 
81991547efSStephan Aßmus // SetEnd
82991547efSStephan Aßmus void
SetEnd(const BPoint & end)83991547efSStephan Aßmus BGradientLinear::SetEnd(const BPoint& end)
84991547efSStephan Aßmus {
85991547efSStephan Aßmus 	fData.linear.x2 = end.x;
86991547efSStephan Aßmus 	fData.linear.y2 = end.y;
87991547efSStephan Aßmus }
88991547efSStephan Aßmus 
89991547efSStephan Aßmus 
90991547efSStephan Aßmus // SetEnd
91991547efSStephan Aßmus void
SetEnd(float x,float y)92991547efSStephan Aßmus BGradientLinear::SetEnd(float x, float y)
93991547efSStephan Aßmus {
94991547efSStephan Aßmus 	fData.linear.x2 = x;
95991547efSStephan Aßmus 	fData.linear.y2 = y;
96991547efSStephan Aßmus }
97