1255597Sdes/*
2255597Sdes * Copyright 2006-2008, Haiku.
3255597Sdes * Distributed under the terms of the MIT License.
4255597Sdes *
5255597Sdes * Authors:
6255597Sdes *		Artur Wyszynski <harakash@gmail.com>
7255597Sdes */
8291767Sdes
9255597Sdes#include <Point.h>
10255597Sdes#include <Gradient.h>
11255597Sdes#include <GradientLinear.h>
12255597Sdes
13285206Sdes
14255597Sdes// constructor
15295691SdesBGradientLinear::BGradientLinear()
16285206Sdes{
17255597Sdes	fData.linear.x1 = 0.0f;
18269257Sdes	fData.linear.y1 = 0.0f;
19269257Sdes	fData.linear.x2 = 0.0f;
20269257Sdes	fData.linear.y2 = 0.0f;
21269257Sdes	fType = TYPE_LINEAR;
22269257Sdes}
23291767Sdes
24291767Sdes
25291767Sdes// constructor
26291767SdesBGradientLinear::BGradientLinear(const BPoint& start, const BPoint& end)
27269257Sdes{
28255597Sdes	fData.linear.x1 = start.x;
29255597Sdes	fData.linear.y1 = start.y;
30255597Sdes	fData.linear.x2 = end.x;
31255597Sdes	fData.linear.y2 = end.y;
32255597Sdes	fType = TYPE_LINEAR;
33255597Sdes}
34269257Sdes
35269257Sdes
36269257Sdes// constructor
37269257SdesBGradientLinear::BGradientLinear(float x1, float y1, float x2, float y2)
38269257Sdes{
39269257Sdes	fData.linear.x1 = x1;
40269257Sdes	fData.linear.y1 = y1;
41269257Sdes	fData.linear.x2 = x2;
42269257Sdes	fData.linear.y2 = y2;
43255597Sdes	fType = TYPE_LINEAR;
44}
45
46
47// Start
48BPoint
49BGradientLinear::Start() const
50{
51	return BPoint(fData.linear.x1, fData.linear.y1);
52}
53
54
55// SetStart
56void
57BGradientLinear::SetStart(const BPoint& start)
58{
59	fData.linear.x1 = start.x;
60	fData.linear.y1 = start.y;
61}
62
63
64// SetStart
65void
66BGradientLinear::SetStart(float x, float y)
67{
68	fData.linear.x1 = x;
69	fData.linear.y1 = y;
70}
71
72
73// End
74BPoint
75BGradientLinear::End() const
76{
77	return BPoint(fData.linear.x2, fData.linear.y2);
78}
79
80
81// SetEnd
82void
83BGradientLinear::SetEnd(const BPoint& end)
84{
85	fData.linear.x2 = end.x;
86	fData.linear.y2 = end.y;
87}
88
89
90// SetEnd
91void
92BGradientLinear::SetEnd(float x, float y)
93{
94	fData.linear.x2 = x;
95	fData.linear.y2 = y;
96}
97