ASPiK SDK
d2dgraphicspath.h
1 // This file is part of VSTGUI. It is subject to the license terms
2 // in the LICENSE file found in the top-level directory of this
3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
4 
5 #ifndef __d2dgraphicspath__
6 #define __d2dgraphicspath__
7 
8 #include "../../../cgraphicspath.h"
9 
10 #if WINDOWS && VSTGUI_DIRECT2D_SUPPORT
11 
12 #include <list>
13 
14 struct ID2D1PathGeometry;
15 struct ID2D1Geometry;
16 struct D2D1_GRADIENT_STOP;
17 
18 namespace VSTGUI {
19 class D2DFont;
20 class D2DDrawContext;
21 
22 //-----------------------------------------------------------------------------
23 class D2DGraphicsPath : public CGraphicsPath
24 {
25 public:
26  D2DGraphicsPath ();
27  D2DGraphicsPath (const D2DFont* font, UTF8StringPtr text);
28  ~D2DGraphicsPath ();
29 
30  ID2D1Geometry* createPath (int32_t fillMode, D2DDrawContext* context = 0, CGraphicsTransform* transform = 0);
31 
32  CGradient* createGradient (double color1Start, double color2Start, const CColor& color1, const CColor& color2) override;
33 
34  bool hitTest (const CPoint& p, bool evenOddFilled = false, CGraphicsTransform* transform = 0) override;
35  CPoint getCurrentPosition () override;
36  CRect getBoundingBox () override;
37  void dirty () override;
38 protected:
39  ID2D1Geometry* path;
40  int32_t currentPathFillMode;
41 };
42 
43 } // namespace
44 
45 #endif // WINDOWS
46 
47 #endif // __d2dgraphicspath__
Definition: customcontrols.cpp:8