summaryrefslogtreecommitdiff
path: root/src/lib/elm_scroller_legacy.h
diff options
context:
space:
mode:
authorcabelitos <guilherme.iscaro@intel.com>2013-05-09 16:26:29 -0300
committerGustavo Lima Chaves <glima@profusion.mobi>2013-05-10 11:07:10 -0300
commit1883575158829696421c9695f6360ad46bd8b74a (patch)
tree4b5c9560497bb0e191538230ec171b979f64741c /src/lib/elm_scroller_legacy.h
parente65b285223bfeafcfe75abb2bfafbe929b5dcbc9 (diff)
Adding a new scroller API, to block its movements (by user input).
With this new API the user can block movements on X axis, Y Axis or both. I was left with no option but to come up with this, side by side with elm_object_scroll_freeze_push(), elm_object_scroll_hold_push() and elm_object_scroll_lock_x_set() (or elm_object_scroll_lock_y_set()), once all of these will act on *parent and/or child* widgets too, making those useless for any pratical use of scroll blocking. Here's a sane, new option, enjoy it.
Diffstat (limited to 'src/lib/elm_scroller_legacy.h')
-rw-r--r--src/lib/elm_scroller_legacy.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/elm_scroller_legacy.h b/src/lib/elm_scroller_legacy.h
index 7af9ee740..a254ee5c7 100644
--- a/src/lib/elm_scroller_legacy.h
+++ b/src/lib/elm_scroller_legacy.h
@@ -446,3 +446,40 @@ EAPI void elm_scroller_gravity_set(Evas_Object *obj, do
446 */ 446 */
447EAPI void elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y); 447EAPI void elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y);
448 448
449/**
450 * @brief Set blocking of scrolling (per axis) on a given scroller
451 *
452 * @param obj The scroller object
453 * @param block The axis to block
454 *
455 * This function will block scrolling movement (by input of a user) in
456 * a given direction. One can disable movements in the X axis, the Y
457 * axis or both. The default value is @c ELM_SCROLLER_MOVEMENT_NO_BLOCK,
458 * where movements are allowed in both directions.
459 *
460 * What makes this function different from
461 * elm_object_scroll_freeze_push(), elm_object_scroll_hold_push() and
462 * elm_object_scroll_lock_x_set() (or elm_object_scroll_lock_y_set())
463 * is that it @b doesn't propagate its effects to any parent or child
464 * widget of @a obj. Only the target scrollable widget will be locked
465 * with regard to scrolling.
466 *
467 * @since 1.8
468 *
469 * @ingroup Scroller
470 */
471EAPI void elm_scroller_movement_block_set(Evas_Object *obj, Elm_Scroller_Movement_Block block);
472
473/**
474 * @brief Get a scroller's scroll blocking state
475 *
476 * @param parent The scroller object
477 * @return The blocking state
478 *
479 * @since 1.8
480 *
481 * @see elm_scroller_movement_block_set() for more details
482 *
483 * @ingroup Scroller
484 */
485EAPI Elm_Scroller_Movement_Block elm_scroller_movement_block_get(const Evas_Object *obj);