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
15991547efSStephan AßmusBGradientLinear::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;
2152de6dceSStephan Aßmus	fType = TYPE_LINEAR;
22991547efSStephan Aßmus}
23991547efSStephan Aßmus
24991547efSStephan Aßmus
25991547efSStephan Aßmus// constructor
26991547efSStephan AßmusBGradientLinear::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;
3252de6dceSStephan Aßmus	fType = TYPE_LINEAR;
33991547efSStephan Aßmus}
34991547efSStephan Aßmus
35991547efSStephan Aßmus
36991547efSStephan Aßmus// constructor
37991547efSStephan AßmusBGradientLinear::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;
4352de6dceSStephan Aßmus	fType = TYPE_LINEAR;
44991547efSStephan Aßmus}
45991547efSStephan Aßmus
46991547efSStephan Aßmus
47991547efSStephan Aßmus// Start
48991547efSStephan AßmusBPoint
49991547efSStephan AßmusBGradientLinear::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ßmusvoid
57991547efSStephan AßmusBGradientLinear::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ßmusvoid
66991547efSStephan AßmusBGradientLinear::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ßmusBPoint
75991547efSStephan AßmusBGradientLinear::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ßmusvoid
83991547efSStephan AßmusBGradientLinear::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ßmusvoid
92991547efSStephan AßmusBGradientLinear::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