Files
mmoat/lib/libft/srcs/drawio/srcs/create_elem.c
2025-02-01 18:43:35 +01:00

40 lines
1.8 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* create_elem.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lderidde <lderidde@student.s19.be> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/24 10:06:11 by lderidde #+# #+# */
/* Updated: 2025/01/28 10:45:23 by lderidde ### ########.fr */
/* */
/* ************************************************************************** */
#include "../lib_drawio.h"
#include "../header/dio_private.h"
int draw_rect(int fd, int id, t_dio_elem *elem)
{
ft_fprintf(fd, "<mxCell id=\"%d\" ", id);
ft_fprintf(fd, "value=\"%s\" ", elem->text);
ft_fprintf(fd, "style=\"rounded=%d;whiteSpace=wrap;", elem->rounded);
ft_fprintf(fd, "html=1;\" vertex=\"1\" parent=\"1\"> \n");
ft_fprintf(fd, "<mxGeometry x=\"%d\" y=\"%d\" ", elem->x, elem->y);
ft_fprintf(fd, "width=\"%d\" height=\"%d\" ", elem->w, elem->h);
ft_fprintf(fd, "as=\"geometry\"/>\n");
ft_fprintf(fd, "</mxCell>\n");
return (id);
}
int draw_arrow(int fd, int id, t_dio_elem *elem)
{
if (!elem->id_src || !elem->id_dst)
return (0);
ft_fprintf(fd, "<mxCell id=\"%d\" ", id);
ft_fprintf(fd, "edge=\"1\" style=\"edgeStyle=orthogonalEdgeStyle;\"\
parent=\"1\" source=");
ft_fprintf(fd, "\"%d\" target=\"%d\">\n", elem->id_src, elem->id_dst);
ft_fprintf(fd, "<mxGeometry relative=\"1\" as=\"geometry\"/>\n</mxCell>\n");
return (id);
}