00001 #include <stdio.h> 00002 #include <stdlib.h> 00003 #include <string.h> 00004 #include <mb_types.h> 00005 #include <mb_redraw_man.h> 00006 #include <mb_shapes.h> 00007 #include <mb_paint.h> 00008 #include "bang.h" 00009 00010 bang_t *bang_new(redraw_man_t *rdman, coord_t *parent_coord) { 00011 bang_t *obj; 00012 grad_stop_t *stops = NULL; 00013 00014 obj = (bang_t *)malloc(sizeof(bang_t)); 00015 if(obj == NULL) return NULL; 00016 obj->rdman = rdman; 00017 00018 obj->root_coord = rdman_coord_new(rdman, parent_coord); 00019 00020 obj->layer1 = rdman_coord_new(rdman, obj->root_coord); 00021 00022 obj->path2383_coord = rdman_coord_new(rdman, obj->layer1); 00023 obj->path2383_coord->matrix[0] = 1.033851; 00024 obj->path2383_coord->matrix[3] = 0.000000; 00025 obj->path2383_coord->matrix[1] = 0.000000; 00026 obj->path2383_coord->matrix[4] = 1.051028; 00027 obj->path2383_coord->matrix[2] = 12.638136; 00028 obj->path2383_coord->matrix[5] = 10.727438; 00029 rdman_coord_changed(rdman, obj->path2383_coord); 00030 00031 obj->path2383 = rdman_shape_path_new(rdman, "M 25.865801,26.298702 L 15.910381,22.0987 L 12.746556,32.430236 L 8.6768607,22.42084 L -0.86580035,27.489178 L 3.3342018,17.533757 L -6.9973343,14.369933 L 3.0120609,10.300238 L -2.0562764,0.7575765 L 7.8991439,4.9575786 L 11.062969,-5.3739575 L 15.132664,4.6354378 L 24.675325,-0.4328996 L 20.475323,9.5225208 L 30.806859,12.686345 L 20.797464,16.756041 L 25.865801,26.298702 z"); 00032 rdman_add_shape(rdman, obj->path2383, obj->path2383_coord); 00033 obj->path2383_fill = rdman_paint_color_new(rdman, 0.501961, 0.000000, 0.000000, 1.000000); 00034 rdman_paint_fill(rdman, obj->path2383_fill, obj->path2383); 00035 obj->path2383_stroke = rdman_paint_color_new(rdman, 1.000000, 0.000000, 0.000000, 1.000000); 00036 rdman_paint_stroke(rdman, obj->path2383_stroke, obj->path2383); 00037 obj->path2383->stroke_width = 3.000000; 00038 00039 obj->tspan2387 = rdman_shape_text_new(rdman, "Bang", 19.194874, 13.391408, 11.000001, 00040 cairo_get_font_face(rdman->cr)); 00041 rdman_add_shape(rdman, obj->tspan2387, obj->layer1); 00042 obj->tspan2387_fill = rdman_paint_color_new(rdman, 1.000000, 1.000000, 0.000000, 1.000000); 00043 rdman_paint_fill(rdman, obj->tspan2387_fill, obj->tspan2387); 00044 obj->tspan2387->stroke_width = 1.000000; 00045 00046 return obj; 00047 } 00048 00049 void bang_free(bang_t *obj) { 00050 grad_stop_t *stops = NULL; 00051 redraw_man_t *rdman; 00052 00053 rdman = obj->rdman; 00054 00055 rdman_paint_free(rdman, obj->tspan2387_fill); 00056 00057 rdman_shape_free(rdman, obj->tspan2387); 00058 00059 rdman_paint_free(rdman, obj->path2383_stroke); 00060 00061 rdman_paint_free(rdman, obj->path2383_fill); 00062 00063 rdman_shape_free(rdman, obj->path2383); 00064 00065 rdman_coord_subtree_free(rdman, obj->root_coord); 00066 free(obj); 00067 }