xtd 0.2.0
Loading...
Searching...
No Matches
pen.h
1#pragma once
3#if !defined(__XTD_DRAWING_NATIVE_LIBRARY__)
4#error "Do not include this file: Internal use only"
5#endif
7
8#include <cstdint>
9#include <xtd/static.h>
10#include <xtd/types.h>
11#include <xtd/drawing_native_export.h>
12#include <vector>
13
15namespace xtd {
17 namespace drawing {
19 class pen;
21
24 namespace native {
32 class drawing_native_export_ pen final static_ {
33 friend xtd::drawing::pen;
34 protected:
36
41 static intptr create();
42
53 static void solid_color(intptr pen, xtd::byte a, xtd::byte r, xtd::byte g, xtd::byte b, float width, float dash_offset, std::vector<float> dashes);
54
60 static void hatch_fill(intptr pen, intptr brush, float width);
61
67 static void conical_gradient(intptr pen, intptr brush, float width);
68
73 static void end_cap(intptr pen, int32 line_cap);
74
80 static void linear_gradient(intptr pen, intptr brush, float width);
81
86 static void line_join(intptr pen, int32 line_join);
87
92 static void miter_limit(intptr pen, float miter_limit);
93
99 static void radial_gradient(intptr pen, intptr brush, float width);
100
105 static void start_cap(intptr pen, int32 line_cap);
106
112 static void texture_fill(intptr pen, intptr brush, float width);
113
117 static void destroy(intptr pen);
119 };
120 }
121 }
122}
Contains brush native API.
Definition brush.h:41
Contains pen native API.
Definition pen.h:32
static void conical_gradient(intptr pen, intptr brush, float width)
Sets conical gradient pen with specified conical gradient brush and width.
static void solid_color(intptr pen, xtd::byte a, xtd::byte r, xtd::byte g, xtd::byte b, float width, float dash_offset, std::vector< float > dashes)
Sets solid color pen with specified color, width, dash offset and dash array.
static void linear_gradient(intptr pen, intptr brush, float width)
Sets linear gradient pen with specified linear gradient brush and width.
static void hatch_fill(intptr pen, intptr brush, float width)
Sets hatch fill pen with specified hatch fill brush and width.
static void end_cap(intptr pen, int32 line_cap)
Sets the cap style used at the end of lines drawn with the pen.
static void destroy(intptr pen)
Destroys a pen.
static intptr create()
Creates a pen.
static void miter_limit(intptr pen, float miter_limit)
Sets the limit of the thickness of the join on a mitered corner.
static void start_cap(intptr pen, int32 line_cap)
Sets the cap style used at the start of lines drawn with the pen.
static void texture_fill(intptr pen, intptr brush, float width)
Sets texture fill pen with specified texture fill brush and width.
static void line_join(intptr pen, int32 line_join)
Sets the join style for the ends of two consecutive lines drawn with the pen.
static void radial_gradient(intptr pen, intptr brush, float width)
Sets radial gradient pen with specified radial gradient brush and width.
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition pen.h:35
#define static_
This keyword is use to represent a static object. A static object can't be instantiated (constructors...
Definition static.h:37
int32_t int32
Represents a 32-bit signed integer.
Definition int32.h:23
intmax_t intptr
Represent a pointer or a handle.
Definition intptr.h:23
uint8_t byte
Represents a 8-bit unsigned integer.
Definition byte.h:23
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::static_object class.
Contains xtd fundamental types.