Put samsung copyright header to all our own source code.
[platform/core/uifw/lottie-player.git] / src / vector / vpainter.h
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
3  *
4  * Licensed under the Flora License, Version 1.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
7  *
8  *     http://floralicense.org/license/
9  *
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.
15  */
16
17 #ifndef VPAINTER_H
18 #define VPAINTER_H
19
20 #include "vbrush.h"
21 #include "vpoint.h"
22 #include "vrle.h"
23
24 V_BEGIN_NAMESPACE
25
26 class VBitmap;
27 class VPainterImpl;
28 class VPainter {
29 public:
30     enum CompositionMode { CompModeSrc, CompModeSrcOver };
31     ~VPainter();
32     VPainter();
33     VPainter(VBitmap *buffer);
34     bool  begin(VBitmap *buffer);
35     void  end();
36     void  setBrush(const VBrush &brush);
37     void  drawRle(const VPoint &pos, const VRle &rle);
38     void  drawRle(const VRle &rle, const VRle &clip);
39     VRect clipBoundingRect() const;
40
41 private:
42     VPainterImpl *mImpl;
43 };
44
45 V_END_NAMESPACE
46
47 #endif  // VPAINTER_H