2015-04-22 04:43:05 -07:00
|
|
|
class Elm.Photocam (Elm.Widget, Elm_Interface_Scrollable,
|
2015-05-05 05:16:19 -07:00
|
|
|
Elm_Interface_Atspi_Widget_Action, Efl.File)
|
2014-03-25 01:49:47 -07:00
|
|
|
{
|
|
|
|
eo_prefix: elm_obj_photocam;
|
2015-05-07 09:32:53 -07:00
|
|
|
methods {
|
|
|
|
@property paused {
|
2014-03-25 01:49:47 -07:00
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set the paused state for photocam
|
|
|
|
|
2014-05-02 11:51:35 -07:00
|
|
|
This sets the paused state to on(@c EINA_TRUE) or off (@c EINA_FALSE) for
|
2014-03-25 01:49:47 -07:00
|
|
|
photocam. The default is off. This will stop zooming using animation on
|
|
|
|
zoom level changes and change instantly. This will stop any existing
|
|
|
|
animations that are running.
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the paused state for photocam
|
|
|
|
|
|
|
|
@return The current paused state
|
|
|
|
|
|
|
|
This gets the current paused state for the photocam object.
|
|
|
|
|
|
|
|
@see elm_photocam_paused_set()
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
paused: bool; /*@ The pause state to set */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property gesture_enabled {
|
2014-03-25 01:49:47 -07:00
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set the gesture state for photocam.
|
|
|
|
|
2014-05-02 11:51:35 -07:00
|
|
|
This sets the gesture state to on(@c EINA_TRUE) or off (@c EINA_FALSE) for
|
2014-03-25 01:49:47 -07:00
|
|
|
photocam. The default is off. This will start multi touch zooming.
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the gesture state for photocam.
|
|
|
|
|
|
|
|
@return The current gesture state
|
|
|
|
|
|
|
|
This gets the current gesture state for the photocam object.
|
|
|
|
|
|
|
|
@see elm_photocam_gesture_enabled_set()
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
gesture: bool; /*@ The gesture state to set */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property zoom {
|
2014-03-25 01:49:47 -07:00
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set the zoom level of the photo
|
|
|
|
|
|
|
|
This sets the zoom level. If @p zoom is 1, it means no zoom. If it's smaller
|
|
|
|
than 1, it means zoom in. If it's bigger than 1, it means zoom out. For
|
|
|
|
example, @p zoom 1 will be 1:1 pixel for pixel. @p zoom 2 will be 2:1
|
|
|
|
(that is 2x2 photo pixels will display as 1 on-screen pixel) which is a zoom
|
|
|
|
out. 4:1 will be 4x4 photo pixels as 1 screen pixel, and so on. The @p zoom
|
|
|
|
parameter must be greater than 0. It is suggested to stick to powers of 2.
|
|
|
|
(1, 2, 4, 8, 16, 32, etc.).
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the zoom level of the photo
|
|
|
|
|
|
|
|
@return The current zoom level
|
|
|
|
|
|
|
|
This returns the current zoom level of the photocam object. Note that if
|
2014-08-31 08:44:10 -07:00
|
|
|
you set the fill mode to other than #ELM_PHOTOCAM_ZOOM_MODE_MANUAL
|
2014-03-25 01:49:47 -07:00
|
|
|
(which is the default), the zoom level may be changed at any time by the
|
|
|
|
photocam object itself to account for photo size and photocam viewport
|
|
|
|
size.
|
|
|
|
|
|
|
|
@see elm_photocam_zoom_set()
|
|
|
|
@see elm_photocam_zoom_mode_set()
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
zoom: double; /*@ The zoom level to set */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property zoom_mode {
|
2014-03-25 01:49:47 -07:00
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
@brief Set the zoom mode
|
|
|
|
|
|
|
|
This sets the zoom mode to manual or one of several automatic levels.
|
|
|
|
Manual (ELM_PHOTOCAM_ZOOM_MODE_MANUAL) means that zoom is set manually by
|
|
|
|
elm_photocam_zoom_set() and will stay at that level until changed by code
|
|
|
|
or until zoom mode is changed. This is the default mode. The Automatic
|
|
|
|
modes will allow the photocam object to automatically adjust zoom mode
|
2014-08-31 08:44:10 -07:00
|
|
|
based on properties. #ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT) will adjust zoom so
|
2014-03-25 01:49:47 -07:00
|
|
|
the photo fits EXACTLY inside the scroll frame with no pixels outside this
|
2014-08-31 08:44:10 -07:00
|
|
|
region. #ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL will be similar but ensure no
|
2014-03-25 01:49:47 -07:00
|
|
|
pixels within the frame are left unfilled.
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the zoom mode
|
|
|
|
|
|
|
|
@return The current zoom mode
|
|
|
|
|
|
|
|
This gets the current zoom mode of the photocam object.
|
|
|
|
|
|
|
|
@see elm_photocam_zoom_mode_set()
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
mode: Elm_Photocam_Zoom_Mode; /*@ The desired mode */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property image_region {
|
2014-03-25 01:49:47 -07:00
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the region of the image that is currently shown
|
|
|
|
|
|
|
|
@see elm_photocam_image_region_show()
|
|
|
|
@see elm_photocam_image_region_bring_in()
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
x: int; /*@ A pointer to the X-coordinate of region */
|
|
|
|
y: int; /*@ A pointer to the Y-coordinate of region */
|
|
|
|
w: int; /*@ A pointer to the width */
|
|
|
|
h: int; /*@ A pointer to the height */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property internal_image {
|
2014-03-25 01:49:47 -07:00
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the internal low-res image used for photocam
|
|
|
|
|
|
|
|
@return The internal image object handle, or NULL if none exists
|
|
|
|
|
|
|
|
This gets the internal image object inside photocam. Do not modify it. It
|
|
|
|
is for inspection only, and hooking callbacks to. Nothing else. It may be
|
|
|
|
deleted at any time as well.
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
2015-06-26 07:36:43 -07:00
|
|
|
return: Evas.Object *;
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property image_size {
|
2014-03-25 01:49:47 -07:00
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
@brief Get the current image pixel width and height
|
|
|
|
|
|
|
|
This gets the current photo pixel width and height (for the original).
|
|
|
|
The size will be returned in the integers @p w and @p h that are pointed
|
|
|
|
to.
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
w: int; /*@ A pointer to the width return */
|
|
|
|
h: int; /*@ A pointer to the height return */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
2015-05-07 09:32:53 -07:00
|
|
|
@property image_orient {
|
2015-02-20 05:33:04 -08:00
|
|
|
set {
|
|
|
|
/*@
|
|
|
|
Set the photocam image orientation.
|
|
|
|
|
|
|
|
This function allows to rotate or flip the photocam image.
|
|
|
|
|
|
|
|
@see elm_photocam_image_orient_get()
|
|
|
|
@see @ref Evas_Image_Orient
|
|
|
|
|
|
|
|
@since 1.14
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
get {
|
|
|
|
/*@
|
|
|
|
Get the photocam image orientation.
|
|
|
|
|
|
|
|
@return The photocam image orientation @ref Evas_Image_Orient
|
|
|
|
|
|
|
|
@see elm_photocam_image_orient_set()
|
|
|
|
@see @ref Evas_Image_Orient
|
|
|
|
|
|
|
|
@since 1.14
|
|
|
|
@ingroup Photocam */
|
|
|
|
}
|
|
|
|
values {
|
2015-05-18 08:16:08 -07:00
|
|
|
orient: Evas_Image_Orient; /*@ The photocam image orientation @ref Evas_Image_Orient
|
2015-02-20 05:33:04 -08:00
|
|
|
Default is #EVAS_IMAGE_ORIENT_NONE. */
|
|
|
|
}
|
|
|
|
}
|
2014-03-25 01:49:47 -07:00
|
|
|
image_region_show {
|
|
|
|
/*@
|
|
|
|
@brief Set the viewed region of the image
|
|
|
|
|
|
|
|
This shows the region of the image without using animation.
|
|
|
|
|
|
|
|
@ingroup Photocam */
|
|
|
|
|
|
|
|
params {
|
2015-05-18 08:16:08 -07:00
|
|
|
@in x: int; /*@ X-coordinate of region in image original pixels */
|
|
|
|
@in y: int; /*@ Y-coordinate of region in image original pixels */
|
|
|
|
@in w: int; /*@ Width of region in image original pixels */
|
|
|
|
@in h: int; /*@ Height of region in image original pixels */
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
2014-06-20 02:47:39 -07:00
|
|
|
class.constructor;
|
2014-06-27 15:36:05 -07:00
|
|
|
Eo.Base.constructor;
|
|
|
|
Evas.Object_Smart.move;
|
|
|
|
Evas.Object_Smart.add;
|
|
|
|
Evas.Object_Smart.del;
|
|
|
|
Evas.Object_Smart.member_add;
|
|
|
|
Evas.Object_Smart.resize;
|
2015-04-22 04:33:10 -07:00
|
|
|
Elm.Widget.theme_apply;
|
|
|
|
Elm.Widget.on_focus;
|
|
|
|
Elm.Widget.event;
|
2014-06-20 02:47:39 -07:00
|
|
|
Elm_Interface_Scrollable.region_bring_in;
|
2014-07-25 01:33:19 -07:00
|
|
|
Elm_Interface_Atspi_Widget_Action.elm_actions.get;
|
2015-05-05 05:16:19 -07:00
|
|
|
Efl.File.file.set;
|
|
|
|
Efl.File.file.get;
|
2014-03-25 01:49:47 -07:00
|
|
|
}
|
|
|
|
events {
|
|
|
|
clicked;
|
|
|
|
press;
|
|
|
|
longpressed;
|
|
|
|
clicked,double;
|
|
|
|
load;
|
|
|
|
loaded;
|
|
|
|
load,detail;
|
|
|
|
loaded,detail;
|
|
|
|
zoom,start;
|
|
|
|
zoom,stop;
|
|
|
|
zoom,change;
|
|
|
|
scroll;
|
|
|
|
scroll,anim,start;
|
|
|
|
scroll,anim,stop;
|
|
|
|
scroll,drag,start;
|
|
|
|
scroll,drag,stop;
|
|
|
|
download,start;
|
|
|
|
download,progress;
|
|
|
|
download,done;
|
|
|
|
download,error;
|
|
|
|
focused;
|
|
|
|
unfocused;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|