2019-09-27 07:06:30 -07:00
|
|
|
#ifndef _EFL_CANVAS_H
|
|
|
|
#define _EFL_CANVAS_H
|
|
|
|
|
|
|
|
#include <Efl_Config.h>
|
|
|
|
|
|
|
|
#include <Eina.h>
|
|
|
|
|
|
|
|
#include <Eo.h>
|
|
|
|
/* This include has been added to support Eo in Evas */
|
|
|
|
#include <Efl.h>
|
|
|
|
#ifdef EAPI
|
|
|
|
# undef EAPI
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
# ifdef EFL_BUILD
|
|
|
|
# ifdef DLL_EXPORT
|
|
|
|
# define EAPI __declspec(dllexport)
|
|
|
|
# else
|
|
|
|
# define EAPI
|
|
|
|
# endif
|
|
|
|
# else
|
|
|
|
# define EAPI __declspec(dllimport)
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
# ifdef __GNUC__
|
|
|
|
# if __GNUC__ >= 4
|
|
|
|
# define EAPI __attribute__ ((visibility("default")))
|
|
|
|
# else
|
|
|
|
# define EAPI
|
|
|
|
# endif
|
|
|
|
# else
|
|
|
|
# define EAPI
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <interfaces/efl_gfx_types.eot.h>
|
|
|
|
#include <interfaces/efl_gfx_path.eo.h>
|
|
|
|
#include <interfaces/efl_text_types.eot.h>
|
2019-10-31 12:43:16 -07:00
|
|
|
#include <canvas/efl_input_types.eot.h>
|
2019-09-27 07:06:30 -07:00
|
|
|
#include <canvas/efl_canvas_animation_types.eot.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_types.eot.h>
|
|
|
|
|
2019-10-31 10:20:33 -07:00
|
|
|
/* Input events */
|
|
|
|
#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"
|
|
|
|
|
2019-09-27 07:06:30 -07:00
|
|
|
#include <gesture/efl_canvas_gesture.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_touch.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_manager.eo.h>
|
|
|
|
#include <canvas/efl_canvas_object.eo.h>
|
|
|
|
|
|
|
|
#include <canvas/efl_canvas_animation_alpha.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation_group.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation_group_parallel.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation_group_sequential.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation_rotate.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation_scale.eo.h>
|
|
|
|
#include <canvas/efl_canvas_animation_translate.eo.h>
|
|
|
|
#include <canvas/efl_canvas_event_grabber.eo.h>
|
|
|
|
#include <canvas/efl_canvas_group.eo.h>
|
|
|
|
#include <canvas/efl_canvas_image.eo.h>
|
|
|
|
#include <canvas/efl_canvas_image_internal.eo.h>
|
|
|
|
#include <canvas/efl_canvas_polygon.eo.h>
|
|
|
|
#include <canvas/efl_canvas_proxy.eo.h>
|
|
|
|
#include <canvas/efl_canvas_rectangle.eo.h>
|
|
|
|
/* FIXME: this uses EVAS types in its API and is broken.
|
|
|
|
#include <canvas/efl_canvas_scene3d.eo.h>
|
|
|
|
*/
|
|
|
|
#include <canvas/efl_canvas_snapshot.eo.h>
|
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>
|
Efl.Text.Attribute_Factory
Summary:
Implementation of new Efl.Text.Attribute_Factory class which replace the annotation interface.
Currently, we have two public methods:
```
void efl_text_attribute_factory_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format)
unsigned int efl_text_attribute_factory_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end);
```
Other methods will be internal methods, for the time being, we will redesign internal methods
Reviewers: woohyun, tasn, segfaultxavi, bu5hm4n, zmike
Subscribers: zmike, q66, cedric, segfaultxavi, bu5hm4n, a.srour, #committers, #reviewers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10646
2019-11-26 20:04:31 -08:00
|
|
|
#include <canvas/efl_text_attribute_factory.eo.h>
|
2019-09-27 07:06:30 -07:00
|
|
|
#include <canvas/efl_canvas_text.eo.h>
|
|
|
|
#include <canvas/efl_canvas_text_factory.eo.h>
|
|
|
|
#include <canvas/efl_canvas_vg_node.eo.h>
|
|
|
|
#include <canvas/efl_canvas_vg_container.eo.h>
|
|
|
|
#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>
|
|
|
|
#include <canvas/efl_canvas_vg_image.eo.h>
|
|
|
|
#include <canvas/efl_canvas_vg_object.eo.h>
|
|
|
|
#include <canvas/efl_canvas_vg_shape.eo.h>
|
2019-10-01 21:21:35 -07:00
|
|
|
#include <canvas/efl_gfx_vg_value_provider.eo.h>
|
2019-09-27 07:06:30 -07:00
|
|
|
#include <canvas/efl_gfx_mapping.eo.h>
|
|
|
|
|
|
|
|
#include <canvas/efl_input_clickable.eo.h>
|
|
|
|
#include <canvas/efl_input_event.eo.h>
|
|
|
|
#include <canvas/efl_input_focus.eo.h>
|
|
|
|
#include <canvas/efl_input_hold.eo.h>
|
|
|
|
#include <canvas/efl_input_interface.eo.h>
|
|
|
|
#include <canvas/efl_input_key.eo.h>
|
|
|
|
#include <canvas/efl_input_pointer.eo.h>
|
|
|
|
#include <canvas/efl_input_state.eo.h>
|
|
|
|
|
|
|
|
#include <gesture/efl_canvas_gesture_double_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_flick.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_long_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_momentum.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_double_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_flick.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_long_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_momentum.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_triple_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_recognizer_zoom.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_triple_tap.eo.h>
|
|
|
|
#include <gesture/efl_canvas_gesture_zoom.eo.h>
|
|
|
|
#include <gesture/efl_gesture_events.eo.h>
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#undef EAPI
|
|
|
|
#endif
|