elm genlist: Patch for elm_genlist_item_fields_update. Patch by
[framework/uifw/elementary.git] / src / lib / elm_photo.h
1 /**
2  * @defgroup Photo Photo
3  *
4  * For displaying a photo, for ex., a person (contact). Simple, yet
5  * with a very specific purpose.
6  *
7  * Signals that you can add callbacks for are:
8  *
9  * "clicked" - This is called when a user has clicked the photo
10  * "drag,start" - dragging the image out of the photo object
11  * "drag,end" - Drop the dragged item
12  *
13  * @{
14  */
15
16 /**
17  * Add a new photo to the parent
18  *
19  * @param parent The parent object
20  * @return The new object or NULL if it cannot be created
21  *
22  * @ingroup Photo
23  */
24 EAPI Evas_Object *elm_photo_add(Evas_Object *parent);
25
26 /**
27  * Set the file that will be used as photo
28  *
29  * @param obj The photo object
30  * @param file The path to file that will be used as photo
31  *
32  * @return (1 = success, 0 = error)
33  *
34  * @ingroup Photo
35  */
36 EAPI Eina_Bool elm_photo_file_set(Evas_Object *obj, const char *file);
37
38 /**
39  * Set the file that will be used as thumbnail in the photo.
40  *
41  * @param obj The photo object.
42  * @param file The path to file that will be used as thumbnail.
43  * @param group The key used in case of an EET file.
44  *
45  * @ingroup Photo
46  */
47 EAPI void      elm_photo_thumb_set(const Evas_Object *obj, const char *file, const char *group);
48
49 /**
50  * Set the size that will be used on the photo
51  *
52  * @param obj The photo object
53  * @param size The size of the photo
54  *
55  * @ingroup Photo
56  */
57 EAPI void      elm_photo_size_set(Evas_Object *obj, int size);
58
59 /**
60  * Set if the photo should be completely visible or not.
61  *
62  * @param obj The photo object
63  * @param fill if true the photo will be completely visible
64  *
65  * @ingroup Photo
66  */
67 EAPI void      elm_photo_fill_inside_set(Evas_Object *obj, Eina_Bool fill);
68
69 /**
70  * Set editability of the photo.
71  *
72  * An editable photo can be dragged to or from, and can be cut or
73  * pasted too.  Note that pasting an image or dropping an item on
74  * the image will delete the existing content.
75  *
76  * @param obj The photo object.
77  * @param set To set of clear editability.
78  */
79 EAPI void      elm_photo_editable_set(Evas_Object *obj, Eina_Bool set);
80
81 /**
82  * Set whether the original aspect ratio of the photo should be kept on resize.
83  *
84  * @param obj The photo object.
85  * @param fixed @c EINA_TRUE if the photo should fix the aspect,
86  * @c EINA_FALSE otherwise.
87  *
88  * The original aspect ratio (width / height) of the photo is usually
89  * distorted to match the object's size. Enabling this option will fix
90  * this original aspect, and the way that the photo is fit into
91  * the object's area
92  *
93  * @see elm_photo_aspect_fixed_get()
94  *
95  * @ingroup Photo
96  */
97 EAPI void             elm_photo_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed);
98
99 /**
100  * Get if the object keeps the original aspect ratio.
101  *
102  * @param obj The photo object.
103  * @return @c EINA_TRUE if the object keeps the original aspect, @c EINA_FALSE
104  * otherwise.
105  *
106  * @ingroup Photo
107  */
108 EAPI Eina_Bool        elm_photo_aspect_fixed_get(const Evas_Object *obj);
109
110 /**
111  * @}
112  */