Edje Drag
Edje » Edje Object » Edje Part

Functions that deal with dragable parts. More...

## Typedefs

typedef enum _Edje_Drag_Dir | Edje_Drag_Dir
| Directions in which a part can be dragged .

## Enumerations

enum | _Edje_Drag_Dir { EDJE_DRAG_DIR_NONE = 0 , EDJE_DRAG_DIR_X = 1 , EDJE_DRAG_DIR_Y = 2 , EDJE_DRAG_DIR_XY = 3 }
| Directions in which a part can be dragged . More...

## Functions

Eina_Bool | edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy)
| Sets the dragable object location.
Eina_Bool | edje_object_part_drag_value_get (const Evas_Object *obj, const char *part, double *dx, double *dy)
| Gets the dragable object location.
Eina_Bool | edje_object_part_drag_size_set (Evas_Object *obj, const char *part, double dw, double dh)
| Sets the dragable object size.
Eina_Bool | edje_object_part_drag_size_get (const Evas_Object *obj, const char *part, double *dw, double *dh)
| Gets the dragable object size.
Edje_Drag_Dir | edje_object_part_drag_dir_get (const Evas_Object *obj, const char *part)
| Determines dragable directions.
Eina_Bool | edje_object_part_drag_step_set (Evas_Object *obj, const char *part, double dx, double dy)
| Sets the drag step increment.
Eina_Bool | edje_object_part_drag_step_get (const Evas_Object *obj, const char *part, double *dx, double *dy)
| Gets the drag step increment values.
Eina_Bool | edje_object_part_drag_step (Evas_Object *obj, const char *part, double dx, double dy)
| Steps the dragable x,y steps.
Eina_Bool | edje_object_part_drag_page_set (Evas_Object *obj, const char *part, double dx, double dy)
| Sets the page step increments.
Eina_Bool | edje_object_part_drag_page_get (const Evas_Object *obj, const char *part, double *dx, double *dy)
| Gets the page step increments.
Eina_Bool | edje_object_part_drag_page (Evas_Object *obj, const char *part, double dx, double dy)
| Pages x,y steps.

## Detailed Description

Functions that deal with dragable parts.

To create a movable part it must be declared as dragable in EDC file. To do so, one must define a "dragable" block inside the "part" block.

These functions are used to set dragging properties to a part or get dragging information about it.

See also
  Dragable parts example *

## Enumeration Type Documentation

## _Edje_Drag_Dir

enum _Edje_Drag_Dir

Directions in which a part can be dragged .

Enumerator
EDJE_DRAG_DIR_NONE | Part cannot be dragged.
EDJE_DRAG_DIR_X | Part can be dragged in the horizontal direction.
EDJE_DRAG_DIR_Y | Part can be dragged in the vertical direction.
EDJE_DRAG_DIR_XY | Part can be dragged in every direction.

## Function Documentation

## edje_object_part_drag_value_set()

Eina_Bool edje_object_part_drag_value_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | double | dx,
|  | double | dy )

Sets the dragable object location.

Places the dragable object at the given location.

Values for dx and dy are real numbers that range from 0 to 1, representing the relative position to the dragable area on that axis.

This value means, for the vertical axis, that 0.0 will be at the top if the first parameter of `y` in the dragable part theme is 1, and at bottom if it is -1.

For the horizontal axis, 0.0 means left if the first parameter of `x` in the dragable part theme is 1, and right if it is -1.

See also edje_object_part_drag_value_get()

Parameters

  [in] | part | The part name
  [in] | dx | The x value
  [in] | dy | The y value

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_value_get()

Eina_Bool edje_object_part_drag_value_get | ( | const Evas_Object * | obj,
|  | const char * | part,
|  | double * | dx,
|  | double * | dy )

Gets the dragable object location.

Values for dx and dy are real numbers that range from 0 to 1, representing the relative position to the dragable area on that axis.

See also edje_object_part_drag_value_set()

Gets the drag location values.

Parameters

  [in] | part | The part name
  [out] | dx | The x value
  [out] | dy | The y value

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_size_set()

Eina_Bool edje_object_part_drag_size_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | double | dw,
|  | double | dh )

Sets the dragable object size.

