src/text.c

changeset 122
1b118cd3e369
parent 116
bfb2a7d62047
equal deleted inserted replaced
121:ede9a9e92ff9 122:1b118cd3e369
81 AscText *text = (AscText*) node; 81 AscText *text = (AscText*) node;
82 AscSprite *sprite = (AscSprite*) node; 82 AscSprite *sprite = (AscSprite*) node;
83 asc_mesh_destroy(&sprite->mesh); 83 asc_mesh_destroy(&sprite->mesh);
84 asc_texture_destroy(sprite->texture, 1); 84 asc_texture_destroy(sprite->texture, 1);
85 assert(sprite->texture->refcount == 0); 85 assert(sprite->texture->refcount == 0);
86 free(sprite->texture); 86 cxFreeDefault(sprite->texture);
87 cx_strfree(&text->text); 87 cx_strfree(&text->text);
88 } 88 }
89 89
90 AscSceneNode *asc_text_create(struct asc_text_create_args args) { 90 AscSceneNode *asc_text_create(struct asc_text_create_args args) {
91 AscText *text = calloc(1, sizeof(AscText)); 91 AscText *text = cxZallocDefault(sizeof(AscText));
92 AscSceneNode *node = &text->base.data; 92 AscSceneNode *node = &text->base.data;
93 93
94 // node properties 94 // node properties
95 asc_scene_node_name(node, args.name); 95 asc_scene_node_name(node, args.name);
96 node->render_group = ASC_RENDER_GROUP_SPRITE_BLEND; 96 node->render_group = ASC_RENDER_GROUP_SPRITE_BLEND;
110 text->text = cx_mutstr(strdup(args.text)); 110 text->text = cx_mutstr(strdup(args.text));
111 } 111 }
112 112
113 // initialize texture 113 // initialize texture
114 // mesh will be created in the update func 114 // mesh will be created in the update func
115 text->base.texture = malloc(sizeof(AscTexture)); 115 text->base.texture = cxMallocDefault(sizeof(AscTexture));
116 asc_texture_init_rectangle(text->base.texture, 1); 116 asc_texture_init_rectangle(text->base.texture, 1);
117 asc_text_update(node); 117 asc_text_update(node);
118 118
119 return node; 119 return node;
120 } 120 }

mercurial