efl/legacy/elementary/src/lib/elm_photocam.h

92 lines
3.2 KiB
C

/**
* @defgroup Elm_Photocam Photocam
* @ingroup Elementary
*
* @image html photocam_inheritance_tree.png
* @image latex photocam_inheritance_tree.eps
*
* @image html img/widget/photocam/preview-00.png
* @image latex img/widget/photocam/preview-00.eps
*
* Photocam is a widget meant specifically for displaying
* high-resolution digital camera photos, giving speedy feedback (fast
* load), zooming and panning as well as fitting logic, all with low
* memory footprint. It is entirely focused on @b jpeg images, and
* takes advantage of properties of the jpeg format (via Evas loader
* features in the jpeg loader).
*
* Signals that you can add callbacks for are:
* @li @c "clicked" - This is called when a user has clicked the photo
* without dragging around.
* @li @c "press" - This is called when a user has pressed down on the
* photo.
* @li @c "longpressed" - This is called when a user has pressed down
* on the photo for a long time without dragging around.
* @li @c "clicked,double" - This is called when a user has
* double-clicked the photo.
* @li @c "load" - Photo load begins.
* @li @c "loaded" - This is called when the image file load is
* complete for the first view (low resolution blurry version).
* @li @c "load,detail" - Photo detailed data load begins.
* @li @c "loaded,detail" - This is called when the image file load is
* complete for the detailed image data (full resolution
* needed).
* @li @c "zoom,start" - Zoom animation started.
* @li @c "zoom,stop" - Zoom animation stopped.
* @li @c "zoom,change" - Zoom changed when using an auto zoom mode.
* @li @c "scroll" - the content has been scrolled (moved)
* @li @c "scroll,anim,start" - scrolling animation has started
* @li @c "scroll,anim,stop" - scrolling animation has stopped
* @li @c "scroll,drag,start" - dragging the contents around has started
* @li @c "scroll,drag,stop" - dragging the contents around has stopped
* @li @c "focused" - When the photocam has received focus. (since 1.8)
* @li @c "unfocused" - When the photocam has lost focus. (since 1.8)
*
* This widget implements the @b @ref elm-scrollable-interface
* interface, so that all (non-deprecated) functions for the base @ref
* Scroller widget also work for photocam objects.
*
* Some calls on the photocam's API are marked as @b deprecated, as
* they just wrap the scrollable widgets counterpart functions. Use
* the ones we point you to, for each case of deprecation here,
* instead -- eventually the deprecated ones will be discarded (next
* major release).
*
* @ref tutorial_photocam shows the API in action.
* @{
*/
/**
* Structure associated with smart callback 'download,progress'.
* @since 1.8
*/
typedef struct _Elm_Photocam_Progress Elm_Photocam_Progress;
struct _Elm_Photocam_Progress
{
double now;
double total;
};
/**
* Structre associated with smart callback 'download,error'
* @since 1.8
*/
typedef struct _Elm_Photocam_Error Elm_Photocam_Error;
struct _Elm_Photocam_Error
{
int status;
Eina_Bool open_error;
};
#ifdef EFL_EO_API_SUPPORT
#include "elm_photocam_eo.h"
#endif
#ifndef EFL_NOLEGACY_API_SUPPORT
#include "elm_photocam_legacy.h"
#endif
/**
* @}
*/