2#ifndef _aspose_drawing_drawing2d_custom_line_cap_h_
3#define _aspose_drawing_drawing2d_custom_line_cap_h_
6#include "drawing/drawing2d/line_cap.h"
7#include "drawing/drawing2d/line_join.h"
8#include "system/exceptions.h"
10#ifdef ASPOSECPPLIB_BEING_BUILT
11#include <core/SkScalar.h>
12#include <core/SkPath.h>
13#include <core/SkPathEffect.h>
17ASPOSECPP_3RD_PARTY_CLASS(SkPaint);
19ASPOSECPP_3RD_PARTY_CLASS(SkPath);
21ASPOSECPP_3RD_PARTY_TYPEDEF(SkScalar,
float);
23ASPOSECPP_3RD_PARTY_CLASS(SkPathEffect);
25template <
typename T>
class sk_sp;
27namespace System {
namespace Drawing {
68 ASPOSECPP_SHARED_API
LineCap get_BaseCap() const;
71 ASPOSECPP_SHARED_API
void set_BaseCap(
LineCap value);
73 ASPOSECPP_SHARED_API
float get_BaseInset() const;
76 ASPOSECPP_SHARED_API
void set_BaseInset(
float value);
78 ASPOSECPP_SHARED_API
LineJoin get_StrokeJoin() const;
81 ASPOSECPP_SHARED_API
void set_StrokeJoin(
LineJoin value);
83 ASPOSECPP_SHARED_API
float get_WidthScale() const;
86 ASPOSECPP_SHARED_API
void set_WidthScale(
float value);
98 bool fit_to_line_width,
LineCap baseCap,
float baseInset);
101 MEMBER_FUNCTION_MAKE_OBJECT(
CustomLineCap, CODEPORTING_ARGS(), CODEPORTING_ARGS());
106 SkPath ScaleCapPath(SkScalar& scale_x, SkScalar& scale_y, SkScalar& width,
bool fix_scale =
true)
const;
108 SkPaint BuildCapPaint(
const SkPaint& base_paint, sk_sp<SkPathEffect> path_effect)
const;
110 void Apply(
const SkPaint& base_paint, std::vector<SkPaint>& result, SkScalar width,
111 SkScalar scale_x, SkScalar scale_y,
bool is_start_cap)
const;
113 void AppendPath(
const SkPath* src_path, SkPath* dest_path, SkScalar width,
bool is_start_cap,
114 bool fix_scale =
true)
const;
116 bool m_fit_to_line_width;
Represents a user-defined line cap. Objects of this class should only be allocated using System::Make...
Definition: custom_line_cap.h:40
CustomLineCap()
Default constructor for subclass creation.
void Init(const SharedPtr< GraphicsPath > &fillPath, const SharedPtr< GraphicsPath > &strokePath, bool fit_to_line_width, LineCap baseCap, float baseInset)
bool m_is_filled
Indicates in this cap is filled.
Definition: custom_line_cap.h:95
Represents a set of connected lines and curves. Objects of this class should only be allocated using ...
Definition: graphics_path.h:80
Represents properties such as color, width etc. of the lines and curves being drawn....
Definition: pen.h:48
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:62
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
LineCap
Indicates the available cap styles with which a Pen object can end a line.
Definition: line_cap.h:9
LineJoin
Specifies how consequent lines or curves are joined.
Definition: line_join.h:9
@ Pen
Defines color adjustment information for Pen objects.
Definition: db_command.h:9