2 * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
4 * Licensed under the LGPL License, Version 2.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * https://www.gnu.org/licenses/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 VGradient::VGradient(VGradient::Type type)
23 mSpread(VGradient::Spread::Pad),
24 mMode(VGradient::Mode::Absolute)
28 void VGradient::setStops(const VGradientStops &stops)
33 VLinearGradient::VLinearGradient(const VPointF &start, const VPointF &stop)
34 : VGradient(VGradient::Type::Linear)
36 linear.x1 = start.x();
37 linear.y1 = start.y();
42 VLinearGradient::VLinearGradient(float xStart, float yStart, float xStop,
44 : VGradient(VGradient::Type::Linear)
52 VRadialGradient::VRadialGradient(const VPointF ¢er, float cradius,
53 const VPointF &focalPoint, float fradius)
54 : VGradient(VGradient::Type::Radial)
56 radial.cx = center.x();
57 radial.cy = center.y();
58 radial.fx = focalPoint.x();
59 radial.fy = focalPoint.y();
60 radial.cradius = cradius;
61 radial.fradius = fradius;
64 VRadialGradient::VRadialGradient(float cx, float cy, float cradius, float fx,
65 float fy, float fradius)
66 : VGradient(VGradient::Type::Radial)
72 radial.cradius = cradius;
73 radial.fradius = fradius;
76 VBrush::VBrush(const VColor &color) : mType(VBrush::Type::Solid), mColor(color)
80 VBrush::VBrush(int r, int g, int b, int a)
81 : mType(VBrush::Type::Solid), mColor(r, g, b, a)
86 VBrush::VBrush(const VGradient *gradient) : mType(VBrush::Type::NoBrush)
88 if (!gradient) return;
92 if (gradient->mType == VGradient::Type::Linear) {
93 mType = VBrush::Type::LinearGradient;
94 } else if (gradient->mType == VGradient::Type::Radial) {
95 mType = VBrush::Type::RadialGradient;