2013-06-26 23:27:30 -07:00
|
|
|
#ifndef _EVAS_H
|
|
|
|
# error You shall not include this header directly
|
|
|
|
#endif
|
2013-04-24 12:56:24 -07:00
|
|
|
|
2018-02-26 11:47:57 -08:00
|
|
|
#ifndef _EFL_CANVAS_VG_NODE_EO_CLASS_TYPE
|
|
|
|
#define _EFL_CANVAS_VG_NODE_EO_CLASS_TYPE
|
|
|
|
|
2018-04-04 04:38:34 -07:00
|
|
|
typedef Eo Efl_Canvas_Vg_Node;
|
2018-02-26 11:47:57 -08:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2018-04-10 06:24:28 -07:00
|
|
|
struct _Efl_Canvas_Animation_Player_Event_Running
|
2018-02-26 11:47:57 -08:00
|
|
|
{
|
|
|
|
double progress;
|
|
|
|
};
|
|
|
|
|
2018-04-30 08:20:03 -07:00
|
|
|
struct _Efl_Canvas_Object_Animation_Event
|
2018-04-10 06:09:39 -07:00
|
|
|
{
|
2018-04-30 08:07:27 -07:00
|
|
|
const Efl_Event_Description *event_desc;
|
2018-04-30 08:20:03 -07:00
|
|
|
};
|
2018-04-10 06:09:39 -07:00
|
|
|
|
2013-04-24 12:56:24 -07:00
|
|
|
/**
|
2014-03-30 04:08:46 -07:00
|
|
|
* @ingroup Evas_Object_Rectangle
|
2013-04-24 12:56:24 -07:00
|
|
|
*
|
|
|
|
* @{
|
|
|
|
*/
|
2016-06-02 02:55:51 -07:00
|
|
|
#include "canvas/efl_canvas_rectangle.eo.h"
|
2013-04-24 12:56:24 -07:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2019-12-10 00:39:59 -08:00
|
|
|
* @ingroup Efl_Canvas_Textblock
|
2013-04-24 12:56:24 -07:00
|
|
|
*
|
2014-03-30 04:08:46 -07:00
|
|
|
* @{
|
2013-04-24 12:56:24 -07:00
|
|
|
*/
|
Efl.Text.Cursor
Summary:
Implementation of new cursor text object.
This Patch Contains :
1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor
=> there are some modifications on cursor methods
2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces
3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory
4- Add main cursor property into efl.text.interactive
5- Add cursor_new method in efl.ui.text (I think we may move it into efl.text.interactive interface)
There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement.
```
enum @beta Efl.Text.Cursor_Move_Type
{
[[Text cursor movement types]]
char_next, [[Advances to the next character]]
char_prev, [[Advances to the previous character]]
cluster_next, [[Advances to the next grapheme cluster]]
cluster_prev, [[Advances to the previous grapheme cluster]]
paragraph_start, [[Advances to the first character in this paragraph]]
paragraph_end, [[Advances to the last character in this paragraph]]
word_start, [[Advance to current word start]]
word_end, [[Advance to current word end]]
line_start, [[Advance to current line first character]]
line_end, [[Advance to current line last character]]
paragraph_first, [[Advance to current paragraph first character]]
paragraph_last, [[Advance to current paragraph last character]]
paragraph_next, [[Advances to the start of the next text node]]
paragraph_prev [[Advances to the end of the previous text node]]
}
move {
[[Move the cursor]]
params {
@in type: Efl.Text.Cursor_Move_Type; [[The type of movement]]
}
return: bool; [[True if actually moved]]
}
```
or old way:
```
char_next {
[[Advances to the next character]]
// FIXME: Make the number of characters we moved by? Useful for all the other functions
return: bool; [[True if actually moved]]
}
char_prev {
[[Advances to the previous character]]
return: bool; [[True if actually moved]]
}
char_delete {
[[Deletes a single character from position pointed by given cursor.]]
}
cluster_next {
[[Advances to the next grapheme cluster]]
return: bool; [[True if actually moved]]
}
cluster_prev {
[[Advances to the previous grapheme cluster]]
return: bool; [[True if actually moved]]
}
// FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character.
paragraph_start {
[[Advances to the first character in this paragraph]]
return: bool; [[True if actually moved]]
}
paragraph_end {
[[Advances to the last character in this paragraph]]
return: bool; [[True if actually moved]]
}
word_start {
[[Advance to current word start]]
return: bool; [[True if actually moved]]
}
word_end {
[[Advance to current word end]]
return: bool; [[True if actually moved]]
}
line_start {
[[Advance to current line first character]]
return: bool; [[True if actually moved]]
}
line_end {
[[Advance to current line last character]]
return: bool; [[True if actually moved]]
}
paragraph_first {
[[Advance to current paragraph first character]]
return: bool; [[True if actually moved]]
}
paragraph_last {
[[Advance to current paragraph last character]]
return: bool; [[True if actually moved]]
}
paragraph_next {
[[Advances to the start of the next text node]]
return: bool; [[True if actually moved]]
}
paragraph_prev {
[[Advances to the end of the previous text node]]
return: bool; [[True if actually moved]]
}
```
Reviewers: woohyun, tasn, segfaultxavi
Reviewed By: woohyun
Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22 00:35:54 -08:00
|
|
|
#include "canvas/efl_text_cursor.eo.h"
|
2019-12-20 03:35:13 -08:00
|
|
|
#include "canvas/efl_text_formatter.eo.h"
|
2019-12-10 00:39:59 -08:00
|
|
|
#include "canvas/efl_canvas_textblock.eo.h"
|
|
|
|
#include "canvas/efl_canvas_textblock_factory.eo.h"
|
2013-04-24 12:56:24 -07:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2014-03-30 04:08:46 -07:00
|
|
|
* @ingroup Evas_Object_Polygon
|
2013-04-24 12:56:24 -07:00
|
|
|
*
|
2014-03-30 04:08:46 -07:00
|
|
|
* @{
|
2013-04-24 12:56:24 -07:00
|
|
|
*/
|
2016-03-14 14:59:33 -07:00
|
|
|
#include "canvas/efl_canvas_polygon.eo.h"
|
2013-04-24 12:56:24 -07:00
|
|
|
/**
|
2014-03-30 04:08:46 -07:00
|
|
|
* @}
|
2013-04-24 12:56:24 -07:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2014-03-30 04:08:46 -07:00
|
|
|
* @ingroup Evas_Smart_Object_Group
|
2013-04-24 12:56:24 -07:00
|
|
|
*
|
2014-03-30 04:08:46 -07:00
|
|
|
* @{
|
2013-04-24 12:56:24 -07:00
|
|
|
*/
|
2016-06-17 01:26:08 -07:00
|
|
|
#include "canvas/efl_canvas_group.eo.h"
|
2013-04-24 12:56:24 -07:00
|
|
|
/**
|
2014-03-30 04:08:46 -07:00
|
|
|
* @}
|
2013-04-24 12:56:24 -07:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2014-03-30 04:08:46 -07:00
|
|
|
* @}
|
2013-04-24 12:56:24 -07:00
|
|
|
*/
|
|
|
|
|
2019-10-31 10:20:33 -07:00
|
|
|
/* Input events */
|
2019-10-31 12:43:16 -07:00
|
|
|
#include "canvas/efl_input_types.eot.h"
|
2019-10-31 10:20:33 -07:00
|
|
|
#include "canvas/efl_input_device.eo.h"
|
|
|
|
#include "canvas/efl_canvas_pointer.eo.h"
|
|
|
|
#include "canvas/efl_canvas_scene.eo.h"
|
|
|
|
#include "canvas/efl_input_state.eo.h"
|
|
|
|
#include "canvas/efl_input_event.eo.h"
|
|
|
|
#include "canvas/efl_input_pointer.eo.h"
|
|
|
|
#include "canvas/efl_input_key.eo.h"
|
|
|
|
#include "canvas/efl_input_hold.eo.h"
|
|
|
|
#include "canvas/efl_input_interface.eo.h"
|
|
|
|
#include "canvas/efl_input_focus.eo.h"
|
|
|
|
#include "canvas/efl_input_clickable.eo.h"
|
|
|
|
|
2018-02-21 10:38:39 -08:00
|
|
|
#include "canvas/efl_canvas_animation_types.eot.h"
|
2017-08-24 04:45:52 -07:00
|
|
|
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_types.eot.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_touch.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_tap.eo.h"
|
2020-02-18 07:16:51 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_long_press.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_double_tap.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_triple_tap.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_momentum.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_flick.eo.h"
|
2020-02-19 07:24:04 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_rotate.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_zoom.eo.h"
|
2020-01-28 10:52:23 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_custom.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_recognizer.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_tap.eo.h"
|
2020-02-18 07:16:51 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_long_press.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_double_tap.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_triple_tap.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_momentum.eo.h"
|
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_flick.eo.h"
|
2020-02-19 07:24:04 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_rotate.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_zoom.eo.h"
|
2020-01-28 10:52:23 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_recognizer_custom.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
#include "gesture/efl_canvas_gesture_manager.eo.h"
|
2020-01-13 05:24:30 -08:00
|
|
|
#include "gesture/efl_canvas_gesture_events.eo.h"
|
2019-05-14 00:37:20 -07:00
|
|
|
|
2016-06-20 21:26:15 -07:00
|
|
|
#include "canvas/efl_canvas_object.eo.h"
|
2018-02-21 10:38:39 -08:00
|
|
|
#include "canvas/efl_canvas_animation.eo.h"
|
efl_canvas_animation: rename Animation_XXX to XXX_Animation
Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha
However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation
However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11108
2020-01-19 19:53:09 -08:00
|
|
|
#include "canvas/efl_canvas_alpha_animation.eo.h"
|
|
|
|
#include "canvas/efl_canvas_rotate_animation.eo.h"
|
|
|
|
#include "canvas/efl_canvas_scale_animation.eo.h"
|
|
|
|
#include "canvas/efl_canvas_translate_animation.eo.h"
|
|
|
|
#include "canvas/efl_canvas_group_animation.eo.h"
|
|
|
|
#include "canvas/efl_canvas_parallel_group_animation.eo.h"
|
|
|
|
#include "canvas/efl_canvas_sequential_group_animation.eo.h"
|
2020-02-14 08:06:29 -08:00
|
|
|
#include "canvas/efl_canvas_object_animation.eo.h"
|
2018-04-04 03:46:41 -07:00
|
|
|
#include "canvas/efl_canvas_event_grabber.eo.h"
|
evas: add new event_grabber smart-ish object
adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.
an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:
normal:
event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.
event_grabber:
event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.
object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.
@feature
2017-06-09 17:16:08 -07:00
|
|
|
|
2016-06-09 01:30:05 -07:00
|
|
|
#include "canvas/efl_canvas_image_internal.eo.h"
|
2016-03-16 03:37:04 -07:00
|
|
|
#include "canvas/efl_canvas_image.eo.h"
|
2016-03-14 03:10:54 -07:00
|
|
|
#include "canvas/efl_canvas_snapshot.eo.h"
|
|
|
|
#include "canvas/efl_canvas_proxy.eo.h"
|
2019-02-20 12:32:41 -08:00
|
|
|
#include "canvas/efl_gfx_mapping.eo.h"
|
2016-03-14 03:10:54 -07:00
|
|
|
|
2019-10-01 21:21:35 -07:00
|
|
|
#include "canvas/efl_gfx_vg_value_provider.eo.h"
|
2015-04-03 07:12:59 -07:00
|
|
|
/**
|
|
|
|
* @ingroup Evas_Object_VG
|
|
|
|
*
|
|
|
|
* @{
|
|
|
|
*/
|
2018-09-10 01:27:42 -07:00
|
|
|
#include "canvas/efl_canvas_vg_object.eo.h"
|
2015-04-03 07:12:59 -07:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*/
|
|
|
|
|
2018-02-20 12:24:09 -08:00
|
|
|
#include "canvas/efl_canvas_vg_node.eo.h"
|
|
|
|
#include "canvas/efl_canvas_vg_container.eo.h"
|
|
|
|
#include "canvas/efl_canvas_vg_shape.eo.h"
|
2019-07-21 21:37:47 -07:00
|
|
|
#include "canvas/efl_canvas_vg_image.eo.h"
|
2018-02-20 12:24:09 -08:00
|
|
|
#include "canvas/efl_canvas_vg_gradient.eo.h"
|
|
|
|
#include "canvas/efl_canvas_vg_gradient_linear.eo.h"
|
|
|
|
#include "canvas/efl_canvas_vg_gradient_radial.eo.h"
|