void free_EquipmentsToBeTraced(struct EquipmentsToBeTraced* equipmentsToBeTraced) {
	free_object(equipmentsToBeTraced, &EQUIPMENTSTOBETRACED_TYPE);
}
Exemplo n.º 2
0
static inline void free_kmem_cache_object(struct kmem_cache *cache)
{
    free_object(&kmem_cache_cache, cache);
}
Exemplo n.º 3
0
void kfree(void *ptr)
{
    struct slab_page *slab = VIRT_TO_PAGE(ptr);
    free_object(slab->cache, ptr);
}
void free_IuTransportAssociation(struct IuTransportAssociation* iuTransportAssociation) {
	free_object(iuTransportAssociation, &IUTRANSPORTASSOCIATION_TYPE);
}
Exemplo n.º 5
0
static void
free_pinned_object (char *obj, size_t size)
{
	free_object (obj, size, TRUE);
}
Exemplo n.º 6
0
void image_dct(INT32 args)
{
   rgbd_group *area,*val;
   struct object *o;
   struct image *img;
   INT32 x,y,u,v;
   double xsz2,ysz2,enh,xp,yp,dx,dy;
   double *costbl;
   rgb_group *pix;

   if (!THIS->img)
     Pike_error("Called Image.Image object is not initialized\n");

#ifdef DCT_DEBUG
   fprintf(stderr,"%lu bytes, %lu bytes\n",
	   DO_NOT_WARN((unsigned long)(sizeof(rgbd_group)*THIS->xsize*THIS->ysize)),
	   DO_NOT_WARN((unsigned long)(sizeof(rgb_group)*THIS->xsize*THIS->ysize+1)));
#endif

   area=xalloc(sizeof(rgbd_group)*THIS->xsize*THIS->ysize+1);

   if (!(costbl=malloc(sizeof(double)*THIS->xsize+1)))
   {
      free(area);
      resource_error(NULL,0,0,"memory",0,"Out of memory.\n");
   }

   o=clone_object(image_program,0);
   img=(struct image*)(o->storage);
   *img=*THIS;
   
   if (args>=2 
       && sp[-args].type==T_INT 
       && sp[1-args].type==T_INT)
   {
      img->xsize=MAXIMUM(1,sp[-args].u.integer);
      img->ysize=MAXIMUM(1,sp[1-args].u.integer);
   }
   else {
     free(area);
     free(costbl);
     free_object(o);
     bad_arg_error("image->dct",sp-args,args,0,"",sp-args,
		   "Bad arguments to image->dct()\n");
   }

   if (!(img->img=(rgb_group*)malloc(sizeof(rgb_group)*
				     img->xsize*img->ysize+1)))
   {
      free(area);
      free(costbl);
      free_object(o);
      resource_error(NULL,0,0,"memory",0,"Out of memory.\n");
   }

   xsz2=THIS->xsize*2.0;
   ysz2=THIS->ysize*2.0;

   enh=(8.0/THIS->xsize)*(8.0/THIS->ysize);

   for (u=0; u<THIS->xsize; u++)
   {
      double d,z0;
      rgbd_group sum;

      for (v=0; v<THIS->ysize; v++)
      {
	 d=(u?1:c0)*(v?1:c0)/4.0;
	 sum.r=sum.g=sum.b=0;
	 pix=THIS->img;
	 
	 for (x=0; x<THIS->xsize; x++)
	    costbl[x]=cos( (2*x+1)*u*pi/xsz2 );

	 for (y=0; y<THIS->ysize; y++)
	 {
	    z0=cos( (2*y+1)*v*pi/ysz2 );
	    for (x=0; x<THIS->xsize; x++)
	    {
	       double z;
	       z =  costbl[x] * z0;
	       sum.r += (float)(pix->r*z);
	       sum.g += (float)(pix->g*z);
	       sum.b += (float)(pix->b*z);
	       pix++;
	    }
	 }
	 sum.r *= (float)d;
	 sum.g *= (float)d;
	 sum.b *= (float)d;
	 area[u+v*THIS->xsize]=sum;
      }
#ifdef DCT_DEBUG
      fprintf(stderr,"."); fflush(stderr);
#endif
   }
#ifdef DCT_DEBUG
   fprintf(stderr,"\n");
#endif

   dx=((double)(THIS->xsize-1))/(img->xsize);
   dy=((double)(THIS->ysize-1))/(img->ysize);

   pix=img->img;
   for (y=0,yp=0; y<img->ysize; y++,yp+=dy)
   {
      double z0;
      rgbd_group sum;

      for (x=0,xp=0; x<img->xsize; x++,xp+=dx)
      {
	 sum.r=sum.g=sum.b=0;
	 val=area;

	 for (u=0; u<THIS->xsize; u++)
	    costbl[u]=cos( (2*xp+1)*u*pi/xsz2 );

	 for (v=0; v<THIS->ysize; v++)
	 {
	    z0=cos( (2*yp+1)*v*pi/ysz2 )*(v?1:c0)/4.0;
	    for (u=0; u<THIS->xsize; u++)
	    {
	       double z;
	       z = (u?1:c0) * costbl[u] * z0; 
	       sum.r += DO_NOT_WARN((float)(val->r*z));
	       sum.g += DO_NOT_WARN((float)(val->g*z));
	       sum.b += DO_NOT_WARN((float)(val->b*z));
	       val++;
	    }
	 }
	 sum.r *= (float)enh;
	 sum.g *= (float)enh;
	 sum.b *= (float)enh;
	 pix->r=testrange((DOUBLE_TO_INT(sum.r+0.5)));
	 pix->g=testrange((DOUBLE_TO_INT(sum.g+0.5)));
	 pix->b=testrange((DOUBLE_TO_INT(sum.b+0.5)));
	 pix++;
      }
#ifdef DCT_DEBUG
      fprintf(stderr,"."); fflush(stderr);
#endif
   }

   free(area);
   free(costbl);

   pop_n_elems(args);
   push_object(o);
}
Exemplo n.º 7
0
int omega_stream (struct msscene *ms, FILE *fpt, FILE *fpn, FILE *fph, FILE *fpe, FILE *fpo, char *format, double sphere_radius, double x_radius)
{
	double expansion_radius, extension_radius;
	char message[128];
	struct surface *msphn1, *msphn2, *msphn3;

	if (sphere_radius <= 0.0) {
		sprintf (message, "%8.3f negative sphere radius", sphere_radius);
		set_error1 (message);
		return (0);
	}
	
	expansion_radius = 0.0;
	extension_radius = 0.0;
	if (fpt != NULL) {
		/* first polyhedron */
		msphn1 = read_vet (fpt);
		if (error()) return (0);
		fclose (fpt);
		do_bounds (msphn1);
		if (error()) return (0);
		do_axes(msphn1);
		if (error()) return (0);
	}
	else msphn1 = NULL;
	
	if (fpn != NULL) {
		/* second polyhedron */
		msphn2 = read_vet (fpn);
		if (error()) return (0);
		fclose (fpn);
		do_bounds (msphn2);
		if (error()) return (0);
		do_axes(msphn2);
		if (error()) return (0);
	}
	else msphn2 = NULL;

	if (fph != NULL) {
		/* third polyhedron */
		msphn3 = read_vet (fph);
		if (error()) return (0);
		fclose (fph);
		do_bounds (msphn3);
		if (error()) return (0);
		do_axes(msphn3);
		if (error()) return (0);
	}
	else msphn3 = NULL;

	/* evaluation loci */
	sprintf (message, "%8.3f evaluation radius", sphere_radius);
	inform(message);
	if (msphn1 != NULL && msphn2 == NULL && msphn3 == NULL) {
		expansion_radius = x_radius;
		sprintf (message, "%8.3f expansion radius", expansion_radius);
		inform(message);
	}
	if (msphn1 != NULL && msphn2 != NULL && msphn3 == NULL) {
		extension_radius = x_radius;
		sprintf (message, "%8.3f extension radius", extension_radius);
		inform(message);
	}
	set_omega_radii (msphn1, sphere_radius, expansion_radius, extension_radius);
	do_evaluation (msphn1, msphn2, msphn3, (int) (extension_radius > 0.0));
	if (error()) return (0);
	if (msphn2 == NULL && msphn3 == NULL) {
		identify (msphn1);
		if (error()) return (0);
	}
	msphn1 -> scheme = NULL;
	if (format == NULL || strlen(format) == (unsigned) 0 || strcmp(format,"vet") == 0)
		write_vet (msphn1, fpo);
	if (error()) return (0);

	if (msphn1 != NULL) {
		free_phn (msphn1);
		if (error()) return(0);
		free_object (SURFACE, (short *) msphn1);
		if (error()) return(0);
	}
	if (msphn2 != NULL) {
		free_phn (msphn2);
		if (error()) return(0);
		free_object (SURFACE, (short *) msphn2);
		if (error()) return(0);
	}
	if (msphn3 != NULL) {
		free_phn (msphn3);
		if (error()) return(0);
		free_object (SURFACE, (short *) msphn3);
		if (error()) return(0);
	}
	return (1);
}
Exemplo n.º 8
0
void free_QueuingAllowed(enum QueuingAllowed* queuingAllowed) {
	free_object(queuingAllowed, &QUEUINGALLOWED_TYPE);
}
Exemplo n.º 9
0
void free_leaf (struct leaf *lef)
{
	free_object (LEAF, (short *) lef);
	if (error()) return;
}
Exemplo n.º 10
0
void display_object_info(ostream &out, const FrObject *obj)
{
   FramepaC_bgproc() ;		// handle any asynchronous operations
   FramepaC_bgproc() ;
   size_t objlen = FrObject_string_length(obj) ;
   out << "\n\nYou entered " ;
   if (objlen > 68)
      out << endl ;
   out << obj << endl ;
   if (obj)
      out << "That object is of type " << obj->objTypeName()
          << "; it takes " << objlen << " bytes to print" << endl ;
   else
      return ;
   if (obj->framep())
      {
      FrList *framekit = FramepaC_to_FrameKit((FrFrame *)obj) ;

      out << "As a FrameKit frame, it would be:\n" << framekit << endl ;
      free_object(framekit) ;
      }
   else if (obj->arrayp())
      {
      if (obj->length() > 0)
	 out << "This "
	     << ((obj->objType() == OT_FrSparseArray) ? "sparse " : "")
	     << "array's last element is "
	     << (*(FrArray*)obj)[obj->length()-1] << endl ;
      }
   else if (obj->queuep())
      {
      out << "This queue contains " << ((FrQueue*)obj)->queueLength()
	  << " items" << endl ;
      }
   else if (obj->hashp())
      {
      FrList *matches = ((FrHashTable*)obj)->prefixMatches("A") ;
      out << "This hash table contains " << matches->listlength()
	  << " items matching the prefix 'A'" << endl ;
      free_object(matches) ;
      }
   else if (obj->stringp())
      out << "This string uses " << ((FrString*)obj)->charWidth()
	  << "-byte characters." << endl ;
   else if (obj->consp())
      {
      out << "Its length is " << obj->length() << " cons cells.\n"
	  << "Its head is " << obj->car() << " and its tail is "
	  << obj->cdr() << endl << endl ;
      FrObject *obj_car = obj->car() ;
      if (obj_car && obj_car->symbolp() &&
	  (obj_car == findSymbol("MAKE-FRAME") ||
	   obj_car == findSymbol("MAKE-FRAME-OLD")))
	 {
	 FrFrame *frame = FrameKit_to_FramepaC((FrList *)obj) ;
	 out << "It is a FrameKit frame; as a FramepaC frame, it would be:\n"
	     << frame << endl ;
	 free_object(frame) ;
	 }
      }
   else if (obj->vectorp())
      {
      out << "This vector contains " << obj->length() << " bits, of which "
	  << ((FrBitVector*)obj)->countBits() << " are set." << endl ;
      }
   FramepaC_bgproc() ;		// handle any asynchronous operations
   return ;
}
Exemplo n.º 11
0
static void image_ttf_faceinstance_write(INT32 args)
{
   int **sstr;
   int *slen;
   int i,res=0,base=0,a;
   struct image_ttf_face_struct *face_s;
   struct image_ttf_faceinstance_struct *face_i=THISi;
   TT_CharMap charMap;
   TT_Kerning kerning;
   int has_kerning = 0;
   char *errs=NULL;
   int scalefactor=0;
   int xmin=1000,xmax=-1000,pos=0,ypos;
   int width,height,mod;

   unsigned char* pixmap;
   int maxcharwidth = 0;

   if (!(face_s=(struct image_ttf_face_struct*)
	 get_storage(THISi->faceobj,image_ttf_face_program)))
      Pike_error("Image.TTF.FaceInstance->write(): lost Face\n");

   if(!TT_Get_Kerning_Directory( face_s->face, &kerning ))
   {
     TT_Instance_Metrics metrics;
/*      fprintf(stderr, "has kerning!\n"); */
     has_kerning = 1;
     if(TT_Get_Instance_Metrics( face_i->instance, &metrics ))
       Pike_error("Nope. No way.\n");
     scalefactor = metrics.x_scale;
/*      fprintf(stderr, "offset=%d\n", (int)metrics.x_scale); */
   }

   if (args && sp[-1].type==T_INT)
   {
      base=sp[-1].u.integer;
      args--;
      pop_stack();
   }

   if (!args)
   {
      push_empty_string();
      args=1;
   }

   ttf_get_nice_charmap(face_s->face,&charMap,
			"Image.TTF.FaceInstance->write()");

   sstr=alloca(args*sizeof(int*));
   slen=alloca(args*sizeof(int));

   /* first pass: figure out total bounding box */

   for (a=0; a<args; a++)
   {
     char *errs=NULL;
     TT_Glyph_Metrics metrics;

      if (sp[a-args].type!=T_STRING)
	 Pike_error("Image.TTF.FaceInstance->write(): illegal argument %d\n",a+1);

      switch(sp[a-args].u.string->size_shift)
      {
       case 0:
	 ttf_translate_8bit(charMap,(unsigned char*)sp[a-args].u.string->str,
			    sstr+a,
			    DO_NOT_WARN(slen[a]=sp[a-args].u.string->len),
			    base);
	 break;
       case 1:
	 ttf_translate_16bit(charMap,(unsigned short*)sp[a-args].u.string->str,
			     sstr+a,
			     DO_NOT_WARN(slen[a]=sp[a-args].u.string->len),
			     base);
	 break;
       case 2:
	 Pike_error("Too wide string for truetype\n");
	 break;
      }

      pos=0;
      for (i=0; i<slen[a]; i++)
      {
	 TT_Glyph glyph;
	 int ind;

	 ind=sstr[a][i];
/* 	 fprintf(stderr,"glyph: %d\n",ind); */

	 if ((res=TT_New_Glyph(face_s->face,&glyph)))
	    { errs="TT_New_Glyph: "; break; }

	 if ((res=TT_Load_Glyph(face_i->instance, glyph, (TT_UShort)ind,
				(TT_UShort)face_i->load_flags)))
	    { errs="TT_Load_Glyph: "; break; }

	 if ((res=TT_Get_Glyph_Metrics(glyph,&metrics)))
	    { errs="TT_Get_Glyph_Metrics: "; break; }

	 if (pos+metrics.bbox.xMin<xmin)
	   xmin=pos+metrics.bbox.xMin;
	 if (pos+metrics.bbox.xMax>xmax)
	   xmax=pos+metrics.bbox.xMax;

	 if((metrics.bbox.xMax-(metrics.bbox.xMin<0?metrics.bbox.xMin:0))
	    >maxcharwidth)
	   maxcharwidth =
	     (metrics.bbox.xMax-(metrics.bbox.xMin<0?metrics.bbox.xMin:0));

	 pos+=metrics.advance;
	 if(has_kerning && i<slen[a]-1)
	 {
	   int kern = find_kerning( kerning, ind, sstr[a][i+1] );
	   pos += DOUBLE_TO_INT(kern * (scalefactor/65535.0));
	 }
	 if ((res=TT_Done_Glyph(glyph)))
	    { errs="TT_Done_Glyph: "; break; }
      }
      pos -= metrics.advance;
      pos += metrics.bbox.xMax-metrics.bbox.xMin;
      if (pos>xmax)
	xmax=pos;
      if (errs)
      {
	 for (i=0; i<a; i++) free(sstr[i]);
	 my_tt_error("Image.TTF.FaceInstance->write()",errs,res);
      }
   }

   pop_n_elems(args);

/*    fprintf(stderr,"xmin=%f xmax=%f\n",xmin/64.0,xmax/64.0); */

   xmin&=~63;
   width=((xmax-xmin+63)>>6)+4;
   height=face_i->height*args;
   mod=(4-(maxcharwidth&3))&3;
   if (width<1) width=1;

   if ((pixmap=malloc((maxcharwidth+mod)*face_i->height)))
   {
      /* second pass: write the stuff */

      TT_Raster_Map rastermap;
      struct object *o;
      struct image *img;
      rgb_group *d;


      rastermap.rows=face_i->height;
      rastermap.cols=rastermap.width=maxcharwidth+mod;
      rastermap.flow=TT_Flow_Down;
      rastermap.bitmap=pixmap;
      rastermap.size=rastermap.cols*rastermap.rows;

      ypos=0;

/*       fprintf(stderr,"rastermap.rows=%d cols=%d width=%d\n", */
/* 	      rastermap.rows,rastermap.cols,rastermap.width); */


      push_int(width);
      push_int(height);
      o=clone_object(image_program,2);
      img=(struct image*)get_storage(o,image_program);
      d=img->img;

      for (a=0; a<args; a++)
      {
         pos=-xmin;
	 for (i=0; i<slen[a]; i++)
	 {
    	    int sw, xp;
	    TT_Glyph glyph;
	    TT_Glyph_Metrics metrics;
	    int ind, x, y;

	    ind=sstr[a][i];
/* 	    fprintf(stderr,"glyph: %d\n",ind); */


	    if ((res=TT_New_Glyph(face_s->face,&glyph)))
	       { errs="TT_New_Glyph: "; break; }

	    if ((res=TT_Load_Glyph(face_i->instance, glyph, (TT_UShort)ind,
				   (TT_UShort)face_i->load_flags)))
	       { errs="TT_Load_Glyph: "; break; }

	    if ((res=TT_Get_Glyph_Metrics(glyph,&metrics)))
	       { errs="TT_Get_Glyph_Metrics: "; break; }

	    MEMSET(pixmap,0,rastermap.size);

	    if ((res=TT_Get_Glyph_Pixmap(glyph,
					 &rastermap,
					 -metrics.bbox.xMin
                                         /*+pos%64*/,
					 face_i->height*64-
					 face_i->trans)))
	       { errs="TT_Get_Glyph_Pixmap: "; break; }


	    sw = metrics.bbox.xMax-(metrics.bbox.xMin<0?metrics.bbox.xMin:0);
	    /* Copy source pixmap to destination image object. */
	    for(y=0; y<face_i->height; y++)
	    {
	      unsigned int s;
	      unsigned char * source = pixmap+rastermap.width*y;
	      rgb_group *dt=d+(ypos+y)*width+(xp=(metrics.bbox.xMin+pos)/64);

	      for(x=0; x<sw && xp<width; x++,xp++,source++,dt++)
		if(xp<0 || !(s = *source))
		  continue;
		else if((s=dt->r+s) < 256)
		  dt->r=dt->g=dt->b=s;
		else
		  dt->r=dt->g=dt->b=255;
	    }

	    pos+=metrics.advance;
/* 	    if(metrics.bbox.xMin < 0) */
/* 	      pos += metrics.bbox.xMin; */
	    if(has_kerning && i<slen[a]-1)
	    {
	      int kern = find_kerning( kerning, sstr[a][i], sstr[a][i+1] );
	      pos += DOUBLE_TO_INT(kern * (scalefactor/65535.0));
/* 	      fprintf(stderr, "Adjusted is %d\n", */
/* 		      (int)(kern * (scalefactor/65535.0))); */
	    }

	    if ((res=TT_Done_Glyph(glyph)))
	       { errs="TT_Done_Glyph: "; break; }
	 }
	 if (errs)
	 {
	    for (a=0; a<args; a++) free(sstr[a]);
	    free(pixmap);
	    free_object(o);
	    my_tt_error("Image.TTF.FaceInstance->write()",errs,res);
	 }
	 ypos+=face_i->height;
      }
      free(pixmap);
      push_object(o);
   }
   else
   {
      Pike_error("Image.TTF.FaceInstance->write(): out of memory\n");
   }

   for (a=0; a<args; a++)
      free(sstr[a]);
}
Exemplo n.º 12
0
int
#ifndef __WATCOMC__
   __FrCDECL
