Blame docs/html/harfbuzz-hb-blob.html

Packit 874993
Packit 874993
<html>
Packit 874993
<head>
Packit 874993
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 874993
<title>hb-blob: HarfBuzz Manual</title>
Packit 874993
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
Packit 874993
<link rel="home" href="index.html" title="HarfBuzz Manual">
Packit 874993
<link rel="up" href="ch08.html" title="Harfbuzz API">
Packit 874993
<link rel="prev" href="harfbuzz-Buffers.html" title="Buffers">
Packit 874993
<link rel="next" href="harfbuzz-hb-face.html" title="hb-face">
Packit 874993
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
Packit 874993
<link rel="stylesheet" href="style.css" type="text/css">
Packit 874993
</head>
Packit 874993
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 874993
Packit 874993
Packit 874993
Top  | 
Packit 874993
                  Description  | 
Packit 874993
                  Object Hierarchy
Packit 874993
Packit 874993
Home
Packit 874993
Up
Packit 874993
Prev
Packit 874993
Next
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

hb-blob

Packit 874993

hb-blob

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Functions

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
hb_blob_t *
Packit 874993
Packit 874993
Packit 874993
hb_blob_create ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
hb_blob_t *
Packit 874993
Packit 874993
Packit 874993
hb_blob_create_sub_blob ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
void
Packit 874993
Packit 874993
Packit 874993
hb_blob_destroy ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
const char *
Packit 874993
Packit 874993
Packit 874993
hb_blob_get_data ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
char *
Packit 874993
Packit 874993
Packit 874993
hb_blob_get_data_writable ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
hb_blob_t *
Packit 874993
Packit 874993
Packit 874993
hb_blob_get_empty ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
unsigned int
Packit 874993
Packit 874993
Packit 874993
hb_blob_get_length ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
void *
Packit 874993
Packit 874993
Packit 874993
hb_blob_get_user_data ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
hb_bool_t
Packit 874993
Packit 874993
Packit 874993
hb_blob_is_immutable ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
void
Packit 874993
Packit 874993
Packit 874993
hb_blob_make_immutable ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
hb_blob_t *
Packit 874993
Packit 874993
Packit 874993
hb_blob_reference ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
hb_bool_t
Packit 874993
Packit 874993
Packit 874993
hb_blob_set_user_data ()
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Types and Values

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
typedef
Packit 874993
hb_blob_t
Packit 874993
Packit 874993
Packit 874993
enum
Packit 874993
hb_memory_mode_t
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Object Hierarchy

Packit 874993
    GBoxed
Packit 874993
    ╰── hb_blob_t
Packit 874993
    GEnum
Packit 874993
    ╰── hb_memory_mode_t
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Description

Packit 874993
Packit 874993
Packit 874993

Functions

Packit 874993
Packit 874993

hb_blob_create ()

Packit 874993
hb_blob_t *
Packit 874993
hb_blob_create (const char *data,
Packit 874993
                unsigned int length,
Packit 874993
                hb_memory_mode_t mode,
Packit 874993
                void *user_data,
Packit 874993
                hb_destroy_func_t destroy);
Packit 874993

Creates a new "blob" object wrapping data

Packit 874993
.  The mode
Packit 874993
 parameter is used
Packit 874993
to negotiate ownership and lifecycle of data
Packit 874993
.

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

data

Packit 874993

Pointer to blob data.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

length

Packit 874993

Length of data

Packit 874993
in bytes.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

mode

Packit 874993

Memory mode for data

Packit 874993
.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

user_data

Packit 874993

Data parameter to pass to destroy

Packit 874993
.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

destroy

Packit 874993

Callback to call when data

Packit 874993
is not needed anymore.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

New blob, or the empty blob if something failed or if length

Packit 874993
is
Packit 874993
zero.  Destroy with hb_blob_destroy().

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_create_sub_blob ()

Packit 874993
hb_blob_t *
Packit 874993
hb_blob_create_sub_blob (hb_blob_t *parent,
Packit 874993
                         unsigned int offset,
Packit 874993
                         unsigned int length);
Packit 874993

Returns a blob that represents a range of bytes in parent

Packit 874993
.  The new
Packit 874993
blob is always created with HB_MEMORY_MODE_READONLY, meaning that it
Packit 874993
will never modify data in the parent blob.  The parent data is not
Packit 874993
expected to be modified, and will result in undefined behavior if it
Packit 874993
is.

Packit 874993

