Re: [E-devel] [Patch] Dragable etk_scrolled_view

2008-04-10 Thread Tick

Thanks a lot ^_^

Cheers,
Tick

Carsten Haitzler (The Rasterman) 提到:
> On Sat, 05 Apr 2008 01:04:30 +0800 Tick <[EMAIL PROTECTED]> babbled:
>
> since there are no objections - i'll stick this in cvs. :) it's in now.
>
>   
>> Hi All,
>> Thanks for the feedback of CodeWarrior.  I add extra two function 
>> that make the bouncy also an option.
>> Default is True, but if you turn it to False, it will not bounce when 
>> hit the boundary.
>>
>> Adding two functions:
>> +voidetk_scrolled_view_drag_bouncy_set(Etk_Scrolled_View 
>> *scrolled_view, Etk_Bool bouncy);
>> +Etk_Booletk_scrolled_view_drag_bouncy_get(Etk_Scrolled_View 
>> *scrolled_view);
>>
>> Cheers,
>> Tick
>>
>> Tick 提到:
>> 
>>> Hi All,
>>>The attached patch lets etk_scrolled_view been dragable with 
>>> pressing on the panel directly and drag. If you drag fast, after 
>>> releasing the panel will still scrolling until it stop slowly.
>>>
>>> Adding the following functions.
>>> voidetk_scrolled_view_dragable_set(Etk_Scrolled_View 
>>> *scrolled_view, Etk_Bool dragable);
>>> Etk_Bool   etk_scrolled_view_dragable_get(Etk_Scrolled_View 
>>> *scrolled_view);
>>>
>>> additional functions for detail control. (Most user don't need them)
>>> double
>>> etk_scrolled_view_drag_sample_interval_magic_set(Etk_Scrolled_View 
>>> *scrolled_view,double interval);
>>> double
>>> etk_scrolled_view_drag_sample_interval_magic_get(Etk_Scrolled_View 
>>> *scrolled_view);
>>> unsigned int 
>>> etk_scrolled_view_drag_damping_magic_set(Etk_Scrolled_View 
>>> *scrolled_view,unsigned int damping);
>>> unsigned int 
>>> etk_scrolled_view_drag_damping_magic_get(Etk_Scrolled_View 
>>> *scrolled_view);
>>>
>>> You can test this with etk_test after patching and adding two line in 
>>> etk_test
>>> cvs diff: Diffing .
>>> Index: etk_scrolled_view_test.c
>>> ===
>>> RCS file: /var/cvs/e/e17/libs/etk/src/bin/etk_scrolled_view_test.c,v
>>> retrieving revision 1.8
>>> diff -r1.8 etk_scrolled_view_test.c
>>> 29a30,31
>>>   

 
>>> etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW
>>> (scrolled_view),ETK_POLICY_HIDE,ETK_POLICY_HIDE); 
>>>
>>>   

 
>>> etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(scrolled_view),ETK_TRUE); 
>>>
>>>
>>> Cheers,
>>> Tick
>>>   
>> 
>
>
>   


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] Dragable etk_scrolled_view

2008-04-10 Thread Hisham Mardam Bey
On Thu, Apr 10, 2008 at 5:02 AM, The Rasterman Carsten Haitzler
<[EMAIL PROTECTED]> wrote:
>
>  since there are no objections - i'll stick this in cvs. :) it's in now.
>
> > On Sat, 05 Apr 2008 01:04:30 +0800 Tick <[EMAIL PROTECTED]> babbled:
>  > Hi All,
>  > Thanks for the feedback of CodeWarrior.  I add extra two function
>  > that make the bouncy also an option.

Cool - was on my TODO, have no internet at home though (and too busy
to do things from work).

Cheers Rasties.

-- 
Hisham Mardam Bey
http://hisham.cc/
+1-514-966-8359
Codito Ergo Sum (I Code Therefore I Am)

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] Dragable etk_scrolled_view

2008-04-10 Thread The Rasterman
On Sat, 05 Apr 2008 01:04:30 +0800 Tick <[EMAIL PROTECTED]> babbled:

since there are no objections - i'll stick this in cvs. :) it's in now.

