Mercurial > MadButterfly
diff src/mbaf/mbobject.c @ 303:f894b30676e9
Add MBAF object suport. This is still work in progress yet. However, it won't affect other features. Therefore, it is checked in before it become mature.
author | wycc |
---|---|
date | Sun, 15 Feb 2009 08:34:57 +0800 |
parents | |
children | 586e50f82c1f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mbaf/mbobject.c Sun Feb 15 08:34:57 2009 +0800 @@ -0,0 +1,132 @@ +#include "mb_types.h" +#include "mb_obj.h" + + +void mb_obj_set_pos(mb_obj_t *obj, co_aix x, co_aix y) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + coord_x(((coord_t *) obj)) = x; + coord_y(((coord_t *) obj)) = y; + } else if (MBO_TYPE(obj) == MBO_TEXT) { + sh_text_set_pos((shape_t *) obj, x, y); + } else { + return; + } + +} + +void mb_obj_get_pos(mb_obj_t *obj, co_aix *x, co_aix *y) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + *x = coord_x((coord_t *) obj); + *y = coord_y((coord_t *) obj); + } else if (MBO_TYPE(obj) == MBO_TEXT) { + sh_text_get_pos((shape_t *) obj, x, y); + } else { + return; + } + +} + +void mb_obj_set_text(mb_obj_t *obj, const char *text) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + geo_t *geo; + shape_t *shape; + coord_t *g = (coord_t *) obj; + + FOR_COORD_MEMBERS(g, geo) { + shape = geo_get_shape(geo); + if(shape->obj.obj_type == MBO_TEXT) { + sh_text_set_text(shape, text); + return; + } + } + } else if (MBO_TYPE(obj) == MBO_TEXT) { + sh_text_set_text((shape_t *) obj,text); + } else { + return; + } + +} + + +void mb_obj_get_text(mb_obj_t *obj, char *text,int size) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + geo_t *geo; + shape_t *shape; + coord_t *g = (coord_t *) obj; + + FOR_COORD_MEMBERS(g, geo) { + shape = geo_get_shape(geo); + if(shape->obj.obj_type == MBO_TEXT) { + sh_text_get_text(shape, text,size); + return; + } + } + } else if (MBO_TYPE(obj) == MBO_TEXT) { + sh_text_get_text((shape_t *) obj,text,size); + } else { + *text = 0; + return; + } +} + +void mb_obj_set_scalex(mb_obj_t *obj,int scale) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + coord_set_scalex((coord_t *) obj, scale); + } else { + } +} + +int mb_obj_get_scalex(mb_obj_t *obj) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + return coord_scalex((coord_t *) obj); + } else { + return 100; + } +} + +void mb_obj_set_scaley(mb_obj_t *obj,int scale) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + coord_set_scaley((coord_t *) obj, scale); + } else { + } +} +int mb_obj_get_scaley(mb_obj_t *obj) +{ + if (MBO_TYPE(obj) == MBO_COORD) { + return coord_scaley((coord_t *) obj); + } else { + return 100; + } +} + +void mb_obj_set_rotation(mb_obj_t *obj, int degree) +{ + printf("%s is not implemented yet\n",__FUNCTION__); +} + +int mb_obj_get_rotation(mb_obj_t *obj) +{ + printf("%s is not implemented yet\n",__FUNCTION__); +} + + + +void mb_obj_set_color(mb_obj_t *obj, int color) +{ + printf("%s is not implemented yet\n",__FUNCTION__); +} + + +int mb_obj_get_color(mb_obj_t *obj) +{ + printf("%s is not implemented yet\n",__FUNCTION__); + return 0; +} +