diff options
author | Cedric Bail <cedric.bail@samsung.com> | 2013-05-31 12:55:14 +0900 |
---|---|---|
committer | Cedric Bail <cedric.bail@samsung.com> | 2013-06-04 11:20:25 +0900 |
commit | ad5d75dfcdda13a1136b8f850dab6235b42c5c0e (patch) | |
tree | 4c2a884b81ed42b47f8db9a7709311218e2d01a6 /src/lib/evas/include | |
parent | cd57e792bcd2014a7b7230a3405f8ecebdc0a833 (diff) |
evas: add support for engine specific extention during thread task.
Diffstat (limited to 'src/lib/evas/include')
-rw-r--r-- | src/lib/evas/include/evas_common.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/evas/include/evas_common.h b/src/lib/evas/include/evas_common.h index 5e7bd34123..611529b6c6 100644 --- a/src/lib/evas/include/evas_common.h +++ b/src/lib/evas/include/evas_common.h | |||
@@ -353,6 +353,7 @@ typedef unsigned short DATA16; | |||
353 | typedef unsigned char DATA8; | 353 | typedef unsigned char DATA8; |
354 | 354 | ||
355 | typedef struct _Image_Entry Image_Entry; | 355 | typedef struct _Image_Entry Image_Entry; |
356 | typedef struct _Image_Entry_Task Image_Entry_Task; | ||
356 | typedef struct _Image_Entry_Flags Image_Entry_Flags; | 357 | typedef struct _Image_Entry_Flags Image_Entry_Flags; |
357 | typedef struct _Image_Entry_Frame Image_Entry_Frame; | 358 | typedef struct _Image_Entry_Frame Image_Entry_Frame; |
358 | typedef struct _Image_Timestamp Image_Timestamp; | 359 | typedef struct _Image_Timestamp Image_Timestamp; |
@@ -414,6 +415,8 @@ typedef void (*Gfx_Func_Convert) (DATA32 *src, DATA8 *dst, int src_jump, int dst | |||
414 | 415 | ||
415 | typedef void (*Evas_Render_Done_Cb)(void *); | 416 | typedef void (*Evas_Render_Done_Cb)(void *); |
416 | 417 | ||
418 | typedef void (*Evas_Engine_Thread_Task_Cb)(void *engine_data, Image_Entry *ie, void *custom_data); | ||
419 | |||
417 | #include "../cache/evas_cache.h" | 420 | #include "../cache/evas_cache.h" |
418 | #ifdef EVAS_CSERVE2 | 421 | #ifdef EVAS_CSERVE2 |
419 | #include "../cache2/evas_cache2.h" | 422 | #include "../cache2/evas_cache2.h" |
@@ -541,6 +544,13 @@ struct _Image_Timestamp | |||
541 | #endif | 544 | #endif |
542 | }; | 545 | }; |
543 | 546 | ||
547 | struct _Image_Entry_Task | ||
548 | { | ||
549 | Evas_Engine_Thread_Task_Cb cb; | ||
550 | const void *engine_data; | ||
551 | const void *custom_data; | ||
552 | }; | ||
553 | |||
544 | struct _Image_Entry | 554 | struct _Image_Entry |
545 | { | 555 | { |
546 | EINA_INLIST; | 556 | EINA_INLIST; |
@@ -557,13 +567,14 @@ struct _Image_Entry | |||
557 | 567 | ||
558 | Evas_Cache_Target *targets; | 568 | Evas_Cache_Target *targets; |
559 | Evas_Preload_Pthread *preload; | 569 | Evas_Preload_Pthread *preload; |
570 | Eina_List *tasks; | ||
560 | 571 | ||
561 | Image_Timestamp tstamp; | 572 | Image_Timestamp tstamp; |
562 | 573 | ||
563 | int references; | 574 | int references; |
564 | 575 | ||
565 | #ifdef BUILD_PIPE_RENDER | 576 | #ifdef BUILD_PIPE_RENDER |
566 | RGBA_Pipe *pipe; | 577 | RGBA_Pipe *pipe; |
567 | #endif | 578 | #endif |
568 | 579 | ||
569 | Evas_Image_Load_Opts load_opts; | 580 | Evas_Image_Load_Opts load_opts; |
@@ -588,6 +599,7 @@ struct _Image_Entry | |||
588 | 599 | ||
589 | LK(lock); | 600 | LK(lock); |
590 | LK(lock_cancel); | 601 | LK(lock_cancel); |
602 | LK(lock_task); | ||
591 | 603 | ||
592 | /* for animation feature */ | 604 | /* for animation feature */ |
593 | Evas_Image_Animated animated; | 605 | Evas_Image_Animated animated; |