parent
5fd6574067
commit
13daf7d8bd
|
@ -46,6 +46,7 @@ collections {
|
|||
#include "default_pointer.edc"
|
||||
#include "default_about.edc"
|
||||
#include "default_theme_about.edc"
|
||||
#include "default_entry.edc"
|
||||
#include "default_entry.edc"
|
||||
#include "default_scrollbar.edc"
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,529 @@
|
|||
images {
|
||||
image: "e17_hscrollbar_trough.png" COMP;
|
||||
image: "e17_scrollbar_left_arrow.png" COMP;
|
||||
image: "e17_scrollbar_left_arrow_down.png" COMP;
|
||||
image: "e17_scrollbar_right_arrow.png" COMP;
|
||||
image: "e17_scrollbar_right_arrow_down.png" COMP;
|
||||
image: "e17_scrollbar_left_arrow.png" COMP;
|
||||
image: "e17_scrollbar_left_arrow_down.png" COMP;
|
||||
image: "e17_hhandle.png" COMP;
|
||||
image: "e17_hhandle_down.png" COMP;
|
||||
image: "e17_hhandle_thumb.png" COMP;
|
||||
image: "e17_vscrollbar_trough.png" COMP;
|
||||
image: "e17_scrollbar_top_arrow.png" COMP;
|
||||
image: "e17_scrollbar_top_arrow_down.png" COMP;
|
||||
image: "e17_scrollbar_bottom_arrow.png" COMP;
|
||||
image: "e17_scrollbar_bottom_arrow_down.png" COMP;
|
||||
image: "e17_scrollbar_top_arrow.png" COMP;
|
||||
image: "e17_scrollbar_top_arrow_down.png" COMP;
|
||||
image: "e17_vhandle.png" COMP;
|
||||
image: "e17_vhandle_down.png" COMP;
|
||||
image: "e17_vhandle_thumb.png" COMP;
|
||||
}
|
||||
|
||||
group {
|
||||
name: "widgets/hscrollbar";
|
||||
min: 40 16;
|
||||
parts {
|
||||
part {
|
||||
name: "trough";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0.5;
|
||||
offset: 0 -8;
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 0.5;
|
||||
offset: -1 9;
|
||||
}
|
||||
image {
|
||||
normal: "e17_hscrollbar_trough.png";
|
||||
border: 6 6 6 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "left_left_arrow";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0.5;
|
||||
offset: -1 -8;
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.0 0.5;
|
||||
offset: 16 9;
|
||||
}
|
||||
image {
|
||||
normal: "e17_scrollbar_left_arrow.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_scrollbar_left_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "right_right_arrow";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 1.0 0.5;
|
||||
offset: -17 -8;
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 0.5;
|
||||
offset: 0 9;
|
||||
}
|
||||
image {
|
||||
normal: "e17_scrollbar_right_arrow.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_scrollbar_right_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "right_left_arrow";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0.0;
|
||||
offset: -18 0;
|
||||
to: "right_right_arrow";
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.0 1.0;
|
||||
offset: -1 -1;
|
||||
to: "right_right_arrow";
|
||||
}
|
||||
image {
|
||||
normal: "e17_scrollbar_left_arrow.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_scrollbar_left_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "scrollbar_bar_confine";
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
rel1 {
|
||||
relative: 1.0 0.5;
|
||||
offset: 0 9;
|
||||
to_x: "left_left_arrow";
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.0 0.5;
|
||||
offset: 0 10;
|
||||
to_x: "right_left_arrow";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "drag";
|
||||
dragable {
|
||||
confine: "scrollbar_bar_confine";
|
||||
x: 1 1 1;
|
||||
y: 0 0 0;
|
||||
}
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
min: 58 18;
|
||||
max: 58 18;
|
||||
image {
|
||||
normal: "e17_hhandle.png";
|
||||
border: 10 10 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_hhandle_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "drag_thumb";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.5 0.5;
|
||||
offset: -9 -4;
|
||||
to: "drag";
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.5 0.5;
|
||||
offset: 6 1;
|
||||
to: "drag";
|
||||
}
|
||||
image {
|
||||
normal: "e17_hhandle_thumb.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
rel1 {
|
||||
offset: -8 -3;
|
||||
}
|
||||
rel2 {
|
||||
offset: 7 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
name: "hscrollbar_drag_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "drag";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "drag";
|
||||
target: "drag_thumb";
|
||||
}
|
||||
program {
|
||||
name: "hscrollbar_drag_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "drag";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "drag";
|
||||
target: "drag_thumb";
|
||||
}
|
||||
program {
|
||||
name: "left_left_arrow_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "left_left_arrow";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "left_left_arrow";
|
||||
after: "emit_scroll_left_start";
|
||||
}
|
||||
program {
|
||||
name: "left_left_arrow_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "left_left_arrow";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "left_left_arrow";
|
||||
after: "emit_scroll_left_stop";
|
||||
}
|
||||
program {
|
||||
name: "right_left_arrow_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "right_left_arrow";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "right_left_arrow";
|
||||
after: "emit_scroll_left_start";
|
||||
}
|
||||
program {
|
||||
name: "right_left_arrow_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "right_left_arrow";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "right_left_arrow";
|
||||
after: "emit_scroll_left_stop";
|
||||
}
|
||||
program {
|
||||
name: "right_right_arrow_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "right_right_arrow";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "right_right_arrow";
|
||||
after: "emit_scroll_right_start";
|
||||
}
|
||||
program {
|
||||
name: "right_right_arrow_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "right_right_arrow";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "right_right_arrow";
|
||||
after: "emit_scroll_right_stop";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_left_start";
|
||||
action: SIGNAL_EMIT "scroll_left_start" "";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_left_stop";
|
||||
action: SIGNAL_EMIT "scroll_left_stop" "";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_right_start";
|
||||
action: SIGNAL_EMIT "scroll_right_start" "";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_right_stop";
|
||||
action: SIGNAL_EMIT "scroll_right_stop" "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
group {
|
||||
name: "widgets/vscrollbar";
|
||||
min: 16 40;
|
||||
parts {
|
||||
part {
|
||||
name: "trough";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.5 0.0;
|
||||
offset: -8 0;
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.5 1.0;
|
||||
offset: 9 -1;
|
||||
}
|
||||
image {
|
||||
normal: "e17_vscrollbar_trough.png";
|
||||
border: 6 6 6 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "top_top_arrow";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.5 0.0;
|
||||
offset: -8 -1;
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.5 0.0;
|
||||
offset: 9 16;
|
||||
}
|
||||
image {
|
||||
normal: "e17_scrollbar_top_arrow.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_scrollbar_top_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "bottom_bottom_arrow";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.5 1.0;
|
||||
offset: -8 -17;
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.5 1.0;
|
||||
offset: 9 0;
|
||||
}
|
||||
image {
|
||||
normal: "e17_scrollbar_bottom_arrow.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_scrollbar_bottom_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "bottom_top_arrow";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0.0;
|
||||
offset: 0 -18;
|
||||
to: "bottom_bottom_arrow";
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 0.0;
|
||||
offset: -1 -1;
|
||||
to: "bottom_bottom_arrow";
|
||||
}
|
||||
image {
|
||||
normal: "e17_scrollbar_top_arrow.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_scrollbar_top_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "scrollbar_bar_confine";
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
rel1 {
|
||||
relative: 0.5 1.0;
|
||||
offset: 9 0;
|
||||
to_y: "top_top_arrow";
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.5 0.0;
|
||||
offset: 10 0;
|
||||
to_y: "bottom_top_arrow";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "drag";
|
||||
dragable {
|
||||
confine: "scrollbar_bar_confine";
|
||||
x: 0 0 0;
|
||||
y: 1 1 1;
|
||||
}
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
min: 18 58;
|
||||
max: 18 58;
|
||||
image {
|
||||
normal: "e17_vhandle.png";
|
||||
border: 0 0 10 10;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "e17_vhandle_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "drag_thumb";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.5 0.5;
|
||||
offset: -4 -9;
|
||||
to: "drag";
|
||||
}
|
||||
rel2 {
|
||||
relative: 0.5 0.5;
|
||||
offset: 1 6;
|
||||
to: "drag";
|
||||
}
|
||||
image {
|
||||
normal: "e17_vhandle_thumb.png";
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "down" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
rel1 {
|
||||
offset: -3 -8;
|
||||
}
|
||||
rel2 {
|
||||
offset: 2 7;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
name: "vscrollbar_drag_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "drag";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "drag";
|
||||
target: "drag_thumb";
|
||||
}
|
||||
program {
|
||||
name: "vscrollbar_drag_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "drag";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "drag";
|
||||
target: "drag_thumb";
|
||||
}
|
||||
program {
|
||||
name: "top_top_arrow_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "top_top_arrow";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "top_top_arrow";
|
||||
after: "emit_scroll_top_start";
|
||||
}
|
||||
program {
|
||||
name: "top_top_arrow_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "top_top_arrow";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "top_top_arrow";
|
||||
after: "emit_scroll_top_stop";
|
||||
}
|
||||
program {
|
||||
name: "bottom_top_arrow_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "bottom_top_arrow";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "bottom_top_arrow";
|
||||
after: "emit_scroll_top_start";
|
||||
}
|
||||
program {
|
||||
name: "bottom_top_arrow_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "bottom_top_arrow";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "bottom_top_arrow";
|
||||
after: "emit_scroll_top_stop";
|
||||
}
|
||||
program {
|
||||
name: "bottom_bottom_arrow_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "bottom_bottom_arrow";
|
||||
action: STATE_SET "down" 0.0;
|
||||
target: "bottom_bottom_arrow";
|
||||
after: "emit_scroll_bottom_start";
|
||||
}
|
||||
program {
|
||||
name: "bottom_bottom_arrow_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "bottom_bottom_arrow";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "bottom_bottom_arrow";
|
||||
after: "emit_scroll_bottom_stop";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_top_start";
|
||||
action: SIGNAL_EMIT "scroll_top_start" "";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_top_stop";
|
||||
action: SIGNAL_EMIT "scroll_top_stop" "";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_bottom_start";
|
||||
action: SIGNAL_EMIT "scroll_bottom_start" "";
|
||||
}
|
||||
program {
|
||||
name: "emit_scroll_bottom_stop";
|
||||
action: SIGNAL_EMIT "scroll_bottom_stop" "";
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -78,7 +78,8 @@ e_configure.h \
|
|||
e_about.h \
|
||||
e_theme_about.h \
|
||||
e_apps_cache.h \
|
||||
e_entry.h
|
||||
e_entry.h \
|
||||
e_scrollbar.h
|
||||
|
||||
enlightenment_src = \
|
||||
e_user.c \
|
||||
|
@ -140,6 +141,7 @@ e_about.c \
|
|||
e_theme_about.c \
|
||||
e_apps_cache.c \
|
||||
e_entry.c \
|
||||
e_scrollbar.c \
|
||||
$(ENLIGHTENMENTHEADERS)
|
||||
|
||||
enlightenment_SOURCES = \
|
||||
|
|
|
@ -0,0 +1,223 @@
|
|||
#include "e.h"
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
* - add event handlers for scrolling
|
||||
* - add functions to set / get values and min / max
|
||||
*/
|
||||
|
||||
typedef struct _E_Scrollbar_Smart_Data
|
||||
{
|
||||
Evas_Object *edje_object;
|
||||
|
||||
struct {
|
||||
double min;
|
||||
double max;
|
||||
} value;
|
||||
|
||||
E_Scrollbar_Direction direction;
|
||||
|
||||
} E_Scrollbar_Smart_Data;
|
||||
|
||||
static void _e_scrollbar_smart_add(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_del(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_raise(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_lower(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_stack_above(Evas_Object *object, Evas_Object *above);
|
||||
static void _e_scrollbar_smart_stack_below(Evas_Object *object, Evas_Object *below);
|
||||
static void _e_scrollbar_smart_move(Evas_Object *object, Evas_Coord x, Evas_Coord y);
|
||||
static void _e_scrollbar_smart_resize(Evas_Object *object, Evas_Coord w, Evas_Coord h);
|
||||
static void _e_scrollbar_smart_show(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_hide(Evas_Object *object);
|
||||
|
||||
static Evas_Smart *e_scrollbar_smart = NULL;
|
||||
|
||||
Evas_Object *e_scrollbar_add(Evas *evas)
|
||||
{
|
||||
Evas_Object *o;
|
||||
|
||||
if (!e_scrollbar_smart)
|
||||
{
|
||||
e_scrollbar_smart = evas_smart_new("e_entry",
|
||||
_e_scrollbar_smart_add, /* add */
|
||||
_e_scrollbar_smart_del, /* del */
|
||||
NULL, /* layer_set */
|
||||
_e_scrollbar_smart_raise, /* raise */
|
||||
_e_scrollbar_smart_lower, /* lower */
|
||||
_e_scrollbar_smart_stack_above, /* stack_above */
|
||||
_e_scrollbar_smart_stack_below, /* stack_below */
|
||||
_e_scrollbar_smart_move, /* move */
|
||||
_e_scrollbar_smart_resize, /* resize */
|
||||
_e_scrollbar_smart_show, /* show */
|
||||
_e_scrollbar_smart_hide, /* hide */
|
||||
NULL, /* color_set */
|
||||
NULL, /* clip_set */
|
||||
NULL, /* clip_unset */
|
||||
NULL); /* data*/
|
||||
}
|
||||
o = evas_object_smart_add(evas, e_scrollbar_smart);
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
void
|
||||
e_scrollbar_direction_set (Evas_Object *object, E_Scrollbar_Direction dir)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
if (scrollbar_sd->direction == dir)
|
||||
return;
|
||||
|
||||
switch (dir)
|
||||
{
|
||||
case E_SCROLLBAR_HOR:
|
||||
e_theme_edje_object_set(scrollbar_sd->edje_object,
|
||||
"base/theme/widgets/hscrollbar",
|
||||
"widgets/hscrollbar");
|
||||
break;
|
||||
|
||||
case E_SCROLLBAR_VERT:
|
||||
e_theme_edje_object_set(scrollbar_sd->edje_object,
|
||||
"base/theme/widgets/vscrollbar",
|
||||
"widgets/vscrollbar");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
E_Scrollbar_Direction
|
||||
e_scrollbar_direction_get (Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
return scrollbar_sd->direction;
|
||||
}
|
||||
|
||||
/**************************
|
||||
* Private functions
|
||||
**************************/
|
||||
|
||||
static void _e_scrollbar_smart_add(Evas_Object *object)
|
||||
{
|
||||
Evas *evas;
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(evas = evas_object_evas_get(object)))
|
||||
return;
|
||||
|
||||
scrollbar_sd = calloc(1, sizeof(E_Scrollbar_Smart_Data));
|
||||
scrollbar_sd->value.min = 0.0;
|
||||
scrollbar_sd->value.max = 1.0;
|
||||
|
||||
scrollbar_sd->edje_object = edje_object_add(evas);
|
||||
e_theme_edje_object_set(scrollbar_sd->edje_object,
|
||||
"base/theme/widgets/hscrollbar",
|
||||
"widgets/hscrollbar");
|
||||
|
||||
scrollbar_sd->direction = E_SCROLLBAR_HOR;
|
||||
|
||||
evas_object_smart_member_add(scrollbar_sd->edje_object, object);
|
||||
|
||||
evas_object_smart_data_set(object, scrollbar_sd);
|
||||
}
|
||||
|
||||
static void _e_scrollbar_smart_del(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_del(scrollbar_sd->edje_object);
|
||||
|
||||
free(scrollbar_sd);
|
||||
}
|
||||
|
||||
static void _e_scrollbar_smart_raise(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_raise(scrollbar_sd->edje_object);
|
||||
}
|
||||
|
||||
static void _e_scrollbar_smart_lower(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_lower(scrollbar_sd->edje_object);
|
||||
}
|
||||
|
||||
static void _e_scrollbar_smart_stack_above(Evas_Object *object, Evas_Object *above)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !above || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_stack_above(scrollbar_sd->edje_object, above);
|
||||
}
|
||||
|
||||
/* Called when the object is stacked below another object */
|
||||
static void _e_scrollbar_smart_stack_below(Evas_Object *object, Evas_Object *below)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !below || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_stack_below(scrollbar_sd->edje_object, below);
|
||||
}
|
||||
|
||||
/* Called when the object is moved */
|
||||
static void _e_scrollbar_smart_move(Evas_Object *object, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_move(scrollbar_sd->edje_object, x, y);
|
||||
}
|
||||
|
||||
/* Called when the object is resized */
|
||||
static void _e_scrollbar_smart_resize(Evas_Object *object, Evas_Coord w, Evas_Coord h)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_resize(scrollbar_sd->edje_object, w, h);
|
||||
}
|
||||
|
||||
static void _e_scrollbar_smart_show(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_show(scrollbar_sd->edje_object);
|
||||
}
|
||||
|
||||
static void _e_scrollbar_smart_hide(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *scrollbar_sd;
|
||||
|
||||
if (!object || !(scrollbar_sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_hide(scrollbar_sd->edje_object);
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#ifdef E_TYPEDEFS
|
||||
|
||||
typedef enum _E_Scrollbar_Direction
|
||||
{
|
||||
E_SCROLLBAR_HOR = 0,
|
||||
E_SCROLLBAR_VERT = 1
|
||||
} E_Scrollbar_Direction;
|
||||
|
||||
#else
|
||||
#ifndef E_SCROLLBAR_H
|
||||
#define E_SCROLLBAR_H
|
||||
|
||||
EAPI Evas_Object *e_scrollbar_add(Evas *evas);
|
||||
EAPI void e_scrollbar_direction_set_(Evas_Object *object, E_Scrollbar_Direction dir);
|
||||
EAPI E_Scrollbar_Direction e_scrollbar_direction_get(Evas_Object *object);
|
||||
|
||||
#endif
|
||||
#endif
|
Loading…
Reference in New Issue