> Hi All,
> Thanks for the feedback of CodeWarrior.  I add extra two function 
> that make the bouncy also an option.
> Default is True, but if you turn it to False, it will not bounce when 
> hit the boundary.
> 
> Adding two functions:
> +voidetk_scrolled_view_drag_bouncy_set(Etk_Scrolled_View 
> *scrolled_view, Etk_Bool bouncy);
> +Etk_Booletk_scrolled_view_drag_bouncy_get(Etk_Scrolled_View 
> *scrolled_view);
> 
> Cheers,
> Tick
> 
> Tick 提到:
> > Hi All,
> >The attached patch lets etk_scrolled_view been dragable with 
> > pressing on the panel directly and drag. If you drag fast, after 
> > releasing the panel will still scrolling until it stop slowly.
> >
> > Adding the following functions.
> > voidetk_scrolled_view_dragable_set(Etk_Scrolled_View 
> > *scrolled_view, Etk_Bool dragable);
> > Etk_Bool   etk_scrolled_view_dragable_get(Etk_Scrolled_View 
> > *scrolled_view);
> >
> > additional functions for detail control. (Most user don't need them)
> > double
> > etk_scrolled_view_drag_sample_interval_magic_set(Etk_Scrolled_View 
> > *scrolled_view,double interval);
> > double
> > etk_scrolled_view_drag_sample_interval_magic_get(Etk_Scrolled_View 
> > *scrolled_view);
> > unsigned int 
> > etk_scrolled_view_drag_damping_magic_set(Etk_Scrolled_View 
> > *scrolled_view,unsigned int damping);
> > unsigned int 
> > etk_scrolled_view_drag_damping_magic_get(Etk_Scrolled_View 
> > *scrolled_view);
> >
> > You can test this with etk_test after patching and adding two line in 
> > etk_test
> > cvs diff: Diffing .
> > Index: etk_scrolled_view_test.c
> > ===
> > RCS file: /var/cvs/e/e17/libs/etk/src/bin/etk_scrolled_view_test.c,v
> > retrieving revision 1.8
> > diff -r1.8 etk_scrolled_view_test.c
> > 29a30,31
> > >
> > etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW
> > (scrolled_view),ETK_POLICY_HIDE,ETK_POLICY_HIDE); 
> >
> > >
> > etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(scrolled_view),ETK_TRUE); 
> >
> >
> > Cheers,
> > Tick
> 
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] Dragable etk_scrolled_view

2008-04-04 Thread Tick

Hi All,
   Thanks for the feedback of CodeWarrior.  I add extra two function 
that make the bouncy also an option.
Default is True, but if you turn it to False, it will not bounce when 
hit the boundary.


Adding two functions:
+voidetk_scrolled_view_drag_bouncy_set(Etk_Scrolled_View 
*scrolled_view, Etk_Bool bouncy);
+Etk_Booletk_scrolled_view_drag_bouncy_get(Etk_Scrolled_View 
*scrolled_view);


Cheers,
Tick

Tick 提到:

Hi All,
   The attached patch lets etk_scrolled_view been dragable with 
pressing on the panel directly and drag. If you drag fast, after 
releasing the panel will still scrolling until it stop slowly.


Adding the following functions.
voidetk_scrolled_view_dragable_set(Etk_Scrolled_View 
*scrolled_view, Etk_Bool dragable);
Etk_Bool   etk_scrolled_view_dragable_get(Etk_Scrolled_View 
*scrolled_view);


additional functions for detail control. (Most user don't need them)
double
etk_scrolled_view_drag_sample_interval_magic_set(Etk_Scrolled_View 
*scrolled_view,double interval);
double
etk_scrolled_view_drag_sample_interval_magic_get(Etk_Scrolled_View 
*scrolled_view);
unsigned int 
etk_scrolled_view_drag_damping_magic_set(Etk_Scrolled_View 
*scrolled_view,unsigned int damping);
unsigned int 
etk_scrolled_view_drag_damping_magic_get(Etk_Scrolled_View 
*scrolled_view);


You can test this with etk_test after patching and adding two line in 
etk_test

cvs diff: Diffing .
Index: etk_scrolled_view_test.c
===
RCS file: /var/cvs/e/e17/libs/etk/src/bin/etk_scrolled_view_test.c,v
retrieving revision 1.8
diff -r1.8 etk_scrolled_view_test.c
29a30,31
>
etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW(scrolled_view),ETK_POLICY_HIDE,ETK_POLICY_HIDE); 

>
etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(scrolled_view),ETK_TRUE); 



Cheers,
Tick


Index: etk/src/lib/etk_scrolled_view.c
===
--- etk.orig/src/lib/etk_scrolled_view.c	2008-04-02 11:53:32.0 +0800
+++ etk/src/lib/etk_scrolled_view.c	2008-04-05 00:41:47.0 +0800
@@ -37,7 +37,15 @@
 static Etk_Bool _etk_scrolled_view_child_added_cb(Etk_Object *object, void *child, void *data);
 static Etk_Bool _etk_scrolled_view_child_removed_cb(Etk_Object *object, void *child, void *data);
 static Etk_Bool _etk_scrolled_view_child_scroll_size_changed_cb(Etk_Object *object, void *data);
