aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgm.c')
-rw-r--r--src/cgm.c36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/cgm.c b/src/cgm.c
index 18bd762..c0bcac4 100644
--- a/src/cgm.c
+++ b/src/cgm.c
@@ -1,19 +1,29 @@
#include "project.h"
+
#include "cd/cd.h"
-BEGIN_OBJECT(CGMc)
- int r,g,b,n;
-END_OBJECT(CGMc)
-CREATOR(CGMc)=Obj_DefaultCreator;
-DESTRUCTOR(CGMc)=Obj_DefaultDestructor;
+OBJECT(CGMc,
+ int r;
+ int g;
+ int b;
+ int n;
+);
+
+CONSTRUCTOR(CGMc)=GObj_DefaultConstructor;
+DESTRUCTOR(CGMc)=GObj_DefaultDestructor;
-BEGIN_OBJECT(Private)
+OBJECT(Private,
CGMc_list cgmcs;
int maxcol;
cdImagePtr im;
FILE *file;
-END_OBJECT(Private)
+);
+static void private_constructor(Private);
+static void private_destructor(Private);
+
+CONSTRUCTOR(Private)=private_constructor;
+DESTRUCTOR(Private)=private_destructor;
int cgm_sortout_color(Private p,int r,int g,int b)
{
@@ -28,13 +38,13 @@ c=c->next;
}
-c=CREATE_OBJ(CGMc);
+c=NEW(CGMc);
c->r=r;
c->g=g;
c->b=b;
c->n=cdImageColorAllocate(p->im,r,g,b);
-Obj_Insert(p->cgmcs,c,ObjInsertHead);
+GObj_InsertHead(p->cgmcs,c);
return(c->n);
@@ -44,7 +54,7 @@ static void private_constructor(Private p)
{
char name[1024];
-p->cgmcs=CREATE_LIST(CGMc);
+p->cgmcs=NEW_LIST(CGMc);
/* We need a square image otherwise nasty things happen to
lines!*/
p->im=cdImageCreate(7100,7100);
@@ -57,7 +67,7 @@ int i;
printf("JWG: Writing cgm file \n");
-Obj_Delete(p->cgmcs);
+GObj_Delete(p->cgmcs);
cdImageCgm(p->im,p->file);
cdImageDestroy(p->im);
@@ -66,15 +76,13 @@ free(p);
}
-CREATOR(Private)=private_constructor;
-DESTRUCTOR(Private)=private_destructor;
void cgm_init_private(Handle h)
{
Private p;
-p=CREATE_OBJ(Private);
+p=NEW(Private);
p->file=h->file;
h->private=(void *) p;