class GdkPixbuf::PixbufModulePattern

Overview

The signature prefix for a module.

The signature of a module is a set of prefixes. Prefixes are encoded as pairs of ordinary strings, where the second string, called the mask, if not NULL, must be of the same length as the first one and may contain ' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched, not matched, "don't-care"-bytes, zeros and non-zeros, respectively.

Each prefix has an associated integer that describes the relevance of the prefix, with 0 meaning a mismatch and 100 a "perfect match".

Starting with gdk-pixbuf 2.8, the first byte of the mask may be '', indicating an unanchored pattern that matches not only at the beginning, but also in the middle. Versions prior to 2.8 will interpret the '' like an 'x'.

The signature of a module is stored as an array of GdkPixbufModulePatterns. The array is terminated by a pattern where the #prefix is NULL.

WARNING ⚠️ The following code is in c ⚠️

GdkPixbufModulePattern *signature[] = {
  { "abcdx", " !x z", 100 },
  { "bla", NULL,  90 },
  { NULL, NULL, 0 }
};

In the example above, the signature matches e.g. "auud\0" with relevance 100, and "blau" with relevance 90.

Defined in:

auto/gdk_pixbuf-2.0/pixbuf_module_pattern.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pointer : Pointer(Void), transfer : GICrystal::Transfer) #

def self.new(prefix : String? = nil, mask : String? = nil, relevance : Int32? = nil) #

Instance Method Detail

def ==(other : self) : Bool #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def finalize #

def mask : String? #

def mask! #

def mask=(value : String?) #

def prefix : String? #

def prefix! #

def prefix=(value : String?) #

def relevance : Int32 #

def relevance=(value : Int32) #

def to_unsafe : Pointer(Void) #