#endif
   main(int argc, char **argv)
{
#ifdef __WATCOMC__
   FrDestroyWindow() ;			// for Watcom, run as raw console app
#endif /* __WATCOMC__ */
   if (argc > 1)
      cout << argv[0] << " does not require any arguments." << endl << endl ;
   cout << "\tFramepaC " FramepaC_Version_string " Test Program" << endl
        << "\t==========================" << endl
        << "Use \"* ?\" to list the available commands." << endl ;
   // deliberately start with a tiny symbol table, to force table expansion as
   // we use the test program (in fact, the first expansion will happen during
   // initialization)
#if 0
//#ifdef FrMOTIF
   Widget main_window = XtVaAppInitialize( &app_context,
					   "Framepac Test Program",
					   NULL, 0,
					   &argc, argv,
					   NULL, NULL);
   FrInitializeMotif("FramepaC Messages",main_window,16) ;
#else
   initialize_FramepaC(16) ;
#endif /* FrMOTIF */
   FramepaC_set_userinfo_dir(0) ;  // set default location
   FrObject *obj = 0 ;
   FrSymbol *symbolEOF = FrSymbolTable::add("*EOF*") ;
   do {
      if (obj)
	 {
	 obj->freeObject() ;  // free the object from prev pass thru the loop
	 obj = 0 ;
	 }
      FramepaC_bgproc() ;		// handle any asynchronous operations
      cout << "\nEnter a FrObject, NIL to end: " ;
      cin >> obj ;
      FramepaC_bgproc() ;		// handle any asynchronous operations
      if (obj && obj->symbolp() && obj == FrSymbolTable::add("*"))
	 interpret_command(cout,cin,true) ;
      else
	 display_object_info(cout,obj) ;
      FramepaC_bgproc() ;		// handle any asynchronous operations
      } while (!NIL_symbol(obj) && obj != symbolEOF) ;
   free_object(obj) ;
   // force the inclusion of some types we don't explicitly use in the code
   if (symbolEOF == 0)
      {
      FrInteger64 dummy_int64 ;
      FrStack dummy_stack ;
      FrSparseArray dummy_sparse_array ;
      if ((size_t)&dummy_int64 == (size_t)&dummy_stack ||
	  (size_t)&dummy_stack == (size_t)&dummy_sparse_array)
	 FrProgError("local variables with same address!") ;
      }
#if 0
//#ifdef FrMOTIF
   FrShutdownMotif() ;
#else
   FrShutdown() ;
#endif
   return 0 ;
}
void free_MBMSCNDe_Registration(enum MBMSCNDe_Registration* mBMSCNDe_Registration) {
	free_object(mBMSCNDe_Registration, &MBMSCNDE_REGISTRATION_TYPE);
}
Exemplo n.º 14
0
void free_scene (struct msscene *ms) {
	struct square *squares;
	struct molecule *head_molecule;
	struct surface *head_srf;
	struct material_table *table;
	struct color_ramp *head_ramp;
	struct object_scheme *scheme;
	struct surface *srf, *next_srf;
	struct color_ramp *rmp, *next_rmp;
	struct molecule *mol, *next_mol;

	head_molecule = ms -> head_molecule;
	head_ramp = ms -> head_ramp;
	table = ms -> table;
	squares = ms -> squares;

	for (mol = head_molecule; mol != NULL; mol = next_mol) {
			next_mol = mol -> next;
			head_srf = mol -> head_surface;
			for (srf = head_srf; srf != NULL; srf = next_srf) {
				next_srf = srf -> next;
				scheme = srf -> scheme;
				if (scheme != NULL) {
					if (scheme -> atom_opacities != NULL)
						free_doubles (scheme -> atom_opacities, 0, ATOM_OPACITIES);
					if (scheme -> atom_colors != NULL)
						free_longs (scheme -> atom_colors, 0, ATOM_COLORS);
					free_object (OBJECT_SCHEME, (short *) (srf -> scheme));
					if (error()) return;
				}
				clear_pqms (srf);
				if (error()) return;
				free_surface (srf);
				if (error()) return;
				free_phn (srf);
				if (error()) return;
				free_object (SURFACE, (short *) srf);
				if (error()) return;
			}
			if (mol -> atom_alphas != NULL)
				free_doubles (mol -> atom_alphas, 0, ATOM_ALPHAS);
			free_object (MOLECULE, (short *) mol);
			if (error()) return;
	}
	for (srf = ms -> this_srf; srf != NULL; srf = next_srf) {
		next_srf = srf -> next;
		clear_pqms (srf);
		if (error()) return;
		free_surface (srf);
		if (error()) return;
		free_phn (srf);
		if (error()) return;
		free_object (SURFACE, (short *) srf);
		if (error()) return;
	}
	for (rmp = head_ramp; rmp != NULL; rmp = next_rmp) {
		next_rmp = rmp -> next;
		free_object (COLOR_RAMP, (short *) rmp);
		if (error()) return;
	}
	free_object (MATERIAL_TABLE, (short *) (ms -> table));
	free_object (MSSCENE, (short *) ms);
}
Exemplo n.º 15
0
static pyc_object *get_object(RBuffer *buffer) {
	RListIter *ref_idx;
	bool error = false;
	pyc_object *ret = NULL;
	ut8 code = get_ut8 (buffer, &error);
	ut8 flag = code & FLAG_REF;
	ut8 type = code & ~FLAG_REF;

	if (error)
		return NULL;
	if (flag) {
		ret = get_none_object ();
		if (!ret)
			return NULL;
		ref_idx = r_list_append (refs, ret);
		if (!ref_idx) {
			free (ret);
			return NULL;
		}
	}
	switch (type) {
	case TYPE_NULL:
		return NULL;
	case TYPE_TRUE:
		return get_true_object ();
	case TYPE_FALSE:
		return get_false_object ();
	case TYPE_NONE:
		return get_none_object ();
	case TYPE_REF:
		return get_ref_object (buffer);
	case TYPE_SMALL_TUPLE:
		ret = get_small_tuple_object (buffer);
		break;
	case TYPE_TUPLE:
		ret = get_tuple_object (buffer);
		break;
	case TYPE_STRING:
		ret = get_string_object (buffer);
		break;
	case TYPE_CODE_v1:
		ret = get_code_object (buffer);
		break;
	case TYPE_INT:
		ret = get_int_object (buffer);
		break;
	case TYPE_ASCII_INTERNED:
		ret = get_ascii_interned_object (buffer);
		break;
	case TYPE_SHORT_ASCII:
		ret = get_short_ascii_object (buffer);
		break;
	case TYPE_ASCII:
		ret = get_ascii_object (buffer);
		break;
	case TYPE_SHORT_ASCII_INTERNED:
		ret = get_short_ascii_interned_object (buffer);
		break;
	case TYPE_BINARY_COMPLEX:
	case TYPE_ELLIPSIS:
	case TYPE_BINARY_FLOAT:
	case TYPE_CODE_v0:
	case TYPE_COMPLEX:
	case TYPE_STRINGREF:
	case TYPE_DICT:
	case TYPE_FLOAT:
	case TYPE_FROZENSET:
	case TYPE_STOPITER:
	case TYPE_INT64:
	case TYPE_INTERNED:
	case TYPE_LIST:
	case TYPE_LONG:
	case TYPE_SET:
	case TYPE_UNICODE:
	case TYPE_UNKNOWN:
		eprintf ("Get not implemented for type %x\n", type);
		return NULL;
	default:
		eprintf ("Undefined type in get_object (%x)\n", type);
		return NULL;
	}
	if (flag) {
		free_object (ref_idx->data);
		ref_idx->data = copy_object (ret);
	}
	return ret;
}
Exemplo n.º 16
0
static void
PySfDrawable_dealloc(PySfDrawable *self)
{
	delete self->obj;
	free_object(self);
}
Exemplo n.º 17
0
static void
PySfPostFX_dealloc(PySfPostFX *self)
{
	delete self->obj;
	free_object(self);
}
void free_AlternativeRABConfigurationRequest(enum AlternativeRABConfigurationRequest* alternativeRABConfigurationRequest) {
	free_object(alternativeRABConfigurationRequest, &ALTERNATIVERABCONFIGURATIONREQUEST_TYPE);
}
Exemplo n.º 19
0
//
//  function: MainWndHandler(HWND, unsigned, WORD, LONG)
//
//  purpose:	make initialisations (globals, Def-TTY settings)
//				create Toolbox Dialog
//
//			    process  Menu Selections
//					load/save Config
//					play/capture Archive 
//					open midi-device
//					change com settings
//					connect/disconnect to EEG-amp
//					load/save Config
//
//				scale and paint the channel-oscilloscope
//
//
//
LRESULT CALLBACK MainWndHandler(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId, wmEvent;
	char sztemp[256];
    
	switch( message ) 
	{

	 case WM_CREATE:
		break;

	 case WM_ENABLE:
		 if ((wParam==TRUE) && (NB_OBJ != NULL)) 
		 {
			 NB_OBJ->update_channelinfo();
			 NB_OBJ=NULL;
		 }
		 break;

	 case WM_COMMAND:
			wmId    = LOWORD(wParam); 
			wmEvent = HIWORD(wParam); 
			// Menüauswahlen analysieren:
			switch( wmId ) 
			{

				case IDM_NEWCONFIG:
					stop_timer();
					TTY.read_pause=1;
					//BreakDownCommPort();
					CAPTFILE.do_read=0;
					close_captfile();

					if (ghWndAnimation!=NULL) SendMessage(ghWndAnimation,WM_CLOSE,0,0);
					ghWndAnimation=NULL;
					close_toolbox();

	 		   	    write_logfile("new config: deleting all objects.");
					while (GLOBAL.objects>0)
						free_object(0);

					deviceobject=NULL;
					GLOBAL.showdesign=TRUE;
					ShowWindow(ghWndDesign,TRUE);
				    SetWindowPos(ghWndDesign,HWND_TOP,0,0,0,0,SWP_DRAWFRAME|SWP_NOMOVE|SWP_NOSIZE);
					SetDlgItemText(ghWndStatusbox,IDC_DESIGN,"Hide Design"); 
					GLOBAL.hidestatus=FALSE;
					ShowWindow(ghWndStatusbox,TRUE);
				    SetWindowText(ghWndMain,"BrainBay");
					GLOBAL.configfile[0]=0;
					init_system_time();	PACKET.readstate=0;
					GLOBAL.session_length=0;
					SetDlgItemText(ghWndStatusbox,IDC_STATUS,"ready.");
					SetDlgItemInt(ghWndStatusbox,IDC_SAMPLINGRATE,PACKETSPERSECOND,0);
					SetDlgItemText(ghWndStatusbox,IDC_STATUS,"Configuration loaded");
					SetDlgItemText(ghWndStatusbox,IDC_TIME,"0.0");
					SetDlgItemText(ghWndStatusbox,IDC_JUMPPOS,"0.0");
					SetDlgItemText(ghWndStatusbox,IDC_SESSLEN,"0.0");
 					SendMessage(GetDlgItem(ghWndStatusbox,IDC_SESSIONPOS),TBM_SETPOS,TRUE,(LONG)0);
					SendMessage(GetDlgItem(ghWndStatusbox,IDC_SESSIONPOS),TBM_SETSELEND,TRUE,(LONG)0);
					SendMessage(GetDlgItem(ghWndStatusbox,IDC_SESSIONPOS),TBM_SETSELSTART,TRUE,(LONG)0);

 					InvalidateRect(ghWndDesign,NULL,TRUE);
					InvalidateRect(ghWndMain,NULL,TRUE);
					break;

				case IDM_SAVECONFIG:
					{ 
						char configfilename[MAX_PATH];
						int save_toolbox=GLOBAL.showtoolbox;

						close_toolbox();
						GLOBAL.showtoolbox=save_toolbox;
						strcpy(configfilename,GLOBAL.resourcepath); 
						if (GLOBAL.configfile[0]==0)
  						  strcat(configfilename,"CONFIGURATIONS\\*.con");
						else strcpy(configfilename,GLOBAL.configfile);
						if (open_file_dlg(hWnd,configfilename, FT_CONFIGURATION, OPEN_SAVE))
						{
						   if (!save_configfile(configfilename))  report_error("Could not save Config File");
						   else
						   {
							  char * d_name,new_name[80];
		  	 		   	      write_logfile("configruation saved.");

							  d_name=configfilename;
							  while (strstr(d_name,"\\")) d_name=strstr(d_name,"\\")+1;
							  strcpy(new_name,"BrainBay - ");strcat(new_name,d_name);
							  SetWindowText(ghWndMain,new_name);
						   }
						}
						if (GLOBAL.showtoolbox!=-1)
						{	
							actobject=objects[GLOBAL.showtoolbox];
							actobject->make_dialog();
						}
					}
					break;
				case IDM_LOADCONFIG:
					{ 
						char configfilename[MAX_PATH];
						close_toolbox();
						strcpy(configfilename,GLOBAL.resourcepath); 
						strcat(configfilename,"CONFIGURATIONS\\*.con");
						if (open_file_dlg(hWnd,configfilename, FT_CONFIGURATION, OPEN_LOAD))
						{
			 		   	    write_logfile("load config: free existing objects.");
							if (!load_configfile(configfilename)) report_error("Could not load Config File");
							else sort_objects();
						}
					
					}
					break;

				case IDM_ABOUT:
					close_toolbox();
				    DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)AboutDlgHandler);
					break;

				case IDM_HELP:
					{
						char tmpfile [250];
						close_toolbox();
						strcpy(tmpfile,GLOBAL.resourcepath);
						strcat(tmpfile,"brainbay_user_manual.pdf");
						ShellExecute(0, "open", tmpfile, NULL, NULL, SW_SHOWNORMAL);
					}
					break;
				case IDM_VIEWLASTLOGFILE:
					{
						char tmpfile [250];
						close_toolbox();
						strcpy(tmpfile,GLOBAL.resourcepath);
						strcat(tmpfile,"bbay.log");
						ShellExecute(0, "open", tmpfile, NULL, NULL, SW_SHOWNORMAL);
					}

					break;
				case IDM_EXIT:	
					DestroyWindow( hWnd );
				    break;
                
				case IDM_PLAY:	
						SendMessage(ghWndStatusbox,WM_COMMAND, IDC_RUNSESSION,0);
				    break;
				case IDM_STOP:			
						SendMessage(ghWndStatusbox,WM_COMMAND, IDC_STOPSESSION,0);
				    break;

				case IDM_NEUROSERVER:
						strcpy(sztemp,GLOBAL.resourcepath); 
						strcat(sztemp,"NETWORK\\nsd.exe");
						ShellExecute(hWnd, "open", sztemp, NULL, NULL, SW_SHOWNORMAL);
						break;
				case IDM_READEDF:
						{
							char edffilename[MAX_PATH];
							close_toolbox();
							strcpy(edffilename,GLOBAL.resourcepath); 
							strcat(edffilename,"ARCHIVES\\*.edf");
							if (open_file_dlg(hWnd,edffilename, FT_EDF, OPEN_LOAD))
							{
								strcpy(sztemp,GLOBAL.resourcepath); 
								strcat(sztemp,"NETWORK\\readedf.exe");
								ShellExecute(hWnd, NULL, sztemp, edffilename, NULL, SW_SHOWNORMAL);
							}
						}
						break;
				case IDM_EDITCOLORS:
					close_toolbox();
					display_toolbox(CreateDialog(hInst, (LPCTSTR)IDD_EDITCOLORBOX, ghWndStatusbox, (DLGPROC)COLORDlgHandler));
					break;
				case IDM_EDITSCALES:
					close_toolbox();
					display_toolbox(CreateDialog(hInst, (LPCTSTR)IDD_EDITSCALEBOX, ghWndStatusbox, (DLGPROC)SCALEDlgHandler));
					break;
				case IDM_SETTINGS:
                     if (ghWndSettings==NULL) ghWndSettings=CreateDialog(hInst, (LPCTSTR)IDD_SETTINGSBOX, ghWndStatusbox, (DLGPROC)SETTINGSDlgHandler);
					 else SetForegroundWindow(ghWndSettings);
					break;
				case IDM_DEVICESETTINGS:
					if (deviceobject) 
					{
						close_toolbox();
						actobject=deviceobject;
	//					GLOBAL.showtoolbox=find_object(devicebox);
						actobject->make_dialog(); 
						if (actobject->displayWnd) 
							SetWindowPos(actobject->displayWnd,HWND_TOP,0,0,0,0,SWP_DRAWFRAME|SWP_NOMOVE|SWP_NOSIZE);
					} else report ("No Amplifier Device present in the design");
					break;

				case IDM_INSERTMIDI: create_object(OB_MIDI); 
					break;
				case IDM_INSERTSPECTRUM: create_object(OB_FFT);
					break;	
				case IDM_INSERTTHRESHOLD: create_object(OB_THRESHOLD); 
					break;
				case IDM_INSERTFILTER:	create_object(OB_FILTER);						
					break;	
				case IDM_INSERTMAGNITUDE:create_object(OB_MAGNITUDE);						
					break;	
				case IDM_INSERTPARTICLE:create_object(OB_PARTICLE);						
					break;	
				case IDM_INSERTOSCI:create_object(OB_OSCI);						
					break;	
				case IDM_INSERTTRANSLATE:create_object(OB_TRANSLATE);						
					break;
				case IDM_INSERTSIGNAL:create_object(OB_SIGNAL);
					break;
				case IDM_INSERTAND:create_object(OB_AND);
					break;
				case IDM_INSERTOR:create_object(OB_OR);
					break;
				case IDM_INSERTNOT:create_object(OB_NOT);
					break;
				case IDM_INSERTWAV:
					if (!count_objects(OB_WAV)) create_object(OB_WAV);
					else report_error("Currently only one Sound player is supported.");
					break;
				case IDM_INSERTTCPRECEIVER:create_object(OB_TCP_RECEIVER);
					break;
				case IDM_INSERTDOKU:create_object(OB_DOKU);
					break;
                case IDM_INSERTEVAL:create_object(OB_EVAL);
					break;
				case IDM_INSERTAVI:create_object(OB_AVI);
					break;
				case IDM_INSERTAVERAGE:create_object(OB_AVERAGE);
					break;
				case IDM_INSERTCORR:create_object(OB_CORR);
					break;
				case IDM_INSERTEDFWRITER:create_object(OB_EDF_WRITER);
					break;
				case IDM_INSERTTCPSENDER:create_object(OB_TCP_SENDER);
					break;
				case IDM_INSERTEDFREADER:create_object(OB_EDF_READER);
					break;
				case IDM_INSERTCOMPARE:create_object(OB_COMPARE);
					break;
				case IDM_INSERTBALLGAME:create_object(OB_BALLGAME);
					break;
				case IDM_INSERTMIXER4:create_object(OB_MIXER4);
					break;
				case IDM_INSERTMOUSE:create_object(OB_MOUSE);
					break;
				case IDM_INSERTERPDETECT:create_object(OB_ERPDETECT);
					break;
				case IDM_INSERTCOM_WRITER:create_object(OB_COM_WRITER);
					break;
				case IDM_INSERTCAM:
					if (!count_objects(OB_CAM)) create_object(OB_CAM);
					break;
				case IDM_INSERTINTEGRATE:create_object(OB_INTEGRATE);
					break;
				case IDM_INSERTDEBOUNCE:create_object(OB_DEBOUNCE);
					break;
				case IDM_INSERTSAMPLE_HOLD:create_object(OB_SAMPLE_HOLD);
					break;
				case IDM_INSERTCONSTANT:create_object(OB_CONSTANT);
					break;
				case IDM_INSERTMATLAB:create_object(OB_MATLAB);
					break;
				case IDM_INSERTCOUNTER:create_object(OB_COUNTER);
					break;
				case IDM_INSERTSKINDIALOG:
					if (!count_objects(OB_SKINDIALOG)) create_object(OB_SKINDIALOG);
					break;
				case IDM_INSERTFILE_WRITER:create_object(OB_FILE_WRITER);
					break;
				case IDM_INSERTDEVIATION:create_object(OB_DEVIATION);
					break;
				case IDM_INSERTMCIPLAYER:create_object(OB_MCIPLAYER);
					break;
				case IDM_INSERTKEYSTRIKE:create_object(OB_KEYSTRIKE);
					break;
				case IDM_INSERTPEAKDETECT:create_object(OB_PEAKDETECT);
					break;
				case IDM_INSERTSPELLER:create_object(OB_SPELLER);
					break;
				case IDM_INSERTMARTINI:create_object(OB_MARTINI);
					break;
				case IDM_INSERTFILE_READER:create_object(OB_FILE_READER);
					break;
				case IDM_INSERTPORT_IO:create_object(OB_PORT_IO);
					break;
				case IDM_INSERTARRAY3600:create_object(OB_ARRAY3600);
					break;
				case IDM_INSERTCOMREADER:create_object(OB_COMREADER);
					break;
				case IDM_INSERTMIN:create_object(OB_MIN);
					break;
				case IDM_INSERTMAX:create_object(OB_MAX);
					break;
				case IDM_INSERTROUND:create_object(OB_ROUND);
					break;
				case IDM_INSERTDIFFERENTIATE:create_object(OB_DIFFERENTIATE);
					break;
				case IDM_INSERTDELAY:create_object(OB_DELAY);
					break;
				case IDM_INSERTLIMITER:create_object(OB_LIMITER);
					break;
				case IDM_INSERTFLOATVECTOR:
					create_object(OB_FLOATVECTOR);
					break;
				case IDM_INSERTVECTORFLOAT:
					create_object(OB_VECTORFLOAT);
					break;
				case IDM_INSERTDISPLAYVECTOR:
					create_object(OB_DISPLAYVECTOR);
					break;
				case IDM_INSERTVECTORBUFFER:
					create_object(OB_BUFFER);
					break;

				// here are th supported EED devices
				case IDM_INSERT_EEG_GENERIC8: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_RAW8BIT; create_object(OB_EEG);}
					break;
				case IDM_INSERT_EEG_GENERIC16: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_RAW; create_object(OB_EEG);}
					break;
				case IDM_INSERT_EEG_IBVA: 
					if (!count_objects(OB_EEG)) { TTY.devicetype=DEV_IBVA; create_object(OB_EEG);}  
					break;
				case IDM_INSERT_EEG_NIA: 
					if (!count_objects(OB_EEG)) { TTY.devicetype=DEV_NIA; create_object(OB_EEG);}  
					break;
				case IDM_INSERT_EEG_P21: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_MONOLITHEEG_P21; create_object(OB_EEG);} 
					break;
				case IDM_INSERT_EEG_OPENBCI8: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_OPENBCI8; create_object(OB_EEG);} 
					break;
				case IDM_INSERT_EEG_P2: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_MODEEG_P2; create_object(OB_EEG);}
					break;
				case IDM_INSERT_EEG_P3: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_MODEEG_P3; create_object(OB_EEG);}
					break;
				case IDM_INSERT_EEG_PENDANT: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_PENDANT3; create_object(OB_EEG);} 
					break;
				case IDM_INSERT_EEG_QDS: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_QDS; create_object(OB_EEG);}
					break;
				case IDM_INSERT_EEG_SBT4: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_SBT4; create_object(OB_EEG);} 
					break;
				case IDM_INSERT_EEG_SBT2: 
					if (!count_objects(OB_EEG))  { TTY.devicetype=DEV_SBT2; create_object(OB_EEG);} 
					break;
				// these devices need special care (seperate element)
				case IDM_INSERTOPTIMA:
					if ((!count_objects(OB_NEUROBIT)) && (!count_objects(OB_EEG))) create_object(OB_NEUROBIT);
					break;
				case IDM_INSERTEMOTIV:
					if ((!count_objects(OB_EMOTIV)) && (!count_objects(OB_EEG))) create_object(OB_EMOTIV);
					break;

				case IDM_COPY:
					if (actobject)
					{
						copy_object=actobject;
						if ((copy_object->type!=OB_EEG)&&(copy_object->type!=OB_WAV)&&(copy_object->type!=OB_CAM)
							&&(copy_object->type!=OB_SKINDIALOG)&&(copy_object->type!=OB_NEUROBIT))
						{
						    HANDLE hFile;
							char tmpfile[256];
							create_object(copy_object->type);

							strcpy(tmpfile,GLOBAL.resourcepath); 
							strcat(tmpfile,"tmp_copy.con");
							hFile = CreateFile(tmpfile, GENERIC_WRITE, 0, NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
							if(hFile != INVALID_HANDLE_VALUE)
							{
									copy_object->save(hFile);
									save_property(hFile,"end Object",P_END,NULL);
									CloseHandle(hFile);
							}
							hFile = CreateFile(tmpfile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
							if(hFile != INVALID_HANDLE_VALUE)
							{
									load_next_config_buffer(hFile);
									actobject->load(hFile);
									CloseHandle(hFile);
									DeleteFile(tmpfile);
							}
							actobject->xPos+=10; actobject->yPos+=10;
						}		
						close_toolbox();
					}
					break;
								
				default:
				   return DefWindowProc( hWnd, message, wParam, lParam );
			}
			break;

		case WM_ACTIVATE:
				{
/*				 char t[50];

				 static int cn=0;
				 cn++;
				 sprintf(t,"%d:%d,%d",cn,HIWORD(lParam),LOWORD(lParam)); //==WA_CLICKACTIVE))
				 SendDlgItemMessage(ghWndStatusbox,IDC_LIST2, LB_ADDSTRING, 0, (LPARAM) t);
				 SendDlgItemMessage(ghWndStatusbox,IDC_LIST2, LB_SETCURSEL, SendDlgItemMessage(ghWndStatusbox,IDC_LIST2, LB_GETCOUNT, 0, 0)-1, 0);
				 UpdateWindow(ghWndStatusbox);
*/
			     if ((LOWORD(lParam)==WA_CLICKACTIVE) || (HIWORD(lParam)==WA_CLICKACTIVE))
				 	SetWindowPos(ghWndMain,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
				  SetFocus(ghWndMain);
			}
			break;


		case WM_ACTIVATEAPP: 

			{
/*				 char t[50];
				 static int cn=0;
				 cn++;
				 sprintf(t,"%d:%d,%d",cn,HIWORD(lParam),LOWORD(lParam)); //==WA_CLICKACTIVE))
				 SendDlgItemMessage(ghWndStatusbox,IDC_LIST2, LB_ADDSTRING, 0, (LPARAM) t);
				 SendDlgItemMessage(ghWndStatusbox,IDC_LIST2, LB_SETCURSEL, SendDlgItemMessage(ghWndStatusbox,IDC_LIST2, LB_GETCOUNT, 0, 0)-1, 0);
				 UpdateWindow(ghWndStatusbox); */

//			     if ((LOWORD(lParam)==1828) || (LOWORD(lParam)==964))
				 	//SetWindowPos(ghWndMain,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
					SetWindowPos(ghWndMain,0,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
//				 return DefWindowProc( hWnd, message, wParam, lParam );
			}

			break;
		case WM_KEYDOWN:
		    if (lParam==KEY_DELETE )
			  SendMessage(ghWndDesign, message,wParam,lParam);
			 break;

		case WM_SIZE:
			 if (wParam== SIZE_MAXIMIZED) 
			 {
				 GLOBAL.main_maximized=lParam;
				 ShowWindow(ghWndStatusbox,TRUE);
				 GLOBAL.hidestatus=FALSE;
				 if (GLOBAL.session_length==0)
  				    SetWindowPos(ghWndStatusbox, ghWndMain, 4, HIWORD(lParam)+15, 
			                   LOWORD(lParam)-8,HIWORD(lParam), 0);
				 else SetWindowPos(ghWndStatusbox, ghWndMain, 4, HIWORD(lParam)-20, 
			                   LOWORD(lParam)-8,HIWORD(lParam), 0);
			 }
			 else if (wParam== SIZE_RESTORED) 
			 {
				WINDOWPLACEMENT  wndpl;
				GetWindowPlacement(ghWndMain, &wndpl);
				GLOBAL.top=wndpl.rcNormalPosition.top;
				GLOBAL.left=wndpl.rcNormalPosition.left;
				GLOBAL.right=wndpl.rcNormalPosition.right;
				GLOBAL.bottom=wndpl.rcNormalPosition.bottom;
				GLOBAL.main_maximized=0;
				update_status_window();

			 }
			 else if (wParam== SIZE_MINIMIZED) 
			 {
				 ShowWindow(ghWndStatusbox,FALSE);
				 GLOBAL.hidestatus=TRUE;
			 }
			break;
    	case WM_MOVE:
			{
				WINDOWPLACEMENT  wndpl;
				GetWindowPlacement(ghWndMain, &wndpl);
				GLOBAL.top=wndpl.rcNormalPosition.top;
				GLOBAL.left=wndpl.rcNormalPosition.left;
				GLOBAL.right=wndpl.rcNormalPosition.right;
				GLOBAL.bottom=wndpl.rcNormalPosition.bottom;
				update_status_window();
			}
			break;
		//case WM_PAINT:
		    //	break;
		case WM_DESTROY:
			actobject=0;
			GlobalCleanup();
			PostQuitMessage( 0 );
			break;
		case WM_INPUT:
			if ((TTY.CONNECTED) && (!GLOBAL.loading))
				ReadNIA( wParam, lParam);			// NIA Daten vorhanden: auslesen
				return(TRUE);
		default:
			return DefWindowProc( hWnd, message, wParam, lParam );
   }
   return 0;
}
Exemplo n.º 20
0
void free_ENB_ID(struct ENB_ID* eNB_ID) {
	free_object(eNB_ID, &ENB_ID_TYPE);
}
Exemplo n.º 21
0
void free_ProvidedData(struct ProvidedData* providedData) {
	free_object(providedData, &PROVIDEDDATA_TYPE);
}
void free_Alt_RAB_Parameter_MaxBitrateType(enum Alt_RAB_Parameter_MaxBitrateType* alt_RAB_Parameter_MaxBitrateType) {
	free_object(alt_RAB_Parameter_MaxBitrateType, &ALT_RAB_PARAMETER_MAXBITRATETYPE_TYPE);
}
Exemplo n.º 23
0
static void
major_free_non_pinned_object (char *obj, size_t size)
{
	free_object (obj, size, FALSE);
}
Exemplo n.º 24
0
bool FrTFIDF::load(const char *filename)
{
   if (filename && *filename)
      {
      FrITextFile wt(filename) ;
      if (!wt.good())
	 {
	 FrWarningVA("unable to open term weights file '%s'",filename) ;
	 return false ;
	 }
      delete ht ;
      ht = new FrSymHashTable ;
      FrSymbol *symEOF = FrSymbolTable::add("*EOF*") ;
      char *line = wt.getline() ;
      bool expanded = false ;
      if (line && strncmp(line,"!!! ",4) == 0)
	 {
	 char *end = 0 ;
	 total_docs = (size_t)strtol(line+4,&end,10) ;
	 if (end && end != line+4)
	    {
	    char *tmp = end ;
	    size_t vocab_size = (size_t)strtol(tmp,&end,10) ;
	    if (vocab_size > 0 && end && end != tmp)
	       {
	       ht->expand(vocab_size+100) ;
	       expanded = true ;
	       }
	    }
	 }
      if (!expanded)			// ensure some reasonable starting size
	 ht->expand(5000) ;
      while ((line = wt.getline()) != 0)
	 {
	 if (FrSkipWhitespace(line) == ';' || *line == '\0')
	    continue ;
	 const char *origline = line ;
	 FrSymbol *term = (FrSymbol*)string_to_FrObject(line) ;
	 if (term == symEOF || !term || !term->symbolp())
	    {
	    FrWarning("invalid line in term-weights file") ;
	    free_object(term) ;
	    continue ;
	    }
	 char *end = 0 ;
	 size_t term_freq = strtol(line,&end,10) ;
	 if (end && end != line)
	    {
	    line = end ;
	    size_t doc_freq = strtol(line,&end,10) ;
	    if (end != line)
	       {
	       if (doc_freq > 0 && term_freq > 0)
		  {
		  FrSymHashEntry *entry = tfidfRecord(term) ;
		  FrTFIDFrecord *rec = new FrTFIDFrecord(term_freq,doc_freq) ;
		  if (entry)
		     {
		     delete (FrTFIDFrecord*)entry->getUserData() ;
		     entry->setUserData(rec) ;
		     }
		  else
		     ht->add(term,(void*)rec) ;
		  continue ;
		  }
	       FrWarning("invalid data in term-weights file -- both term\n"
			 "\tand document frequencies must be nonzero") ;
	       free_object(term) ;
	       continue ;
	       }
	    }
	 FrWarningVA("expected two integers following the term '%s'; line was\n"
		     "\t%s", term->symbolName(), origline) ;
	 free_object(term) ;
	 }
      return true ;
      }
   return false ;
}
Exemplo n.º 25
0
static void
PySfImage_dealloc(PySfImage* self)
{
	delete self->obj;
	free_object(self);
}
Exemplo n.º 26
0
void free_Event(enum Event* event) {
	free_object(event, &EVENT_TYPE);
}
Exemplo n.º 27
0
void slab_free(struct kmem_cache *cache, void *object)
{
    free_object(cache, object);
}
Exemplo n.º 28
0
void free_object(pyc_object *object) {
	if (!object)
		return;
	switch (object->type) {
	case TYPE_SMALL_TUPLE:
	case TYPE_TUPLE:
		r_list_free (object->data);
		break;
	case TYPE_STRING:
	case TYPE_TRUE:
	case TYPE_FALSE:
	case TYPE_INT:
	case TYPE_NONE:
	case TYPE_NULL:
	case TYPE_ASCII_INTERNED:
	case TYPE_SHORT_ASCII:
	case TYPE_ASCII:
	case TYPE_SHORT_ASCII_INTERNED:
		free (object->data);
		break;
	case TYPE_CODE_v1:
		{
			pyc_code_object *cobj = object->data;
			free_object (cobj->code);
			free_object (cobj->consts);
			free_object (cobj->names);
			free_object (cobj->varnames);
			free_object (cobj->freevars);
			free_object (cobj->cellvars);
			free_object (cobj->filename);
			free_object (cobj->name);
			free_object (cobj->lnotab);
			free (object->data);
		}
		break;
	case TYPE_REF:
		free_object (object->data);
		break;
	case TYPE_ELLIPSIS:
	case TYPE_STOPITER:
	case TYPE_BINARY_COMPLEX:
	case TYPE_BINARY_FLOAT:
	case TYPE_CODE_v0:
	case TYPE_COMPLEX:
	case TYPE_STRINGREF:
	case TYPE_DICT:
	case TYPE_FLOAT:
	case TYPE_FROZENSET:
	case TYPE_INT64:
	case TYPE_INTERNED:
	case TYPE_LIST:
	case TYPE_LONG:
	case TYPE_SET:
	case TYPE_UNICODE:
	case TYPE_UNKNOWN:
		eprintf ("Free not implemented for type %x\n", object->type);
		return;
	default:
		eprintf ("Undefined type in free_object (%x)\n", object->type);
		return;
	}
	free (object);
}
Exemplo n.º 29
0
Arquivo: dct.c Projeto: pikelang/Pike
void image_dct(INT32 args)
{
   rgbd_group *area,*val;
   struct object *o;
   struct image *img;
   INT32 x,y,u,v;
   double xsz2,ysz2,enh,xp,yp,dx,dy;
   double *costbl;
   rgb_group *pix;

   CHECK_INIT();

   get_all_args(NULL, args, "%d%d", &x, &y);
   x = MAXIMUM(1, x);
   y = MAXIMUM(1, y);

#ifdef DCT_DEBUG
   fprintf(stderr,"%lu bytes, %lu bytes\n",
           (unsigned long)(sizeof(rgbd_group)*THIS->xsize*THIS->ysize),
           (unsigned long)(sizeof(rgb_group)*THIS->xsize*THIS->ysize+1));
#endif

   area=xalloc(sizeof(rgbd_group)*THIS->xsize*THIS->ysize+1);

   if (!(costbl=malloc(sizeof(double)*THIS->xsize+1)))
   {
      free(area);
      out_of_memory_error(NULL, -1, 0);
   }

   o=clone_object(image_program,0);
   img=(struct image*)(o->storage);
   *img=*THIS;
   img->xsize = x;
   img->ysize = y;

   if (!(img->img=malloc(sizeof(rgb_group)*
                         img->xsize*img->ysize+RGB_VEC_PAD)))
   {
      free(area);
      free(costbl);
      free_object(o);
      out_of_memory_error(NULL, -1, 0);
   }

   xsz2=THIS->xsize*2.0;
   ysz2=THIS->ysize*2.0;

   enh=(8.0/THIS->xsize)*(8.0/THIS->ysize);

   for (u=0; u<THIS->xsize; u++)
   {
      double d,z0;
      rgbd_group sum;

      for (v=0; v<THIS->ysize; v++)
      {
	 d=(u?1:c0)*(v?1:c0)/4.0;
	 sum.r=sum.g=sum.b=0;
	 pix=THIS->img;

	 for (x=0; x<THIS->xsize; x++)
	    costbl[x]=cos( (2*x+1)*u*pi/xsz2 );

	 for (y=0; y<THIS->ysize; y++)
	 {
	    z0=cos( (2*y+1)*v*pi/ysz2 );
	    for (x=0; x<THIS->xsize; x++)
	    {
	       double z;
	       z =  costbl[x] * z0;
	       sum.r += (float)(pix->r*z);
	       sum.g += (float)(pix->g*z);
	       sum.b += (float)(pix->b*z);
	       pix++;
	    }
	 }
	 sum.r *= (float)d;
	 sum.g *= (float)d;
	 sum.b *= (float)d;
	 area[u+v*THIS->xsize]=sum;
      }
#ifdef DCT_DEBUG
      fprintf(stderr,"."); fflush(stderr);
#endif
   }
#ifdef DCT_DEBUG
   fprintf(stderr,"\n");
#endif

   dx=((double)(THIS->xsize-1))/(img->xsize);
   dy=((double)(THIS->ysize-1))/(img->ysize);

   pix=img->img;
   for (y=0,yp=0; y<img->ysize; y++,yp+=dy)
   {
      double z0;
      rgbd_group sum;

      for (x=0,xp=0; x<img->xsize; x++,xp+=dx)
      {
	 sum.r=sum.g=sum.b=0;
	 val=area;

	 for (u=0; u<THIS->xsize; u++)
	    costbl[u]=cos( (2*xp+1)*u*pi/xsz2 );

	 for (v=0; v<THIS->ysize; v++)
	 {
	    z0=cos( (2*yp+1)*v*pi/ysz2 )*(v?1:c0)/4.0;
	    for (u=0; u<THIS->xsize; u++)
	    {
	       double z;
	       z = (u?1:c0) * costbl[u] * z0;
               sum.r += (float)(val->r*z);
               sum.g += (float)(val->g*z);
               sum.b += (float)(val->b*z);
	       val++;
	    }
	 }
	 sum.r *= (float)enh;
	 sum.g *= (float)enh;
	 sum.b *= (float)enh;
         pix->r=testrange((int)(sum.r+0.5));
         pix->g=testrange((int)(sum.g+0.5));
         pix->b=testrange((int)(sum.b+0.5));
	 pix++;
      }
#ifdef DCT_DEBUG
      fprintf(stderr,"."); fflush(stderr);
#endif
   }

   free(area);
   free(costbl);

   pop_n_elems(args);
   push_object(o);
}
void free_NonSearchingIndication(enum NonSearchingIndication* nonSearchingIndication) {
	free_object(nonSearchingIndication, &NONSEARCHINGINDICATION_TYPE);
}