From 5afd1d4ee16b4375b591ae97a493f0e321e31738 Mon Sep 17 00:00:00 2001 From: Sung-jae Park Date: Sun, 20 May 2012 01:50:13 +0900 Subject: [PATCH] Fix the bug of resizing the buffer based content. Change-Id: I0528f574c1c9c8af8f7b9b2c808503ee0c111fad --- debian/changelog | 7 ++++++ include/livebox0.h | 4 ++-- packaging/livebox-viewer.spec | 2 +- sample/sample | Bin 53394 -> 53402 bytes sample/sample.c | 8 +++++-- src/dbus.c | 37 +++++++++++------------------- src/fb_file.c | 10 ++++++++- src/livebox.c | 51 +++++++++++++++--------------------------- 8 files changed, 56 insertions(+), 63 deletions(-) diff --git a/debian/changelog b/debian/changelog index b0e2bfa..0552259 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +livebox-viewer (0.0.3) unstable; urgency=low + + * Git: slp/pkgs/l/livebox-viewer + * Tag: livebox-viewer_0.0.3 + + -- Sung-jae Park Sun, 20 May 2012 01:49:59 +0900 + livebox-viewer (0.0.2) unstable; urgency=low * Git: slp/pkgs/l/livebox-viewer diff --git a/include/livebox0.h b/include/livebox0.h index a1873d5..e64f060 100644 --- a/include/livebox0.h +++ b/include/livebox0.h @@ -11,8 +11,8 @@ extern struct livebox *lb_find_livebox_by_timestamp(double timestamp); extern void lb_set_filename(struct livebox *handler, const char *filename); extern void lb_set_size_list(struct livebox *handler, int size_list); extern void lb_set_priority(struct livebox *handler, double priority); -extern void lb_set_lb_fb(struct livebox *handler, const char *filename, int w, int h); -extern void lb_set_pd_fb(struct livebox *handler, const char *filename, int w, int h); +extern void lb_set_lb_fb(struct livebox *handler, const char *filename); +extern void lb_set_pd_fb(struct livebox *handler, const char *filename); extern struct fb_info *lb_get_pd_fb(struct livebox *handler); extern struct fb_info *lb_get_lb_fb(struct livebox *handler); extern void lb_update_pd_fb(struct livebox *handler, int w, int h); diff --git a/packaging/livebox-viewer.spec b/packaging/livebox-viewer.spec index bfd5124..3e24cae 100644 --- a/packaging/livebox-viewer.spec +++ b/packaging/livebox-viewer.spec @@ -1,6 +1,6 @@ Name: livebox-viewer Summary: Library for the development of a livebox viewer -Version: 0.0.2 +Version: 0.0.3 Release: 1 Group: main/app License: Samsung Proprietary License diff --git a/sample/sample b/sample/sample index 6cf613a79e242c5a658189a4850755d6062e7e5a..02b57215fbc27b1962c0e58c33b0e6f0056c2999 100755 GIT binary patch delta 10254 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 Cx%_ef delta 10049 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 diff --git a/sample/sample.c b/sample/sample.c index 2caac11..4490eaf 100644 --- a/sample/sample.c +++ b/sample/sample.c @@ -172,12 +172,14 @@ static inline int create_new_pd(struct livebox *handler) Evas_Coord x, y; livebox_get_pdsize(handler, &w, &h); + fprintf(stderr, "PDSize: %dx%d\n", w, h); evas_object_image_size_set(info->pd, w, h); evas_object_image_colorspace_set(info->pd, EVAS_COLORSPACE_ARGB8888); evas_object_image_alpha_set(info->pd, EINA_TRUE); evas_object_image_fill_set(info->pd, 0, 0, w, h); + fprintf(stderr, "PD ptr: %p\n", livebox_pdfb(handler)); evas_object_image_data_set(info->pd, livebox_pdfb(handler)); evas_object_image_data_update_add(info->pd, 0, 0, w, h); evas_object_resize(info->pd, w, h); @@ -193,6 +195,7 @@ static inline int create_new_pd(struct livebox *handler) evas_object_event_callback_add(info->pd, EVAS_CALLBACK_MOUSE_DOWN, pd_mouse_down_cb, info); evas_object_event_callback_add(info->pd, EVAS_CALLBACK_MOUSE_MOVE, pd_mouse_move_cb, info); evas_object_event_callback_add(info->pd, EVAS_CALLBACK_MOUSE_UP, pd_mouse_up_cb, info); + fprintf(stderr, "PD created\n"); } return 0; @@ -285,6 +288,7 @@ static inline void reload_buffer(Evas_Object *box, void *buffer, double priority evas_object_move(box, x, y); if (ow != w || oh != h) { + evas_object_image_size_set(box, w, h); evas_object_image_fill_set(box, 0, 0, w, h); evas_object_image_data_set(box, buffer); evas_object_resize(box, w, h); @@ -328,7 +332,7 @@ static inline int update_box(struct livebox *handler) Evas_Coord w, h; livebox_get_size(handler, &w, &h); - fprintf(stderr, "reload size: %dx%d\n", w, h); + fprintf(stderr, "lb: reload size: %dx%d\n", w, h); EINA_LIST_FOREACH(s_info.boxes, l, info) { if (info->handler == handler) { @@ -354,7 +358,7 @@ static inline int update_pd(struct livebox *handler) Evas_Coord w, h; livebox_get_pdsize(handler, &w, &h); - fprintf(stderr, "reload size: %dx%d\n", w, h); + fprintf(stderr, "pd: reload size: %dx%d\n", w, h); EINA_LIST_FOREACH(s_info.boxes, l, info) { if (info->handler == handler) { diff --git a/src/dbus.c b/src/dbus.c index 46cebe6..f2c1394 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -262,8 +262,6 @@ static void method_pd_updated(GDBusMethodInvocation *inv, GVariant *param) struct livebox *handler; int pd_w; int pd_h; - int tmp_w; - int tmp_h; g_variant_get(param, "(&s&s&sii)", &pkgname, &filename, &descfile, &pd_w, &pd_h); @@ -274,19 +272,15 @@ static void method_pd_updated(GDBusMethodInvocation *inv, GVariant *param) goto out; } - livebox_get_pdsize(handler, &tmp_w, &tmp_h); - if (tmp_w != pd_w || tmp_h != pd_h) { - /* pd buffer size is updated */ - DbgPrint("PD buffer size is changed\n"); - } - - lb_set_pdsize(handler, pd_w, pd_h); + DbgPrint("PD is updated [%dx%d]\n", pd_w, pd_h); if (lb_text_pd(handler)) { ret = parse_desc(handler, filename, 1); } else { - if (lb_get_pd_fb(handler)) + if (lb_get_pd_fb(handler)) { + lb_update_pd_fb(handler, pd_w, pd_h); fb_sync(lb_get_pd_fb(handler)); + } lb_invoke_event_handler(handler, "pd,updated"); ret = 0; @@ -303,8 +297,6 @@ static void method_lb_updated(GDBusMethodInvocation *inv, GVariant *param) struct livebox *handler; int lb_w; int lb_h; - int tmp_w; - int tmp_h; double priority; g_variant_get(param, "(&s&siid)", @@ -317,20 +309,16 @@ static void method_lb_updated(GDBusMethodInvocation *inv, GVariant *param) goto out; } - livebox_get_size(handler, &tmp_w, &tmp_h); - if (tmp_w != lb_w || tmp_h != lb_h) { - /* livebox buffer is updated */ - } - - if (lb_get_lb_fb(handler)) - fb_sync(lb_get_lb_fb(handler)); - - lb_set_size(handler, lb_w, lb_h); lb_set_priority(handler, priority); if (lb_text_lb(handler)) { ret = parse_desc(handler, filename, 0); } else { + if (lb_get_lb_fb(handler)) { + lb_update_lb_fb(handler, lb_w, lb_h); + fb_sync(lb_get_lb_fb(handler)); + } + lb_invoke_event_handler(handler, "lb,updated"); ret = 0; } @@ -395,11 +383,12 @@ static void method_created(GDBusMethodInvocation *inv, GVariant *param) lb_set_filename(handler, filename); } - lb_set_lb_fb(handler, lb_fname, lb_w, lb_h); - lb_set_pd_fb(handler, pd_fname, lb_w, lb_h); - lb_set_size(handler, lb_w, lb_h); + lb_set_lb_fb(handler, lb_fname); + lb_set_pdsize(handler, pd_w, pd_h); + lb_set_pd_fb(handler, pd_fname); + lb_set_priority(handler, priority); lb_set_size_list(handler, size_list); diff --git a/src/fb_file.c b/src/fb_file.c index d31d46d..07ab62d 100644 --- a/src/fb_file.c +++ b/src/fb_file.c @@ -35,6 +35,7 @@ int fb_fini(void) return 0; } +/* static inline struct flock *file_lock(short type, short whence) { static struct flock ret; @@ -46,10 +47,11 @@ static inline struct flock *file_lock(short type, short whence) ret.l_pid = getpid(); return &ret; } +*/ int fb_sync(struct fb_info *info) { - if (info->fd < 0 || !info->buffer) + if (info->created != 1) return -EINVAL; // fcntl(info->fd, F_SETLKW, file_lock(F_RDLCK, SEEK_SET)); @@ -113,6 +115,8 @@ int fb_create_buffer(struct fb_info *info) return -EIO; } + info->bufsz = info->w * info->h * sizeof(int); + /* info->bufsz = lseek(info->fd, 0l, SEEK_END); if (info->bufsz < 0) { ErrPrint("lseek: %s\n", strerror(errno)); @@ -122,6 +126,9 @@ int fb_create_buffer(struct fb_info *info) } lseek(info->fd, 0l, SEEK_SET); + */ + + DbgPrint("Buffer size: %ld\n", info->bufsz); info->buffer = calloc(1, info->bufsz); if (!info->buffer) { @@ -199,4 +206,5 @@ int fb_size(struct fb_info *info) { return info->bufsz; } + /* End of a file */ diff --git a/src/livebox.c b/src/livebox.c index 677d96f..b41a92f 100644 --- a/src/livebox.c +++ b/src/livebox.c @@ -369,12 +369,16 @@ EAPI int livebox_pd_is_created(struct livebox *handler) static void pd_created_cb(struct livebox *handler, int ret, void *data) { - if (ret == 0) { - fb_create_buffer(data); - lb_invoke_event_handler(handler, "pd,created"); - } else { + if (ret != 0) { lb_invoke_event_handler(handler, "pd,create,failed"); + return; } + + ret = fb_create_buffer(handler->pd_fb); + if (ret < 0) + ErrPrint("Failed to create a PD buffer\n"); + + lb_invoke_event_handler(handler, "pd,created"); } static void activated_cb(struct livebox *handler, int ret, void *data) @@ -406,7 +410,7 @@ EAPI int livebox_create_pd(struct livebox *handler) if (!param) return -EFAULT; - ret = dbus_push_command(handler, "create_pd", param, pd_created_cb, handler->pd_fb); + ret = dbus_push_command(handler, "create_pd", param, pd_created_cb, NULL); if (ret < 0) g_variant_unref(param); @@ -1028,22 +1032,8 @@ void lb_update_lb_fb(struct livebox *handler, int w, int h) return; } - fb_destroy_buffer(handler->lb_fb); - fb_destroy(handler->lb_fb); - - handler->lb_fb = fb_create(filename, w, h); - free(filename); - if (!handler->lb_fb) { - ErrPrint("Faield to create a FB\n"); - return; - } - - if (fb_create_buffer(handler->lb_fb) < 0) { - ErrPrint("Failed to create a FB\n"); - fb_destroy(handler->lb_fb); - handler->lb_fb = NULL; - return; - } + lb_set_size(handler, w, h); + lb_set_lb_fb(handler, filename); } void lb_update_pd_fb(struct livebox *handler, int w, int h) @@ -1078,15 +1068,10 @@ void lb_update_pd_fb(struct livebox *handler, int w, int h) return; } - fb_destroy_buffer(handler->pd_fb); - fb_destroy(handler->pd_fb); - - handler->pd_fb = fb_create(filename, w, h); + DbgPrint("Create new buffer [%dx%d]\n", w, h); + lb_set_pdsize(handler, w, h); + lb_set_pd_fb(handler, filename); free(filename); - if (!handler->pd_fb) { - ErrPrint("Failed to create a FB\n"); - return; - } ret = fb_create_buffer(handler->pd_fb); if (ret < 0) { @@ -1096,7 +1081,7 @@ void lb_update_pd_fb(struct livebox *handler, int w, int h) } } -void lb_set_lb_fb(struct livebox *handler, const char *filename, int w, int h) +void lb_set_lb_fb(struct livebox *handler, const char *filename) { if (!handler) return; @@ -1110,7 +1095,7 @@ void lb_set_lb_fb(struct livebox *handler, const char *filename, int w, int h) if (!filename || filename[0] == '\0') return; - handler->lb_fb = fb_create(filename, w, h); + handler->lb_fb = fb_create(filename, handler->lb_w, handler->lb_h); if (!handler->lb_fb) { ErrPrint("Faield to create a FB\n"); return; @@ -1126,7 +1111,7 @@ void lb_set_lb_fb(struct livebox *handler, const char *filename, int w, int h) handler->data_type = FBDATA; } -void lb_set_pd_fb(struct livebox *handler, const char *filename, int w, int h) +void lb_set_pd_fb(struct livebox *handler, const char *filename) { if (!handler) return; @@ -1140,7 +1125,7 @@ void lb_set_pd_fb(struct livebox *handler, const char *filename, int w, int h) if (!filename || filename[0] == '\0') return; - handler->pd_fb = fb_create(filename, w, h); + handler->pd_fb = fb_create(filename, handler->pd_w, handler->pd_h); if (!handler->pd_fb) { ErrPrint("Failed to create a FB\n"); return; -- 2.7.4