예제 #1
0
/*! Adds a line object to pattern (\a p) starting at the absolute position (\a x1,\a y1) and ending at the absolute position (\a x2,\a y2). Positive y is up. Units are in millimeters. */
void embPattern_addLineObjectAbs(EmbPattern* p, double x1, double y1, double x2, double y2)
{
    EmbLineObject lineObj = embLineObject_make(x1, y1, x2, y2);

    if(!p) { embLog_error("emb-pattern.c embPattern_addLineObjectAbs(), p argument is null\n"); return; }
    if(embLineObjectList_empty(p->lineObjList))
    {
        p->lineObjList = p->lastLineObj = embLineObjectList_create(lineObj);
    }
    else
    {
        p->lastLineObj = embLineObjectList_add(p->lastLineObj, lineObj);
    }
}
예제 #2
0
/* Adds a line starting at the absolute position (x1,y1) and ending at the absolute position (x2,y2). Positive y is up. Units are in millimeters. */
void embPattern_addLineObjectAbs(EmbPattern* p, double x1, double y1, double x2, double y2)
{
    EmbLineObject lineObj = embLineObject_make(x1, y1, x2, y2);

    if(!p) { embLog_error("emb-pattern.c embPattern_addLineObjectAbs(), p argument is null\n"); return; }
    if(!(p->lineObjList))
    {
        p->lineObjList = (EmbLineObjectList*)malloc(sizeof(EmbLineObjectList));
        if(!p->lineObjList) { embLog_error("emb-pattern.c embPattern_addLineObjectAbs(), cannot allocate memory for p->lineObjList\n"); return; }
        p->lineObjList->lineObj = lineObj;
        p->lineObjList->next = 0;
        p->lastLineObj = p->lineObjList;
    }
    else
    {
        embLineObjectList_add(p->lastLineObj, lineObj);
        p->lastLineObj = p->lastLineObj->next;
    }
}
예제 #3
0
/* Adds a line starting at the absolute position (x1,y1) and ending at the absolute position (x2,y2). Positive y is up. Units are in millimeters. */
void embPattern_addLineObjectAbs(EmbPattern* p, double x1, double y1, double x2, double y2)
{
    /* TODO: pointer safety */
    EmbLineObject lineObj = embLineObject_make(x1, y1, x2, y2);

    if(!(p->lineObjList))
    {
        p->lineObjList = (EmbLineObjectList*)malloc(sizeof(EmbLineObjectList));
        /* TODO: malloc fail error */
        p->lineObjList->lineObj = lineObj;
        p->lineObjList->next = 0;
        p->lastLineObj = p->lineObjList;
    }
    else
    {
        embLineObjectList_add(p->lastLineObj, lineObj);
        p->lastLineObj = p->lastLineObj->next;
    }
}