Mercurial > MadButterfly
comparison src/redraw_man.c @ 866:9a7ac4487849
Allocate sh_rect_t objects from an elmpool
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Thu, 23 Sep 2010 10:14:05 +0800 |
parents | 48df0f97f09e |
children | 4f8d53be9488 |
comparison
equal
deleted
inserted
replaced
865:48df0f97f09e | 866:9a7ac4487849 |
---|---|
638 } | 638 } |
639 | 639 |
640 int redraw_man_init(redraw_man_t *rdman, mbe_t *cr, mbe_t *backend) { | 640 int redraw_man_init(redraw_man_t *rdman, mbe_t *cr, mbe_t *backend) { |
641 extern void redraw_man_destroy(redraw_man_t *rdman); | 641 extern void redraw_man_destroy(redraw_man_t *rdman); |
642 extern int _sh_path_size; | 642 extern int _sh_path_size; |
643 extern int _sh_rect_size; | |
643 extern int _paint_color_size; | 644 extern int _paint_color_size; |
644 observer_t *addrm_ob; | 645 observer_t *addrm_ob; |
645 extern void addrm_monitor_hdlr(event_t *evt, void *arg); | 646 extern void addrm_monitor_hdlr(event_t *evt, void *arg); |
646 | 647 |
647 memset(rdman, 0, sizeof(redraw_man_t)); | 648 memset(rdman, 0, sizeof(redraw_man_t)); |
653 | 654 |
654 rdman->geo_pool = elmpool_new(sizeof(geo_t), 128); | 655 rdman->geo_pool = elmpool_new(sizeof(geo_t), 128); |
655 rdman->coord_pool = elmpool_new(sizeof(coord_t), 16); | 656 rdman->coord_pool = elmpool_new(sizeof(coord_t), 16); |
656 rdman->shnode_pool = elmpool_new(sizeof(shnode_t), 16); | 657 rdman->shnode_pool = elmpool_new(sizeof(shnode_t), 16); |
657 rdman->sh_path_pool = elmpool_new(_sh_path_size, 16); | 658 rdman->sh_path_pool = elmpool_new(_sh_path_size, 16); |
659 rdman->sh_rect_pool = elmpool_new(_sh_rect_size, 16); | |
658 rdman->observer_pool = elmpool_new(sizeof(observer_t), 32); | 660 rdman->observer_pool = elmpool_new(sizeof(observer_t), 32); |
659 rdman->subject_pool = elmpool_new(sizeof(subject_t), 32); | 661 rdman->subject_pool = elmpool_new(sizeof(subject_t), 32); |
660 rdman->paint_color_pool = elmpool_new(_paint_color_size, 64); | 662 rdman->paint_color_pool = elmpool_new(_paint_color_size, 64); |
661 rdman->pent_pool = elmpool_new(sizeof(mb_prop_entry_t), 128); | 663 rdman->pent_pool = elmpool_new(sizeof(mb_prop_entry_t), 128); |
662 rdman->coord_canvas_pool = elmpool_new(sizeof(coord_canvas_info_t), 16); | 664 rdman->coord_canvas_pool = elmpool_new(sizeof(coord_canvas_info_t), 16); |
722 elmpool_free(rdman->coord_pool); | 724 elmpool_free(rdman->coord_pool); |
723 if(rdman->shnode_pool) | 725 if(rdman->shnode_pool) |
724 elmpool_free(rdman->shnode_pool); | 726 elmpool_free(rdman->shnode_pool); |
725 if(rdman->sh_path_pool) | 727 if(rdman->sh_path_pool) |
726 elmpool_free(rdman->sh_path_pool); | 728 elmpool_free(rdman->sh_path_pool); |
729 if(rdman->sh_rect_pool) | |
730 elmpool_free(rdman->sh_rect_pool); | |
727 if(rdman->observer_pool) | 731 if(rdman->observer_pool) |
728 elmpool_free(rdman->observer_pool); | 732 elmpool_free(rdman->observer_pool); |
729 if(rdman->subject_pool) | 733 if(rdman->subject_pool) |
730 elmpool_free(rdman->subject_pool); | 734 elmpool_free(rdman->subject_pool); |
731 if(rdman->paint_color_pool) | 735 if(rdman->paint_color_pool) |
782 | 786 |
783 elmpool_free(rdman->coord_pool); | 787 elmpool_free(rdman->coord_pool); |
784 elmpool_free(rdman->geo_pool); | 788 elmpool_free(rdman->geo_pool); |
785 elmpool_free(rdman->shnode_pool); | 789 elmpool_free(rdman->shnode_pool); |
786 elmpool_free(rdman->sh_path_pool); | 790 elmpool_free(rdman->sh_path_pool); |
791 elmpool_free(rdman->sh_rect_pool); | |
787 elmpool_free(rdman->observer_pool); | 792 elmpool_free(rdman->observer_pool); |
788 elmpool_free(rdman->subject_pool); | 793 elmpool_free(rdman->subject_pool); |
789 elmpool_free(rdman->paint_color_pool); | 794 elmpool_free(rdman->paint_color_pool); |
790 elmpool_free(rdman->pent_pool); | 795 elmpool_free(rdman->pent_pool); |
791 elmpool_free(rdman->coord_canvas_pool); | 796 elmpool_free(rdman->coord_canvas_pool); |