Skip to content
Snippets Groups Projects
polygon.c 2.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • #include "global.h"
    #include <config.h>
    
    /* $Id: polygon.c,v 1.1 1998/05/09 15:00:36 grubba Exp $ */
    
    /*
    **! module Image
    **! note
    **!	$Id: polygon.c,v 1.1 1998/05/09 15:00:36 grubba Exp $
    **! class polygon
    **!
    **!	This object keep polygon information,
    **!	for quick polygon operations.
    **!
    **! see also: Image, Image.image, Image.image->polyfill
    */
    
    #undef COLORTABLE_DEBUG
    #undef COLORTABLE_REDUCE_DEBUG
    
    RCSID("$Id: polygon.c,v 1.1 1998/05/09 15:00:36 grubba Exp $");
    
    #include <math.h> 
    
    #include "config.h"
    
    #include "stralloc.h"
    #include "pike_macros.h"
    #include "object.h"
    #include "constants.h"
    #include "interpret.h"
    #include "svalue.h"
    #include "array.h"
    #include "threads.h"
    #include "builtin_functions.h"
    
    #include "image.h"
    #include "polygon.h"
    #include "dmalloc.h"
    
    struct program *image_polygon_program;
    extern struct program *image_program;
    
    
    #ifdef THIS
    #undef THIS /* Needed for NT */
    #endif
    #define THIS ((struct polygon *)(fp->current_storage))
    #define THISOBJ (fp->current_object)
    
    /***************** init & exit *********************************/
    
    static void free_polygon_struct(struct polygon *nct)
    {
    }
    
    static void polygon_init_stuff(struct polygon *nct)
    {
    }
    
    static void init_polygon_struct(struct object *obj)
    {
       polygon_init_stuff(THIS);
    }
    
    static void exit_polygon_struct(struct object *obj)
    {
       free_polygon_struct(THIS);
    }
    
    /***************** internal stuff ******************************/
    
    /***************** called stuff ********************************/
    
    static void image_polygon_create(INT32 args)
    {
    }
    
    /***************** global init etc *****************************/
    
    void init_polygon_programs(void)
    {
       start_new_program();
       add_storage(sizeof(struct polygon));
    
       set_init_callback(init_polygon_struct);
       set_exit_callback(exit_polygon_struct);
    
       add_function("create",image_polygon_create,
    		"function(object|array(int|float) ...:void)",0);
    
       image_polygon_program=end_program();
       add_program_constant("polygon",image_polygon_program, 0);
    }
    
    void exit_polygon(void) 
    {
      if(image_polygon_program)
      {
        free_program(image_polygon_program);
        image_polygon_program=0;
      }
    }