}
if (disp) {
usurf->restrain_configure = 0;
+ uifw_trace("animation_end: %08x vis=%d(%x)",
+ usurf->surfaceid, usurf->visible, usurf->animation.visible);
if ((usurf->animation.visible == ANIMA_HIDE_AT_END) &&
(usurf->visible != 0)) {
usurf->visible = 0;
if (usurf && usurf->surface) {
es = usurf->surface;
ev = ico_ivi_get_primary_view(usurf);
- ev->alpha = 1.0;
-
+ ev->alpha = usurf->animation.alpha;
+ uifw_debug("animation_swing_end: %08x set alpha=%f",
+ usurf->surfaceid, usurf->animation.alpha);
if ((ev->output) && (es->buffer_ref.buffer)) {
weston_surface_damage(es);
}
ev->alpha = 1.0f - (((float)(par*2)) / 100.0f);
}
}
- if (ev->alpha < 0.0) ev->alpha = 0.0;
- else if (ev->alpha > 1.0) ev->alpha = 1.0;
-
- uifw_debug("animation_fade: %08x count=%d %d%% alpha=%1.2f anima=%d state=%d",
- usurf->surfaceid, animation->frame_counter, par,
- ev->alpha, usurf->animation.anima, usurf->animation.state);
+ if (ev->alpha < 0.0f) ev->alpha = 0.0f;
+ else if (ev->alpha > 1.0f) ev->alpha = 1.0f;
+ if ((par < 5) || (par > 95)) {
+ uifw_debug("animation_fade: %08x count=%d %d%% alpha=%1.2f anima=%d state=%d",
+ usurf->surfaceid, animation->frame_counter, par,
+ ev->alpha, usurf->animation.anima, usurf->animation.state);
+ }
if ((ev->output) && (es->buffer_ref.buffer) &&
(es->width > 0) && (es->height > 0)) {
weston_surface_damage(es);
if (usurf && usurf->surface) {
es = usurf->surface;
ev = ico_ivi_get_primary_view(usurf);
- ev->alpha = 1.0;
-
+ ev->alpha = usurf->animation.alpha;
+ uifw_debug("animation_fade_end: %08x set alpha=%f",
+ usurf->surfaceid, usurf->animation.alpha);
if ((ev->output) && (es->buffer_ref.buffer) &&
(es->width > 0) && (es->height > 0)) {
weston_surface_damage(es);
if (usurf && usurf->surface) {
es = usurf->surface;
ev = ico_ivi_get_primary_view(usurf);
- ev->alpha = 1.0;
-
+ ev->alpha = usurf->animation.alpha;
if ((ev->output) && (es->buffer_ref.buffer) &&
(es->width > 0) && (es->height > 0)) {
weston_surface_damage(es);
#include <GLES2/gl2.h>
#include <weston/compositor.h>
+#include <weston/weston-layout.h>
/* detail debug log */
#define UIFW_DETAIL_OUT 0 /* 1=detail debug log/0=no detail log */
int retanima;
uint32_t newmask;
struct uifw_win_surface *usurf;
+ struct weston_view *ev;
newmask = ((uint32_t)mask) & (~(IVI_NOTIFICATION_OPACITY|IVI_NOTIFICATION_ORIENTATION|
IVI_NOTIFICATION_PIXELFORMAT));
usurf->animation.pos_y = usurf->y;
usurf->animation.pos_width = usurf->width;
usurf->animation.pos_height = usurf->height;
+ ev = weston_layout_get_weston_view(ivisurf);
+ if (ev) {
+ usurf->animation.alpha = ev->alpha;
+ }
+ else {
+ usurf->animation.alpha = 0.9999f;
+ }
retanima =
(*win_mgr_hook_animation)(ICO_WINDOW_MGR_ANIMATION_OPSHOW,
(void *)usurf);
usurf->animation.pos_y = usurf->y;
usurf->animation.pos_width = usurf->width;
usurf->animation.pos_height = usurf->height;
+ ev = weston_layout_get_weston_view(ivisurf);
+ if (ev) {
+ usurf->animation.alpha = ev->alpha;
+ }
+ else {
+ usurf->animation.alpha = 0.99999999f;
+ }
retanima =
(*win_mgr_hook_animation)(ICO_WINDOW_MGR_ANIMATION_OPHIDE,
(void *)usurf);
int animaid;
struct uifw_win_surface *usurf = ico_window_mgr_get_usurf_client(surfaceid, client);
- uifw_trace("uifw_set_transition: surf=%08x,type=%x,anim=%s,time=%d",
+ uifw_trace("uifw_set_animation: surf=%08x,type=%x,anim=%s,time=%d",
surfaceid, type, animation, time);
if (usurf) {