libembroidery-sys 0.1.2

Rust FFI bindings for libembroidery
Documentation
/*! @file emb-point.h */
#ifndef EMB_POINT_H
#define EMB_POINT_H

#include "emb-color.h"

#include "api-start.h"
#ifdef __cplusplus
extern "C" {
#endif

typedef struct EmbPoint_
{
    double xx; /* absolute position (not relative) */
    double yy; /* positive is up, units are in mm  */
} EmbPoint;

extern EMB_PUBLIC double EMB_CALL embPoint_x(EmbPoint point);
extern EMB_PUBLIC double EMB_CALL embPoint_y(EmbPoint point);
extern EMB_PUBLIC EmbPoint EMB_CALL embPoint_make(double x, double y);

typedef struct EmbPointList_
{
    EmbPoint point;
    struct EmbPointList_* next;
} EmbPointList;

extern EMB_PUBLIC EmbPointList* EMB_CALL embPointList_create(double x, double y);
extern EMB_PUBLIC EmbPointList* EMB_CALL embPointList_add(EmbPointList* pointer, EmbPoint data);
extern EMB_PUBLIC int EMB_CALL embPointList_count(EmbPointList* pointer);
extern EMB_PUBLIC int EMB_CALL embPointList_empty(EmbPointList* pointer);
extern EMB_PUBLIC void EMB_CALL embPointList_free(EmbPointList* pointer);

typedef struct EmbPointObject_
{
    EmbPoint point;

    /* Properties */
    int lineType;
    EmbColor color;
} EmbPointObject;

extern EMB_PUBLIC EmbPointObject EMB_CALL embPointObject_make(double x, double y);
extern EMB_PUBLIC EmbPointObject* EMB_CALL embPointObject_create(double x, double y);

typedef struct EmbPointObjectList_
{
    EmbPointObject pointObj;
    struct EmbPointObjectList_* next;
} EmbPointObjectList;

extern EMB_PUBLIC EmbPointObjectList* EMB_CALL embPointObjectList_create(EmbPointObject data);
extern EMB_PUBLIC EmbPointObjectList* EMB_CALL embPointObjectList_add(EmbPointObjectList* pointer, EmbPointObject data);
extern EMB_PUBLIC int EMB_CALL embPointObjectList_count(EmbPointObjectList* pointer);
extern EMB_PUBLIC int EMB_CALL embPointObjectList_empty(EmbPointObjectList* pointer);
extern EMB_PUBLIC void EMB_CALL embPointObjectList_free(EmbPointObjectList* pointer);

#ifdef __cplusplus
}
#endif /* __cplusplus */
#include "api-stop.h"

#endif /* EMB_POINT_H */

/* kate: bom off; indent-mode cstyle; indent-width 4; replace-trailing-space-save on; */