forked from enlightenment/efl
efl_ui_scrollable: remove ui_scrollable_interactive and move all into ui_scrollable
Summary: Based on the discussion T7883, there is no reason to keep those interfaces separately. So, now, efl_ui_scrollable will support the events and methods together. @ref T7883 Reviewers: eagleeye, bu5hm4n, zmike, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7883 Differential Revision: https://phab.enlightenment.org/D10072
This commit is contained in:
parent
fe8715e9f6
commit
f7e183b851
|
@ -106,7 +106,6 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
|
|||
#include "interfaces/efl_ui_draggable.eo.h"
|
||||
#include "interfaces/efl_ui_scrollable.eo.h"
|
||||
#include "interfaces/efl_ui_scrollbar.eo.h"
|
||||
#include "interfaces/efl_ui_scrollable_interactive.eo.h"
|
||||
#include "interfaces/efl_ui_text_selectable.eo.h"
|
||||
#include "interfaces/efl_ui_container_selectable.eo.h"
|
||||
#include "interfaces/efl_ui_zoom.eo.h"
|
||||
|
|
|
@ -74,7 +74,6 @@
|
|||
|
||||
#include "interfaces/efl_ui_draggable.eo.c"
|
||||
#include "interfaces/efl_ui_scrollable.eo.c"
|
||||
#include "interfaces/efl_ui_scrollable_interactive.eo.c"
|
||||
#include "interfaces/efl_ui_scrollbar.eo.c"
|
||||
#include "interfaces/efl_ui_container_selectable.eo.c"
|
||||
#include "interfaces/efl_ui_text_selectable.eo.c"
|
||||
|
|
|
@ -1,7 +1,172 @@
|
|||
import eina_types;
|
||||
import efl_ui_layout_orientable;
|
||||
|
||||
interface @beta Efl.Ui.Scrollable
|
||||
{
|
||||
[[Efl UI scrollable interface]]
|
||||
event_prefix: efl_ui;
|
||||
methods {
|
||||
@property content_pos {
|
||||
[[The content position]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
pos: Eina.Position2D; [[The position is virtual value, (0, 0) starting at the top-left.]]
|
||||
}
|
||||
}
|
||||
@property content_size {
|
||||
[[The content size]]
|
||||
get {
|
||||
}
|
||||
values {
|
||||
size: Eina.Size2D; [[The content size in pixels.]]
|
||||
}
|
||||
}
|
||||
@property viewport_geometry {
|
||||
[[The viewport geometry]]
|
||||
get {
|
||||
}
|
||||
values {
|
||||
rect: Eina.Rect; [[It is absolute geometry.]]
|
||||
}
|
||||
}
|
||||
@property bounce_enabled {
|
||||
[[Bouncing behavior
|
||||
|
||||
When scrolling, the scroller may "bounce" when reaching the edge of the
|
||||
content object. This is a visual way to indicate the end has been reached.
|
||||
This is enabled by default for both axes. This API will determine if it's enabled
|
||||
for the given axis with the boolean parameters for each one.]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
horiz: bool; [[Horizontal bounce policy.]]
|
||||
vert: bool; [[Vertical bounce policy.]]
|
||||
}
|
||||
}
|
||||
@property scroll_freeze {
|
||||
[[Freeze property
|
||||
This function will freeze scrolling movement (by input of a user).
|
||||
Unlike @.movement_block, this function freezes bidirectionally.
|
||||
If you want to freeze in only one direction,
|
||||
see @.movement_block.set.
|
||||
]]
|
||||
get {
|
||||
}
|
||||
set {
|
||||
}
|
||||
values {
|
||||
freeze: bool; [[$true if freeze, $false otherwise]]
|
||||
}
|
||||
}
|
||||
@property scroll_hold {
|
||||
[[Hold property
|
||||
When hold turns on, it only scrolls by holding action.
|
||||
]]
|
||||
get {
|
||||
}
|
||||
set {
|
||||
}
|
||||
values {
|
||||
hold: bool; [[$true if hold, $false otherwise]]
|
||||
}
|
||||
}
|
||||
@property looping {
|
||||
[[Controls an infinite loop for a scroller.]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
loop_h: bool; [[The scrolling horizontal loop]]
|
||||
loop_v: bool; [[The Scrolling vertical loop]]
|
||||
}
|
||||
}
|
||||
@property movement_block {
|
||||
[[Blocking of scrolling (per axis).
|
||||
|
||||
This function will block scrolling movement (by input of a user) in
|
||||
a given direction. You can disable movements in the X axis, the Y
|
||||
axis or both.
|
||||
The default value is @Efl.Ui.Layout_Orientation.default meaning that movements are
|
||||
allowed in both directions.
|
||||
]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
block: Efl.Ui.Layout_Orientation(Efl.Ui.Layout_Orientation.default); [[Which axis (or axes) to block]]
|
||||
}
|
||||
}
|
||||
@property gravity {
|
||||
[[Control scrolling gravity on the scrollable
|
||||
|
||||
The gravity defines how the scroller will adjust its view
|
||||
when the size of the scroller contents increases.
|
||||
|
||||
The scroller will adjust the view to glue itself as follows:
|
||||
$[x=0.0] to stay where it is relative to the left edge of the content.
|
||||
$[x=1.0] to stay where it is relative to the right edge of the content.
|
||||
$[y=0.0] to stay where it is relative to the top edge of the content.
|
||||
$[y=1.0] to stay where it is relative to the bottom edge of the content.
|
||||
]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
x: double(0.0); [[Horizontal scrolling gravity.]]
|
||||
y: double(0.0); [[Vertical scrolling gravity.]]
|
||||
}
|
||||
}
|
||||
@property match_content {
|
||||
[[Prevent the scrollable from being smaller than the minimum size of the content.
|
||||
|
||||
By default the scroller will be as small as its design allows,
|
||||
irrespective of its content. This will make the scroller minimum size the
|
||||
right size horizontally and/or vertically to perfectly fit its content in
|
||||
that direction.]]
|
||||
set {
|
||||
}
|
||||
values {
|
||||
w: bool; [[Whether to limit the minimum horizontal size]]
|
||||
h: bool; [[Whether to limit the minimum vertical size]]
|
||||
}
|
||||
}
|
||||
@property step_size {
|
||||
[[Control the step size
|
||||
|
||||
Use this call to set step size.
|
||||
This value is used when scroller scroll by arrow key event.]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
step: Eina.Position2D; [[The step size in pixels]]
|
||||
}
|
||||
}
|
||||
scroll {
|
||||
[[Show a specific virtual region within the scroller content object.
|
||||
|
||||
This will ensure all (or part if it does not fit) of the designated
|
||||
region in the virtual content object (0, 0 starting at the top-left of the
|
||||
virtual content object) is shown within the scroller. This allows the scroller to "smoothly slide"
|
||||
to this location (if configuration in general calls for transitions). It
|
||||
may not jump immediately to the new location and make take a while and
|
||||
show other content along the way.
|
||||
]]
|
||||
params {
|
||||
@in rect: Eina.Rect; [[The position where to scroll. and The size user want to see]]
|
||||
@in animation: bool; [[Whether to scroll with animation or not]]
|
||||
}
|
||||
}
|
||||
}
|
||||
events {
|
||||
scroll,started: void; [[Called when scroll operation starts]]
|
||||
scroll,changed: void; [[Called when scrolling]]
|
||||
|
|
|
@ -1,169 +0,0 @@
|
|||
import eina_types;
|
||||
import efl_ui_layout_orientable;
|
||||
|
||||
interface @beta Efl.Ui.Scrollable_Interactive extends Efl.Ui.Scrollable
|
||||
{
|
||||
c_prefix: efl_ui_scrollable;
|
||||
methods {
|
||||
@property content_pos {
|
||||
[[The content position]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
pos: Eina.Position2D; [[The position is virtual value, (0, 0) starting at the top-left.]]
|
||||
}
|
||||
}
|
||||
@property content_size {
|
||||
[[The content size]]
|
||||
get {
|
||||
}
|
||||
values {
|
||||
size: Eina.Size2D; [[The content size in pixels.]]
|
||||
}
|
||||
}
|
||||
@property viewport_geometry {
|
||||
[[The viewport geometry]]
|
||||
get {
|
||||
}
|
||||
values {
|
||||
rect: Eina.Rect; [[It is absolute geometry.]]
|
||||
}
|
||||
}
|
||||
@property bounce_enabled {
|
||||
[[Bouncing behavior
|
||||
|
||||
When scrolling, the scroller may "bounce" when reaching the edge of the
|
||||
content object. This is a visual way to indicate the end has been reached.
|
||||
This is enabled by default for both axes. This API will determine if it's enabled
|
||||
for the given axis with the boolean parameters for each one.]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
horiz: bool; [[Horizontal bounce policy.]]
|
||||
vert: bool; [[Vertical bounce policy.]]
|
||||
}
|
||||
}
|
||||
@property scroll_freeze {
|
||||
[[Freeze property
|
||||
This function will freeze scrolling movement (by input of a user).
|
||||
Unlike @.movement_block, this function freezes bidirectionally.
|
||||
If you want to freeze in only one direction,
|
||||
see @.movement_block.set.
|
||||
]]
|
||||
get {
|
||||
}
|
||||
set {
|
||||
}
|
||||
values {
|
||||
freeze: bool; [[$true if freeze, $false otherwise]]
|
||||
}
|
||||
}
|
||||
@property scroll_hold {
|
||||
[[Hold property
|
||||
When hold turns on, it only scrolls by holding action.
|
||||
]]
|
||||
get {
|
||||
}
|
||||
set {
|
||||
}
|
||||
values {
|
||||
hold: bool; [[$true if hold, $false otherwise]]
|
||||
}
|
||||
}
|
||||
@property looping {
|
||||
[[Controls an infinite loop for a scroller.]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
loop_h: bool; [[The scrolling horizontal loop]]
|
||||
loop_v: bool; [[The Scrolling vertical loop]]
|
||||
}
|
||||
}
|
||||
@property movement_block {
|
||||
[[Blocking of scrolling (per axis).
|
||||
|
||||
This function will block scrolling movement (by input of a user) in
|
||||
a given direction. You can disable movements in the X axis, the Y
|
||||
axis or both.
|
||||
The default value is @Efl.Ui.Layout_Orientation.default meaning that movements are
|
||||
allowed in both directions.
|
||||
]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
block: Efl.Ui.Layout_Orientation(Efl.Ui.Layout_Orientation.default); [[Which axis (or axes) to block]]
|
||||
}
|
||||
}
|
||||
@property gravity {
|
||||
[[Control scrolling gravity on the scrollable
|
||||
|
||||
The gravity defines how the scroller will adjust its view
|
||||
when the size of the scroller contents increases.
|
||||
|
||||
The scroller will adjust the view to glue itself as follows:
|
||||
$[x=0.0] to stay where it is relative to the left edge of the content.
|
||||
$[x=1.0] to stay where it is relative to the right edge of the content.
|
||||
$[y=0.0] to stay where it is relative to the top edge of the content.
|
||||
$[y=1.0] to stay where it is relative to the bottom edge of the content.
|
||||
]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
x: double(0.0); [[Horizontal scrolling gravity.]]
|
||||
y: double(0.0); [[Vertical scrolling gravity.]]
|
||||
}
|
||||
}
|
||||
@property match_content {
|
||||
[[Prevent the scrollable from being smaller than the minimum size of the content.
|
||||
|
||||
By default the scroller will be as small as its design allows,
|
||||
irrespective of its content. This will make the scroller minimum size the
|
||||
right size horizontally and/or vertically to perfectly fit its content in
|
||||
that direction.]]
|
||||
set {
|
||||
}
|
||||
values {
|
||||
w: bool; [[Whether to limit the minimum horizontal size]]
|
||||
h: bool; [[Whether to limit the minimum vertical size]]
|
||||
}
|
||||
}
|
||||
@property step_size {
|
||||
[[Control the step size
|
||||
|
||||
Use this call to set step size.
|
||||
This value is used when scroller scroll by arrow key event.]]
|
||||
set {
|
||||
}
|
||||
get {
|
||||
}
|
||||
values {
|
||||
step: Eina.Position2D; [[The step size in pixels]]
|
||||
}
|
||||
}
|
||||
scroll {
|
||||
[[Show a specific virtual region within the scroller content object.
|
||||
|
||||
This will ensure all (or part if it does not fit) of the designated
|
||||
region in the virtual content object (0, 0 starting at the top-left of the
|
||||
virtual content object) is shown within the scroller. This allows the scroller to "smoothly slide"
|
||||
to this location (if configuration in general calls for transitions). It
|
||||
may not jump immediately to the new location and make take a while and
|
||||
show other content along the way.
|
||||
]]
|
||||
params {
|
||||
@in rect: Eina.Rect; [[The position where to scroll. and The size user want to see]]
|
||||
@in animation: bool; [[Whether to scroll with animation or not]]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,7 +9,6 @@ pub_legacy_eo_files = [
|
|||
'efl_input_device.eo',
|
||||
'efl_ui_draggable.eo',
|
||||
'efl_ui_scrollable.eo',
|
||||
'efl_ui_scrollable_interactive.eo',
|
||||
'efl_ui_scrollbar.eo',
|
||||
'efl_ui_container_selectable.eo',
|
||||
'efl_ui_text_selectable.eo',
|
||||
|
|
|
@ -470,7 +470,7 @@ _efl_ui_collection_efl_ui_layout_orientable_orientation_get(const Eo *obj EINA_U
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_collection_efl_ui_scrollable_interactive_match_content_set(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd, Eina_Bool w, Eina_Bool h)
|
||||
_efl_ui_collection_efl_ui_scrollable_match_content_set(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd, Eina_Bool w, Eina_Bool h)
|
||||
{
|
||||
if (pd->match_content.w == w && pd->match_content.h == h)
|
||||
return;
|
||||
|
|
|
@ -5,7 +5,7 @@ class @beta Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
|
|||
Efl.Ui.Focus.Manager_Sub,
|
||||
Efl.Ui.Widget_Focus_Manager
|
||||
composites
|
||||
Efl.Ui.Scrollable_Interactive,
|
||||
Efl.Ui.Scrollable,
|
||||
Efl.Ui.Scrollbar,
|
||||
Efl.Ui.Focus.Manager
|
||||
{
|
||||
|
@ -77,7 +77,7 @@ class @beta Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
|
|||
Efl.Pack_Linear.pack_unpack_at;
|
||||
Efl.Pack_Linear.pack_index_get;
|
||||
Efl.Pack_Linear.pack_content_get;
|
||||
Efl.Ui.Scrollable_Interactive.match_content { set; }
|
||||
Efl.Ui.Scrollable.match_content { set; }
|
||||
Efl.Ui.Widget_Focus_Manager.focus_manager_create;
|
||||
Efl.Ui.Widget.focus_state_apply;
|
||||
Efl.Ui.Focus.Manager.move;
|
||||
|
|
|
@ -2703,7 +2703,7 @@ _efl_ui_image_zoomable_image_region_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd,
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_image_zoomable_efl_ui_scrollable_interactive_scroll(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Eina_Rect rc, Eina_Bool animation)
|
||||
_efl_ui_image_zoomable_efl_ui_scrollable_scroll(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Eina_Rect rc, Eina_Bool animation)
|
||||
{
|
||||
int rx, ry, rw, rh;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ struct @extern Elm.Photocam.Error; [[Photocam error information.]]
|
|||
struct @extern Elm.Photocam.Progress; [[Photocam progress information.]]
|
||||
|
||||
class @beta Efl.Ui.Image_Zoomable extends Efl.Ui.Image implements Efl.Ui.Zoom
|
||||
composites Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar
|
||||
composites Efl.Ui.Scrollable, Efl.Ui.Scrollbar
|
||||
{
|
||||
[[Elementary Image Zoomable class]]
|
||||
methods {
|
||||
|
@ -52,7 +52,7 @@ class @beta Efl.Ui.Image_Zoomable extends Efl.Ui.Image implements Efl.Ui.Zoom
|
|||
Efl.Ui.Widget.theme_apply;
|
||||
Efl.Ui.Focus.Object.on_focus_update;
|
||||
Efl.Ui.Widget.widget_input_event_handler;
|
||||
Efl.Ui.Scrollable_Interactive.scroll;
|
||||
Efl.Ui.Scrollable.scroll;
|
||||
Efl.Access.Widget.Action.elm_actions { get; }
|
||||
Efl.File.load;
|
||||
Efl.File.unload;
|
||||
|
|
|
@ -13,7 +13,7 @@ class @beta Efl.Ui.List_View extends Efl.Ui.Layout_Base implements
|
|||
Efl.Ui.Container_Selectable, Efl.Ui.List_View_Model,
|
||||
Efl.Ui.Widget_Focus_Manager
|
||||
composites
|
||||
Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar
|
||||
Efl.Ui.Scrollable, Efl.Ui.Scrollbar
|
||||
{
|
||||
methods {
|
||||
@property homogeneous {
|
||||
|
|
|
@ -18,7 +18,7 @@ struct @beta Efl.Ui.Panel_Scroll_Info
|
|||
class @beta Efl.Ui.Panel extends Efl.Ui.Layout_Base
|
||||
implements Efl.Ui.Focus.Layer, Efl.Content,
|
||||
Efl.Access.Widget.Action
|
||||
composites Efl.Ui.Scrollable_Interactive
|
||||
composites Efl.Ui.Scrollable
|
||||
{
|
||||
[[Elementary panel class]]
|
||||
methods {
|
||||
|
|
|
@ -253,13 +253,13 @@ _efl_ui_scroll_manager_edge_right(Efl_Ui_Scroll_Manager_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Size2D
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_content_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
return efl_ui_pan_content_size_get(sd->pan_obj);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Rect
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *obj EINA_UNUSED,
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_viewport_geometry_get(const Eo *obj EINA_UNUSED,
|
||||
Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
if (!sd->pan_obj) return EINA_RECT(0, 0, 0, 0);
|
||||
|
@ -268,21 +268,21 @@ _efl_ui_scroll_manager_efl_ui_scrollable_interactive_viewport_geometry_get(const
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_match_content_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool w, Eina_Bool h)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_match_content_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool w, Eina_Bool h)
|
||||
{
|
||||
sd->match_content_w = !!w;
|
||||
sd->match_content_h = !!h;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_step_size_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Position2D step)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_step_size_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Position2D step)
|
||||
{
|
||||
sd->step.x = step.x * elm_config_scale_get();
|
||||
sd->step.y = step.y * elm_config_scale_get();
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Position2D
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_step_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_step_size_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
return EINA_POSITION2D(sd->step.x, sd->step.y);
|
||||
}
|
||||
|
@ -408,7 +408,7 @@ _efl_ui_scroll_manager_bounce_eval(Efl_Ui_Scroll_Manager_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Position2D
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_content_pos_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
if (!sd->pan_obj) return EINA_POSITION2D(0, 0);
|
||||
|
||||
|
@ -416,7 +416,7 @@ _efl_ui_scroll_manager_efl_ui_scrollable_interactive_content_pos_get(const Eo *o
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Position2D pos)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_content_pos_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Position2D pos)
|
||||
{
|
||||
Evas_Coord x = pos.x, y = pos.y;
|
||||
Eina_Position2D min = {0, 0}, max = {0, 0}, cur = {0, 0};
|
||||
|
@ -2309,25 +2309,25 @@ _efl_ui_scroll_manager_pan_set(Eo *obj, Efl_Ui_Scroll_Manager_Data *sd, Eo *pan)
|
|||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll_hold_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_scroll_hold_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
return sd->hold;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll_hold_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool hold)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_scroll_hold_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool hold)
|
||||
{
|
||||
sd->hold = hold;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll_freeze_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_scroll_freeze_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
return sd->freeze;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll_freeze_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool freeze)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_scroll_freeze_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool freeze)
|
||||
{
|
||||
sd->freeze = freeze;
|
||||
if (sd->freeze)
|
||||
|
@ -2339,21 +2339,21 @@ _efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll_freeze_set(Eo *obj E
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_bounce_enabled_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool horiz, Eina_Bool vert)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_bounce_enabled_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool horiz, Eina_Bool vert)
|
||||
{
|
||||
sd->bounce_horiz = !!horiz;
|
||||
sd->bounce_vert = !!vert;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_bounce_enabled_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool *horiz, Eina_Bool *vert)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_bounce_enabled_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool *horiz, Eina_Bool *vert)
|
||||
{
|
||||
if (horiz) *horiz = sd->bounce_horiz;
|
||||
if (vert) *vert = sd->bounce_vert;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll(Eo *obj, Efl_Ui_Scroll_Manager_Data *sd, Eina_Rect rect, Eina_Bool animation)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_scroll(Eo *obj, Efl_Ui_Scroll_Manager_Data *sd, Eina_Rect rect, Eina_Bool animation)
|
||||
{
|
||||
_scroll_manager_animators_drop(obj);
|
||||
if (animation)
|
||||
|
@ -2381,7 +2381,7 @@ _efl_ui_scroll_manager_efl_ui_scrollable_interactive_scroll(Eo *obj, Efl_Ui_Scro
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_gravity_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, double x, double y)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_gravity_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, double x, double y)
|
||||
{
|
||||
sd->gravity_x = x;
|
||||
sd->gravity_y = y;
|
||||
|
@ -2391,26 +2391,26 @@ _efl_ui_scroll_manager_efl_ui_scrollable_interactive_gravity_set(Eo *obj EINA_UN
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_gravity_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, double *x, double *y)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_gravity_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, double *x, double *y)
|
||||
{
|
||||
if (x) *x = sd->gravity_x;
|
||||
if (y) *y = sd->gravity_y;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_movement_block_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Efl_Ui_Layout_Orientation block)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_movement_block_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Efl_Ui_Layout_Orientation block)
|
||||
{
|
||||
sd->block = block;
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Ui_Layout_Orientation
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_movement_block_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_movement_block_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd)
|
||||
{
|
||||
return sd->block;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_looping_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool loop_h, Eina_Bool loop_v)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_looping_set(Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool loop_h, Eina_Bool loop_v)
|
||||
{
|
||||
if (sd->loop_h == loop_h && sd->loop_v == loop_v) return;
|
||||
|
||||
|
@ -2419,7 +2419,7 @@ _efl_ui_scroll_manager_efl_ui_scrollable_interactive_looping_set(Eo *obj EINA_UN
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_interactive_looping_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool *loop_h, Eina_Bool *loop_v)
|
||||
_efl_ui_scroll_manager_efl_ui_scrollable_looping_get(const Eo *obj EINA_UNUSED, Efl_Ui_Scroll_Manager_Data *sd, Eina_Bool *loop_h, Eina_Bool *loop_v)
|
||||
{
|
||||
*loop_h = sd->loop_h;
|
||||
*loop_v = sd->loop_v;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class @beta Efl.Ui.Scroll.Manager extends Efl.Object implements
|
||||
Efl.Ui.I18n,
|
||||
Efl.Ui.Scrollable_Interactive,
|
||||
Efl.Ui.Scrollable,
|
||||
Efl.Ui.Scrollbar
|
||||
{
|
||||
[[Efl ui scroll manager class]]
|
||||
|
@ -25,21 +25,21 @@ class @beta Efl.Ui.Scroll.Manager extends Efl.Object implements
|
|||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Ui.I18n.mirrored { set; }
|
||||
Efl.Ui.Scrollable_Interactive.content_pos { set; get; }
|
||||
Efl.Ui.Scrollable_Interactive.content_size{ get; }
|
||||
Efl.Ui.Scrollable_Interactive.viewport_geometry{ get; }
|
||||
Efl.Ui.Scrollable_Interactive.bounce_enabled { set; get; }
|
||||
Efl.Ui.Scrollable_Interactive.scroll_freeze { get; set; }
|
||||
Efl.Ui.Scrollable_Interactive.scroll_hold { get; set; }
|
||||
Efl.Ui.Scrollable_Interactive.looping { get; set; }
|
||||
Efl.Ui.Scrollable_Interactive.movement_block { get; set; }
|
||||
Efl.Ui.Scrollable_Interactive.gravity { get; set; }
|
||||
Efl.Ui.Scrollable_Interactive.match_content { set; }
|
||||
Efl.Ui.Scrollable_Interactive.step_size { set; get; }
|
||||
Efl.Ui.Scrollable.content_pos { set; get; }
|
||||
Efl.Ui.Scrollable.content_size{ get; }
|
||||
Efl.Ui.Scrollable.viewport_geometry{ get; }
|
||||
Efl.Ui.Scrollable.bounce_enabled { set; get; }
|
||||
Efl.Ui.Scrollable.scroll_freeze { get; set; }
|
||||
Efl.Ui.Scrollable.scroll_hold { get; set; }
|
||||
Efl.Ui.Scrollable.looping { get; set; }
|
||||
Efl.Ui.Scrollable.movement_block { get; set; }
|
||||
Efl.Ui.Scrollable.gravity { get; set; }
|
||||
Efl.Ui.Scrollable.match_content { set; }
|
||||
Efl.Ui.Scrollable.step_size { set; get; }
|
||||
Efl.Ui.Scrollbar.bar_mode { get; set; }
|
||||
Efl.Ui.Scrollbar.bar_size { get; }
|
||||
Efl.Ui.Scrollbar.bar_position { get; set; }
|
||||
Efl.Ui.Scrollbar.bar_visibility_update;
|
||||
Efl.Ui.Scrollable_Interactive.scroll;
|
||||
Efl.Ui.Scrollable.scroll;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -361,7 +361,7 @@ _efl_ui_scroller_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Scroller_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_scroller_efl_ui_scrollable_interactive_match_content_set(Eo *obj EINA_UNUSED,
|
||||
_efl_ui_scroller_efl_ui_scrollable_match_content_set(Eo *obj EINA_UNUSED,
|
||||
Efl_Ui_Scroller_Data *sd,
|
||||
Eina_Bool match_content_w,
|
||||
Eina_Bool match_content_h)
|
||||
|
|
|
@ -3,7 +3,7 @@ class @beta Efl.Ui.Scroller extends Efl.Ui.Layout_Base implements
|
|||
Efl.Ui.Widget_Focus_Manager,
|
||||
Efl.Content
|
||||
composites
|
||||
Efl.Ui.Scrollable_Interactive,
|
||||
Efl.Ui.Scrollable,
|
||||
Efl.Ui.Scrollbar
|
||||
{
|
||||
[[Efl ui scroller class]]
|
||||
|
@ -18,6 +18,6 @@ class @beta Efl.Ui.Scroller extends Efl.Ui.Layout_Base implements
|
|||
Efl.Ui.Widget.focus_state_apply;
|
||||
Efl.Ui.Widget.widget_input_event_handler;
|
||||
Efl.Ui.Widget_Focus_Manager.focus_manager_create;
|
||||
Efl.Ui.Scrollable_Interactive.match_content { set; }
|
||||
Efl.Ui.Scrollable.match_content { set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -182,7 +182,7 @@ _elm_scrollable_is(const Evas_Object *obj)
|
|||
efl_isa(obj, ELM_INTERFACE_SCROLLABLE_MIXIN);
|
||||
else
|
||||
return
|
||||
efl_isa(obj, EFL_UI_SCROLLABLE_INTERACTIVE_INTERFACE);
|
||||
efl_isa(obj, EFL_UI_SCROLLABLE_INTERFACE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -28,7 +28,7 @@ enum Elm.Scroller.Single_Direction
|
|||
last [[Internal. Sentinel value to indicate last enum field during iteration.]]
|
||||
}
|
||||
|
||||
mixin @beta Elm.Interface_Scrollable requires Efl.Ui.Widget extends Efl.Ui.Scrollable, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager
|
||||
mixin @beta Elm.Interface_Scrollable requires Efl.Ui.Widget extends Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager
|
||||
{
|
||||
[[Elm scrollable mixin]]
|
||||
c_prefix: elm_interface_scrollable;
|
||||
|
|
Loading…
Reference in New Issue