Makes parent

Packit 874993
 immutable.

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

parent

Packit 874993

Parent blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

offset

Packit 874993

Start offset of sub-blob within parent

Packit 874993
, in bytes.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

length

Packit 874993

Length of sub-blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

New blob, or the empty blob if something failed or if

Packit 874993
length
Packit 874993
is zero or offset
Packit 874993
is beyond the end of parent
Packit 874993
's data.  Destroy
Packit 874993
with hb_blob_destroy().

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_destroy ()

Packit 874993
void
Packit 874993
hb_blob_destroy (hb_blob_t *blob);
Packit 874993

Descreases the reference count on blob

Packit 874993
, and if it reaches zero, destroys
Packit 874993
blob
Packit 874993
, freeing all memory, possibly calling the destroy-callback the blob
Packit 874993
was created for if it has not been called already.

Packit 874993

See TODO:link object types for more information.

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_get_data ()

Packit 874993
const char *
Packit 874993
hb_blob_get_data (hb_blob_t *blob,
Packit 874993
                  unsigned int *length);
Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

length

Packit 874993

.

Packit 874993
[out]
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

.

Packit 874993

[transfer none][array length=length]

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_get_data_writable ()

Packit 874993
char *
Packit 874993
hb_blob_get_data_writable (hb_blob_t *blob,
Packit 874993
                           unsigned int *length);
Packit 874993

Tries to make blob data writable (possibly copying it) and

Packit 874993
return pointer to data.

Packit 874993

Fails if blob has been made immutable, or if memory allocation

Packit 874993
fails.

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

length

Packit 874993

output length of the writable data.

Packit 874993
[out]
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

Writable blob data,

Packit 874993
or NULL if failed. 

Packit 874993

[transfer none][array length=length]

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_get_empty ()

Packit 874993
hb_blob_t *
Packit 874993
hb_blob_get_empty (void);
Packit 874993

Returns the singleton empty blob.

Packit 874993

See TODO:link object types for more information.

Packit 874993
Packit 874993

Returns

Packit 874993

the empty blob.

Packit 874993

[transfer full]

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_get_length ()

Packit 874993
unsigned int
Packit 874993
hb_blob_get_length (hb_blob_t *blob);
Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

the length of blob data in bytes.

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_get_user_data ()

Packit 874993
void *
Packit 874993
hb_blob_get_user_data (hb_blob_t *blob,
Packit 874993
                       hb_user_data_key_t *key);
Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

key

Packit 874993

key for data to get.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

.

Packit 874993

[transfer none]

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_is_immutable ()

Packit 874993
hb_bool_t
Packit 874993
hb_blob_is_immutable (hb_blob_t *blob);
Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

TODO

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_make_immutable ()

Packit 874993
void
Packit 874993
hb_blob_make_immutable (hb_blob_t *blob);
Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_reference ()

Packit 874993
hb_blob_t *
Packit 874993
hb_blob_reference (hb_blob_t *blob);
Packit 874993

Increases the reference count on blob

Packit 874993
.

Packit 874993

See TODO:link object types for more information.

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

blob

Packit 874993
.

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_blob_set_user_data ()

Packit 874993
hb_bool_t
Packit 874993
hb_blob_set_user_data (hb_blob_t *blob,
Packit 874993
                       hb_user_data_key_t *key,
Packit 874993
                       void *data,
Packit 874993
                       hb_destroy_func_t destroy,
Packit 874993
                       hb_bool_t replace);
Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

blob

Packit 874993

a blob.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

key

Packit 874993

key for data to set.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

data

Packit 874993

data to set.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

destroy

Packit 874993

callback to call when data

Packit 874993
is not needed anymore.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

replace

Packit 874993

whether to replace an existing data with the same key.

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993
Packit 874993
Packit 874993

Types and Values

Packit 874993
Packit 874993

hb_blob_t

Packit 874993
typedef struct hb_blob_t hb_blob_t;
Packit 874993
Packit 874993
Packit 874993

Packit 874993
Packit 874993

enum hb_memory_mode_t

Packit 874993
Packit 874993

Members

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

HB_MEMORY_MODE_DUPLICATE

Packit 874993
 
Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

HB_MEMORY_MODE_READONLY

Packit 874993
 
Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

HB_MEMORY_MODE_WRITABLE

Packit 874993
 
Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE

Packit 874993
 
Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Generated by GTK-Doc V1.25.1
Packit 874993
</body>
Packit 874993
</html>