There's still work to do here, particularly in the theme, but it has
something nice and fun to see the code working.
The idea behind this:
Window tracks focused object and sends the highlight object(s) to it. These
are simple edje objects, one on top, one below the focused widget for nice
effects. Widgets can choose to ignore the highlight and this will be sent to
the parent object, if it doesn't ignore it as well.
About the bottom object, it doesn't work now. For the most part, focused
widget will always be a member of some smart object, so stacking won't work
and the desired effect is nowhere to be seen. This will be worked out later.
To be done now:
- Let the theme for a widget define its own highlight, disabling if needed
the standard one for those objects.
- Needed base in code to allow animations when switching focus. All in theme.
- Properly test all widgets and fix some things that will most likely work
in weird ways, given the nature of Evas/Edje and how Elementary makes use
of them.
- Forgot the rest, stay tuned, test, report, give ideas, plant a tree.
Work started by glima, continued with some refactors by me when he
decided he needed vacations.
SVN revision: 52524
Calling resize_object_del() when a resize_object died calls
elm_widget_sub_object_del(), which sets the parent of the (now dead)
widget to NULL. The problem is that this breaks some of the
stuff done in the smart_del() method in the smart class for widgets,
like reverting focus to whoever held it previously.
SVN revision: 52387
Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
elm_<widget>_icon_set was changed to the better form and the signals
was passed to hidden icons when one icon is changed/removed.
Moreover, when changed by {icon,content}_set the old {icon,content}
will be deleted.
By: Fabiano Fidencio <fidencio@profusion.mobi>
SVN revision: 49706
I am attaching another patches for transparent window.
1. Use RGB Visual.
2. Set destination_alpha in ecore_evas for alpha composite in evas.
3. add Function
- Ecore_Evas_Engine_Func->fn_transparent_set
- ecore_evas_transparent_set , ecore_evas_transparent_get
- elm_win_transparent_set, elm_win_transparent_get
SVN revision: 46106
Reduce potential register usage.
No need to always set edje frametime when creating a window (NB: This was
getting done for every window)
No need to always set edje scale when creating a window (NB: This was
getting done for every window)
Don't need to get the Widget_Data in changed_size_hints as it's not used.
Use EVAS_HINT_EXPAND/FILL
SVN revision: 43694
Actually those should not be multiple calls on GCC that supports
functions attributes, but it does not hurt and code is a bit smaller
and easier to read.
SVN revision: 43680
2. standardise all callback names to be x,y,z etc. if they have multiple words.
3. add cal to get the region viewed
4. test photocams signals and new call
SVN revision: 43069