<?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 or erosion to the bitmap. If [code]pixels[/code] is positive, dilation is applied to the bitmap. If [code]pixels[/code] is negative, erosion is applied to the bitmap. [code]rect[/code] defines the area where the morphological operation is applied. Pixels located outside the [code]rect[/code] are unaffected by [method grow_mask]. </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>