Mapbuf
Elementary

## Functions

void | elm_mapbuf_auto_set (Elm_Mapbuf *obj, Eina_Bool on)
| Set or unset auto flag for map rendering.
Eina_Bool | elm_mapbuf_auto_get (const Elm_Mapbuf *obj)
| Get a value whether auto mode is enabled or not.
void | elm_mapbuf_smooth_set (Elm_Mapbuf *obj, Eina_Bool smooth)
| Enable or disable smooth map rendering.
Eina_Bool | elm_mapbuf_smooth_get (const Elm_Mapbuf *obj)
| Get a value whether smooth map rendering is enabled or not.
void | elm_mapbuf_alpha_set (Elm_Mapbuf *obj, Eina_Bool alpha)
| Set or unset alpha flag for map rendering.
Eina_Bool | elm_mapbuf_alpha_get (const Elm_Mapbuf *obj)
| Get a value whether alpha blending is enabled or not.
void | elm_mapbuf_enabled_set (Elm_Mapbuf *obj, Eina_Bool enabled)
| Enable or disable the map.
Eina_Bool | elm_mapbuf_enabled_get (const Elm_Mapbuf *obj)
| Get a value whether map is enabled or not.
void | elm_mapbuf_point_color_set (Elm_Mapbuf *obj, int idx, int r, int g, int b, int a)
| The color of a point (vertex) in the mapbuf.
void | elm_mapbuf_point_color_get (const Elm_Mapbuf *obj, int idx, int *r, int *g, int *b, int *a)
| The color of a point (vertex) in the mapbuf.
Evas_Object * | elm_mapbuf_add (Evas_Object *parent)
| Add a new mapbuf widget to the given parent Elementary (container) object.

## Detailed Description

This holds one content object and uses an Evas Map of transformation points to be later used with this content. So the content will be moved as a single image. So it will improve performance when you have a complex interface, with a lot of elements, and will need to move it frequently (the content object and its children).

This widget inherits from The Elementary Container Class, so that the functions meant to act on it will work for mapbuf objects:

- elm_object_part_content_set
- elm_object_part_content_get
- elm_object_part_content_unset

Default content parts of the mapbuf widget that you can use are:

- "default" - The main content of the mapbuf

To enable map, elm_mapbuf_enabled_set() should be used.

See how to use this widget in this example: Mapbuf Widget Example

## Function Documentation

## elm_mapbuf_auto_set()

void elm_mapbuf_auto_set | ( | Elm_Mapbuf * | obj,
|  | Eina_Bool | on )

Set or unset auto flag for map rendering.

When a ampbuf object has "auto mode" enabled, then it will enable and disable map mode based on current visibility. Mapbuf will track if you show or hide it AND if the object is inside the canvas viewport or not when it is moved or resized. Note that if you turn automode off, then map mode will be in a disabled state at this point. When you turn it on for the first time, the current state will be evaluated base on current properties of the mapbuf object.

Auto mode is disabled by default.

Parameters

  [in] | obj | The object.
  [in] | on | The auto mode state.

## elm_mapbuf_auto_get()

Eina_Bool elm_mapbuf_auto_get | ( | const Elm_Mapbuf * | obj | ) |

Get a value whether auto mode is enabled or not.

Parameters

  [in] | obj | The object.

Returns
  The auto mode state.

## elm_mapbuf_smooth_set()

void elm_mapbuf_smooth_set | ( | Elm_Mapbuf * | obj,
|  | Eina_Bool | smooth )

Enable or disable smooth map rendering.

This sets smoothing for map rendering. If the object is a type that has its own smoothing settings, then both the smooth settings for this object and the map must be turned off.

By default smooth maps are enabled.

Parameters

  [in] | obj | The object.
  [in] | smooth | The smooth mode state.

## elm_mapbuf_smooth_get()

Eina_Bool elm_mapbuf_smooth_get | ( | const Elm_Mapbuf * | obj | ) |

Get a value whether smooth map rendering is enabled or not.

Parameters

  [in] | obj | The object.