+static int _etk_scrolled_view_motive_bounce(void *data); 
 
+
+static Etk_Bool _etk_scrolled_view_mouse_down(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data); 
+static Etk_Bool _etk_scrolled_view_mouse_up(Etk_Object *object, Etk_Event_Mouse_Up *event, void *data);
+static Etk_Bool _etk_scrolled_view_mouse_click(Etk_Object *object, Etk_Event_Mouse_Up *event, void *data);
+static Etk_Bool _etk_scrolled_view_mouse_move(Etk_Object *object, Etk_Event_Mouse_Move *event, void *data); 
+
+static Etk_Bool _etk_scrolled_view_bar_mouse_down(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data); 
 /**
  *
  * Implementation
@@ -173,6 +181,106 @@
   *vpolicy = scrolled_view ? scrolled_view->vpolicy : ETK_POLICY_AUTO;
 }
 
+/**
+ * @brief Set the scrolled view dragable or not
+ * @param scrolled_view a scrolled view
+ * @param dragable The scrolled view is dragable or not?
+ */ 
+void etk_scrolled_view_dragable_set(Etk_Scrolled_View *scrolled_view, Etk_Bool dragable) 
+{
+   if (!scrolled_view)
+  return;
+   scrolled_view->drag.dragable = dragable;
+}
+
+/**
+ * @brief Get the scrolled view dragable flag
+ * @param scrolled_view a scrolled view
+ * @return Returns ETK_TURE if the scrolled view is dragable
+ */
+Etk_Bool etk_scrolled_view_dragable_get(Etk_Scrolled_View *scrolled_view) 
+{
+   if (!scrolled_view)
+  return ETK_FALSE;
+   return scrolled_view->drag.dragable;
+}
+
+/**
+ * @brief Set the scrolled view boucy or not.
+ * @param scrolled_view  a scrolled view
+ * @param bouncy The scrolled view is bouncy or not (Default TRUE)
+ */ 
+void etk_scrolled_view_drag_bouncy_set(Etk_Scrolled_View *scrolled_view, Etk_Bool bouncy) 
+{
+   if (!scrolled_view)
+  return;
+   scrolled_view->drag.bouncy = bouncy;
+}
+
+/**
+ * @brief  Get the scrolled view bouncy flag
+ * @param scrolled_view  a scrolled view
+ * @return Returns ETK_TURE if the scrolled view is bouncy
+ */ 
+Etk_Bool etk_scrolled_view_drag_bouncy_get(Etk_Scrolled_View *scrolled_view) 
+{
+   if (!scrolled_view)
+  return ETK_FALSE;
+   return scrolled_view->drag.bouncy;
+}
+
+/**
+ * @brief Set the scrolled view sample interval to calculate the scrolling speed.
+ * @param scrolled_view a scrolled view
+ * @param interval The interval of sampling latest scrolling speed (minimial 0.2 second, default 0.5 second)
+ * @return Returns the actual sampling interval set. If scrolled_view is NULL returns 0.0f. 
+ */
+double etk_scrolled_view_drag_sample_interval_magic_set(Etk_Scrolled_View *sc

[E-devel] [Patch] Dragable etk_scrolled_view

2008-04-03 Thread Tick

Hi All,
   The attached patch lets etk_scrolled_view been dragable with 
pressing on the panel directly and drag. If you drag fast, after 
releasing the panel will still scrolling until it stop slowly.


Adding the following functions.
voidetk_scrolled_view_dragable_set(Etk_Scrolled_View 
*scrolled_view, Etk_Bool dragable);

Etk_Bool   etk_scrolled_view_dragable_get(Etk_Scrolled_View *scrolled_view);

additional functions for detail control. (Most user don't need them)
double
etk_scrolled_view_drag_sample_interval_magic_set(Etk_Scrolled_View 
*scrolled_view,double interval);
double
etk_scrolled_view_drag_sample_interval_magic_get(Etk_Scrolled_View 
*scrolled_view);
unsigned int etk_scrolled_view_drag_damping_magic_set(Etk_Scrolled_View 
*scrolled_view,unsigned int damping);
unsigned int etk_scrolled_view_drag_damping_magic_get(Etk_Scrolled_View 
*scrolled_view);


You can test this with etk_test after patching and adding two line in 
etk_test

cvs diff: Diffing .
Index: etk_scrolled_view_test.c
===
RCS file: /var/cvs/e/e17/libs/etk/src/bin/etk_scrolled_view_test.c,v
retrieving revision 1.8
diff -r1.8 etk_scrolled_view_test.c
29a30,31
>
etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW(scrolled_view),ETK_POLICY_HIDE,ETK_POLICY_HIDE);
>
etk_scrolled_view_dragable_set(ETK_SCROLLED_VIEW(scrolled_view),ETK_TRUE);


Cheers,
Tick
Index: etk/src/lib/etk_scrolled_view.c
===
--- etk.orig/src/lib/etk_scrolled_view.c	2008-04-02 11:53:32.0 +0800
+++ etk/src/lib/etk_scrolled_view.c	2008-04-04 11:59:24.0 +0800
@@ -37,7 +37,15 @@
 static Etk_Bool _etk_scrolled_view_child_added_cb(Etk_Object *object, void *child, void *data);
 static Etk_Bool _etk_scrolled_view_child_removed_cb(Etk_Object *object, void *child, void *data);
 static Etk_Bool _etk_scrolled_view_child_scroll_size_changed_cb(Etk_Object *object, void *data);
+static int _etk_scrolled_view_motive_bounce(void *data); 
 
+
+static Etk_Bool _etk_scrolled_view_mouse_down(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data); 
+static Etk_Bool _etk_scrolled_view_mouse_up(Etk_Object *object, Etk_Event_Mouse_Up *event, void *data);
+static Etk_Bool _etk_scrolled_view_mouse_click(Etk_Object *object, Etk_Event_Mouse_Up *event, void *data);
+static Etk_Bool _etk_scrolled_view_mouse_move(Etk_Object *object, Etk_Event_Mouse_Move *event, void *data); 
+
+static Etk_Bool _etk_scrolled_view_bar_mouse_down(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data); 
 /**
  *
  * Implementation
@@ -173,6 +181,82 @@
   *vpolicy = scrolled_view ? scrolled_view->vpolicy : ETK_POLICY_AUTO;
 }
 
+/**
+ * @brief Set the scrolled view dragable or not
+ * @param scrolled_view a scrolled view
+ * @param dragable The scrolled view is dragable or not?
+ */ 
+void etk_scrolled_view_dragable_set(Etk_Scrolled_View *scrolled_view, Etk_Bool dragable) 
+{
+   if (!scrolled_view)
+  return;
+   scrolled_view->drag.dragable = dragable;
+}
+
+/**
+ * @brief Get the scrolled view dragable flag
+ * @param scrolled_view a scrolled view
+ * @return Returns ETK_TURE if the scrolled view is dragable
+ */
+Etk_Bool etk_scrolled_view_dragable_get(Etk_Scrolled_View *scrolled_view) 
+{
+   if (!scrolled_view)
+  return ETK_FALSE;
+   return scrolled_view->drag.dragable;
+}
+
+/**
+ * @brief Set the scrolled view sample interval to calculate the scrolling speed.
+ * @param scrolled_view a scrolled view
+ * @param interval The interval of sampling latest scrolling speed (minimial 0.2 second, default 0.5 second)
+ * @return Returns the actual sampling interval set. If scrolled_view is NULL returns 0.0f. 
+ */
+double etk_scrolled_view_drag_sample_interval_magic_set(Etk_Scrolled_View *scrolled_view,double interval) 
+{
+   if (!scrolled_view)
+  return 0.0f;
+   interval = interval >= 0.2f ? interval : 0.2f;
+   scrolled_view->drag.sample_magic = interval;
+   return scrolled_view->drag.sample_magic;
+}
+
+/**
+ * @brief Get the scrolled view sample interval to calculate the scrolling speed.
+ * @param scrolled_view a scrolled view
+ * @return Returns the sampling interval. If scrolled_view is NULL return 0.0f. 
+ */
+double etk_scrolled_view_drag_sample_interval_magic_get(Etk_Scrolled_View *scrolled_view)
+{
+   if (!scrolled_view)
+  return 0.0f;
+   return scrolled_view->drag.sample_magic;
+}
+
+/**
+ * @brief Set the damping magic number of a dragable scrolled view
+ * @param scrolled_view a scrolled view
+ * @param damping The damping factor of the dragable scrolled view (default 100)
+ * @return Returns the actual damping factor set
+ */ 
+unsigned int etk_scrolled_view_drag_damping_magic_set(Etk_Scrolled_View *scrolled_view,unsigned int damping)
+{
+   if (!scrolled_view)
+  return 0;
+   scrolled_view->drag.damping_magic = damping;
+   return scrolled_view->drag.damping_magi