Values for dw and dh are real numbers that range from 0 to 1, representing the relative size of the dragable area on that axis.

Sets the size of the dragable object.

See also edje_object_part_drag_size_get()

Parameters

  [in] | part | The part name
  [in] | dw | The drag width
  [in] | dh | The drag height

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_size_get()

Eina_Bool edje_object_part_drag_size_get | ( | const Evas_Object * | obj,
|  | const char * | part,
|  | double * | dw,
|  | double * | dh )

Gets the dragable object size.

Gets the dragable object size.

See also edje_object_part_drag_size_set()

Parameters

  [in] | part | The part name
  [out] | dw | The drag width
  [out] | dh | The drag height

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_dir_get()

Edje_Drag_Dir edje_object_part_drag_dir_get | ( | const Evas_Object * | obj,
|  | const char * | part )

Determines dragable directions.

The dragable directions are defined in the EDC file, inside the "dragable" section, by the attributes `x` and `y`. See the Edje Data Collection reference for more information.

Parameters

  [in] | part | The part name

Returns
  EDJE_DRAG_DIR_NONE: Not dragable EDJE_DRAG_DIR_X: Dragable in X direction EDJE_DRAG_DIR_Y: Dragable in Y direction EDJE_DRAG_DIR_XY: Dragable in X & Y directions

## edje_object_part_drag_step_set()

Eina_Bool edje_object_part_drag_step_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | double | dx,
|  | double | dy )

Sets the drag step increment.

Sets the x,y step increments for a dragable object.

Values for dx and dy are real numbers that range from 0 to 1, representing the relative size of the dragable area on that axis by which the part will be moved.

See also edje_object_part_drag_step_get()

Parameters

  [in] | part | The part name
  [in] | dx | The x step amount
  [in] | dy | The y step amount

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_step_get()

Eina_Bool edje_object_part_drag_step_get | ( | const Evas_Object * | obj,
|  | const char * | part,
|  | double * | dx,
|  | double * | dy )

Gets the drag step increment values.

Gets the x and y step increments for the dragable object.

See also edje_object_part_drag_step_set()

Parameters

  [in] | part | The part name
  [out] | dx | The x step amount
  [out] | dy | The y step amount

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_step()

Eina_Bool edje_object_part_drag_step | ( | Evas_Object * | obj,
|  | const char * | part,
|  | double | dx,
|  | double | dy )

Steps the dragable x,y steps.

Steps x,y where the step increment is the amount set by edje_object_part_drag_step_set().

Values for dx and dy are real numbers that range from 0 to 1.

See also edje_object_part_drag_page()

Parameters

  [in] | part | The part name
  [in] | dx | The x step
  [in] | dy | The y step

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_page_set()

Eina_Bool edje_object_part_drag_page_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | double | dx,
|  | double | dy )

Sets the page step increments.

Sets the x,y page step increment values.

Values for dx and dy are real numbers that range from 0 to 1, representing the relative size of the dragable area on that axis by which the part will be moved.

See also edje_object_part_drag_page_get()

Parameters

  [in] | part | The part name
  [in] | dx | The x page step increment
  [in] | dy | The y page step increment

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_page_get()

Eina_Bool edje_object_part_drag_page_get | ( | const Evas_Object * | obj,
|  | const char * | part,
|  | double * | dx,
|  | double * | dy )

Gets the page step increments.

Gets the x,y page step increments for the dragable object.

See also edje_object_part_drag_page_set()

Parameters

  [in] | part | The part name
  [out] | dx | The x page step increment
  [out] | dy | The y page step increment

Returns
  `true` on success, `false` otherwise

## edje_object_part_drag_page()

Eina_Bool edje_object_part_drag_page | ( | Evas_Object * | obj,
|  | const char * | part,
|  | double | dx,
|  | double | dy )

Pages x,y steps.

Pages x,y where the increment is defined by edje_object_part_drag_page_set().

Values for dx and dy are real numbers that range from 0 to 1.

Warning
  Paging is bugged!

See also edje_object_part_drag_step()

Parameters

  [in] | part | The part name
  [in] | dx | The x step
  [in] | dy | The y step

Returns
  `true` on success, `false` otherwise