summaryrefslogtreecommitdiff
path: root/doc/classes/BitMap.xml
blob: 83e598d2badef80aaf3bab6ce253eac03f995e16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BitMap" inherits="Resource" version="4.0">
	<brief_description>
		Boolean matrix.
	</brief_description>
	<description>
		A two-dimensional array of boolean values, can be used to efficiently store a binary matrix (every matrix element takes only one bit) and query the values using natural cartesian coordinates.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="create">
			<return type="void">
			</return>
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
				Creates a bitmap with the specified size, filled with [code]false[/code].
			</description>
		</method>
		<method name="create_from_image_alpha">
			<return type="void">
			</return>
			<argument index="0" name="image" type="Image">
			</argument>
			<argument index="1" name="threshold" type="float" default="0.1">
			</argument>
			<description>
				Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to [code]false[/code] if the alpha value of the image at that position is equal to [code]threshold[/code] or less, and [code]true[/code] in other case.
			</description>
		</method>
		<method name="get_bit" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="position" type="Vector2">
			</argument>
			<description>
				Returns bitmap's value at the specified position.
			</description>
		</method>
		<method name="get_size" qualifiers="const">
			<return type="Vector2">
			</return>
			<description>
				Returns bitmap's dimensions.
			</description>
		</method>
		<method name="get_true_bit_count" qualifiers="const">
			<return type="int">
			</return>
			<description>
				Returns the amount of bitmap elements that are set to [code]true[/code].
			</description>
		</method>
		<method name="grow_mask">
			<return type="void">
			</return>
			<argument index="0" name="pixels" type="int">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<description>
				Applies morphological dilation to the bitmap. The first argument is the dilation amount, Rect2 is the area where the dilation will be applied.
			</description>
		</method>
		<method name="opaque_to_polygons" qualifiers="const">
			<return type="Array">
			</return>
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<argument index="1" name="epsilon" type="float" default="2.0">
			</argument>
			<description>
				Creates an [Array] of polygons covering a rectangular portion of the bitmap. It uses a marching squares algorithm, followed by Ramer-Douglas-Peucker (RDP) reduction of the number of vertices. Each polygon is described as a [PackedVector2Array] of its vertices.
				To get polygons covering the whole bitmap, pass:
				[codeblock]
				Rect2(Vector2(), get_size())
				[/codeblock]
				[code]epsilon[/code] is passed to RDP to control how accurately the polygons cover the bitmap: a lower [code]epsilon[/code] corresponds to more points in the polygons.
			</description>
		</method>
		<method name="set_bit">
			<return type="void">
			</return>
			<argument index="0" name="position" type="Vector2">
			</argument>
			<argument index="1" name="bit" type="bool">
			</argument>
			<description>
				Sets the bitmap's element at the specified position, to the specified value.
			</description>
		</method>
		<method name="set_bit_rect">
			<return type="void">
			</return>
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<argument index="1" name="bit" type="bool">
			</argument>
			<description>
				Sets a rectangular portion of the bitmap to the specified value.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>