85 lines
3.4 KiB
XML
85 lines
3.4 KiB
XML
<?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" />
|
|
<argument index="0" name="size" type="Vector2" />
|
|
<description>
|
|
Creates a bitmap with the specified size, filled with [code]false[/code].
|
|
</description>
|
|
</method>
|
|
<method name="create_from_image_alpha">
|
|
<return type="void" />
|
|
<argument index="0" name="image" type="Image" />
|
|
<argument index="1" name="threshold" type="float" default="0.1" />
|
|
<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" />
|
|
<argument index="0" name="position" type="Vector2" />
|
|
<description>
|
|
Returns bitmap's value at the specified position.
|
|
</description>
|
|
</method>
|
|
<method name="get_size" qualifiers="const">
|
|
<return type="Vector2" />
|
|
<description>
|
|
Returns bitmap's dimensions.
|
|
</description>
|
|
</method>
|
|
<method name="get_true_bit_count" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the amount of bitmap elements that are set to [code]true[/code].
|
|
</description>
|
|
</method>
|
|
<method name="grow_mask">
|
|
<return type="void" />
|
|
<argument index="0" name="pixels" type="int" />
|
|
<argument index="1" name="rect" type="Rect2" />
|
|
<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" />
|
|
<argument index="0" name="rect" type="Rect2" />
|
|
<argument index="1" name="epsilon" type="float" default="2.0" />
|
|
<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" />
|
|
<argument index="0" name="position" type="Vector2" />
|
|
<argument index="1" name="bit" type="bool" />
|
|
<description>
|
|
Sets the bitmap's element at the specified position, to the specified value.
|
|
</description>
|
|
</method>
|
|
<method name="set_bit_rect">
|
|
<return type="void" />
|
|
<argument index="0" name="rect" type="Rect2" />
|
|
<argument index="1" name="bit" type="bool" />
|
|
<description>
|
|
Sets a rectangular portion of the bitmap to the specified value.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
</class>
|