Returns
  The smooth mode state.

## elm_mapbuf_alpha_set()

void elm_mapbuf_alpha_set | ( | Elm_Mapbuf * | obj,
|  | Eina_Bool | alpha )

Set or unset alpha flag for map rendering.

This sets alpha flag for map rendering. If the object is a type that has its own alpha settings, then this will take precedence. Only image objects have this currently. It stops alpha blending of the map area, and is useful if you know the object and/or all sub-objects is 100% solid.

Alpha is enabled by default.

Parameters

  [in] | obj | The object.
  [in] | alpha | The alpha state.

## elm_mapbuf_alpha_get()

Eina_Bool elm_mapbuf_alpha_get | ( | const Elm_Mapbuf * | obj | ) |

Get a value whether alpha blending is enabled or not.

Parameters

  [in] | obj | The object.

Returns
  The alpha state.

## elm_mapbuf_enabled_set()

void elm_mapbuf_enabled_set | ( | Elm_Mapbuf * | obj,
|  | Eina_Bool | enabled )

Enable or disable the map.

This enables the map that is set or disables it. On enable, the object geometry will be saved, and the new geometry will change (position and size) to reflect the map geometry set.

Also, when enabled, alpha and smooth states will be used, so if the content isn't solid, alpha should be enabled, for example, otherwise a black rectangle will fill the content.

When disabled, the stored map will be freed and geometry prior to enabling the map will be restored.

It's disabled by default.

Parameters

  [in] | obj | The object.
  [in] | enabled | The enabled state.

## elm_mapbuf_enabled_get()

Eina_Bool elm_mapbuf_enabled_get | ( | const Elm_Mapbuf * | obj | ) |

Get a value whether map is enabled or not.

Parameters

  [in] | obj | The object.

Returns
  The enabled state.

## elm_mapbuf_point_color_set()

void elm_mapbuf_point_color_set | ( | Elm_Mapbuf * | obj,
|  | int | idx,
|  | int | r,
|  | int | g,
|  | int | b,
|  | int | a )

The color of a point (vertex) in the mapbuf.

This represents the color of the vertex in the mapbuf. Colors will be linearly interpolated between vertex points through the mapbuf. Color will multiply the "texture" pixels (like GL_MODULATE in OpenGL). The default color of a vertex in a mapbuf is white solid (255, 255, 255, 255) which means it will have no effect on modifying the texture pixels.

Parameters

  [in] | obj | The object.
  [in] | idx | Index of point to change, from 0 to 3.
  [in] | r | Red (0 - 255)
  [in] | g | Green (0 - 255)
  [in] | b | Blue (0 - 255)
  [in] | a | Alpha (0 - 255)

Since
  1.9

## elm_mapbuf_point_color_get()

void elm_mapbuf_point_color_get | ( | const Elm_Mapbuf * | obj,
|  | int | idx,
|  | int * | r,
|  | int * | g,
|  | int * | b,
|  | int * | a )

The color of a point (vertex) in the mapbuf.

This represents the color of the vertex in the mapbuf. Colors will be linearly interpolated between vertex points through the mapbuf. Color will multiply the "texture" pixels (like GL_MODULATE in OpenGL). The default color of a vertex in a mapbuf is white solid (255, 255, 255, 255) which means it will have no effect on modifying the texture pixels.

Parameters

  [in] | obj | The object.
  [in] | idx | Index of point to change, from 0 to 3.
  [out] | r | Red (0 - 255)
  [out] | g | Green (0 - 255)
  [out] | b | Blue (0 - 255)
  [out] | a | Alpha (0 - 255)

Since
  1.9

## elm_mapbuf_add()

Evas_Object * elm_mapbuf_add | ( | Evas_Object * | parent | ) |

Add a new mapbuf widget to the given parent Elementary (container) object.

Parameters

  parent | The parent object.

Returns
  A new mapbuf widget handle or `NULL`, on errors.

This function inserts a new mapbuf widget on the canvas.

References EINA_SAFETY_ON_NULL_RETURN_VAL.