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);
 
  100#ifdef __DBG_FOR_EACH_MEMBER 
  104    ASPOSECPP_SHARED_API 
void DBG_for_each_member(DBG::for_each_member_visitor& visitor) 
const override;
 
  107    const char* DBG_class_name()
 const override { 
return "CustomLineCap"; }
 
  111    MEMBER_FUNCTION_MAKE_OBJECT(
CustomLineCap, CODEPORTING_ARGS(), CODEPORTING_ARGS());
 
  116    SkPath ScaleCapPath(SkScalar& scale_x, SkScalar& scale_y, SkScalar& width, 
bool fix_scale = 
true) 
const;
 
  118    SkPaint BuildCapPaint(
const SkPaint& base_paint, sk_sp<SkPathEffect> path_effect) 
const;
 
  120    void Apply(
const SkPaint& base_paint, std::vector<SkPaint>& result, SkScalar width,
 
  121               SkScalar scale_x, SkScalar scale_y, 
bool is_start_cap) 
const;
 
  123    void AppendPath(
const SkPath* src_path, SkPath* dest_path, SkScalar width, 
bool is_start_cap,
 
  124                    bool fix_scale = 
true) 
const;
 
  126    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