2 * @defgroup Photocam Photocam
3 * @ingroup elm_widget_group
5 * @image html photocam_inheritance_tree.png
6 * @image latex photocam_inheritance_tree.eps
9 * Photocam is a widget meant specifically for displaying
10 * high-resolution digital camera photos, giving speedy feedback (fast
11 * load), zooming and panning as well as fitting logic, all with low
12 * memory footprint. It is entirely focused on @b jpeg images, and
13 * takes advantage of properties of the jpeg format (via Evas loader
14 * features in the jpeg loader).
16 * Signals that you can add callbacks for are:
17 * @li @c "clicked" - This is called when a user has clicked the photo
18 * without dragging around.
19 * @li @c "press" - This is called when a user has pressed down on the
21 * @li @c "longpressed" - This is called when a user has pressed down
22 * on the photo for a long time without dragging around.
23 * @li @c "clicked,double" - This is called when a user has
24 * double-clicked the photo.
25 * @li @c "load" - Photo load begins.
26 * @li @c "loaded" - This is called when the image file load is
27 * complete for the first view (low resolution blurry version).
28 * @li @c "load,detail" - Photo detailed data load begins.
29 * @li @c "loaded,detail" - This is called when the image file load is
30 * complete for the detailed image data (full resolution
32 * @li @c "zoom,start" - Zoom animation started.
33 * @li @c "zoom,stop" - Zoom animation stopped.
34 * @li @c "zoom,change" - Zoom changed when using an auto zoom mode.
35 * @li @c "scroll" - the content has been scrolled (moved)
36 * @li @c "scroll,anim,start" - scrolling animation has started
37 * @li @c "scroll,anim,stop" - scrolling animation has stopped
38 * @li @c "scroll,drag,start" - dragging the contents around has started
39 * @li @c "scroll,drag,stop" - dragging the contents around has stopped
40 * @li @c "focused" - When the photocam has received focus. (since 1.8)
41 * @li @c "unfocused" - When the photocam has lost focus. (since 1.8)
43 * This widget implements the @b @ref elm-scrollable-interface
44 * interface, so that all (non-deprecated) functions for the base @ref
45 * Scroller widget also work for photocam objects.
47 * Some calls on the photocam's API are marked as @b deprecated, as
48 * they just wrap the scrollable widgets counterpart functions. Use
49 * the ones we point you to, for each case of deprecation here,
50 * instead -- eventually the deprecated ones will be discarded (next
57 * @brief Types of zoom available.
61 ELM_PHOTOCAM_ZOOM_MODE_MANUAL = 0, /**< Zoom controlled normally by elm_photocam_zoom_set */
62 ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT, /**< Zoom until photo fits in photocam */
63 ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL, /**< Zoom until photo fills photocam */
64 ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT_IN, /**< Zoom in until photo fits in photocam */
65 ELM_PHOTOCAM_ZOOM_MODE_LAST
66 } Elm_Photocam_Zoom_Mode;
69 * Structure associated with smart callback 'download,progress'.
72 typedef struct _Elm_Photocam_Progress Elm_Photocam_Progress;
74 struct _Elm_Photocam_Progress
82 * Structre associated with smart callback 'download,error'
85 typedef struct _Elm_Photocam_Error Elm_Photocam_Error;
86 struct _Elm_Photocam_Error
93 #ifdef EFL_EO_API_SUPPORT
94 #include "elm_photocam_eo.h"
96 #ifndef EFL_NOLEGACY_API_SUPPORT
97 #include "elm_photocam_legacy.h"