/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.57 from the
 * contents of Cdk.xs. Do not edit this file, edit Cdk.xs instead.
 *
 *    ANY CHANGES MADE HERE WILL BE LOST!
 *
 */

#line 1 "Cdk.xs"
/*
 * $Author: tom $
 * $Date: 2025/05/26 08:14:22 $
 * $Revision: 1.38 $
 */

#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>

#define CDK_PERL_EXT
#ifdef HAVE_CDK_CDK_H
#include <cdk/cdk.h>
#else
#include <cdk.h>
#endif

#if (PERL_REVISION == 5) && (PERL_VERSION >= 10 && PERL_VERSION <= 28)
#undef dNOOP
#define dNOOP struct Perl___notused_struct
#endif

/* Prior to perl5.005, the PL_ prefix wasn't used for things such
   as PL_rs.  Define the PL_ macros that we use if necessary. */

#include <patchlevel.h>		/* This is perl's patchlevel.h */

#if PATCHLEVEL < 5
#define PL_na na
#define PL_sv_undef sv_undef
#endif

static const char * checkChtypeKey(chtype key);
static chtype sv2chtype(SV *sv);
static int sv2dtype(SV * sv);
static int sv2int(SV *sv);

CDKSCREEN *	GCDKSCREEN	= (CDKSCREEN *)NULL;
WINDOW *	GCWINDOW	= (WINDOW *)NULL;

/* this would be a function, except the menu widget relies on a fixed array */
#define MAKE_MENU_MATRIX(START,INPUT,NEWARRAY,ARRAYSIZE,ARRAYLEN)	\
	do {								\
	   AV *array	= (AV *)SvRV((INPUT));				\
	   int x, y;							\
									\
	   (ARRAYLEN)	= (int)av_len (array);				\
									\
	   for (x = 0; x <= (ARRAYLEN); x++)				\
	   {								\
	      SV *name			= *av_fetch(array,x,FALSE);	\
	      AV *subArray		= (AV *)SvRV(name);		\
	      int subLen		= (int)av_len (subArray);	\
	      (ARRAYSIZE)[x+(START)]	= subLen + 1;			\
									\
	      for (y=0; y <= subLen; y++)				\
	      {								\
		 SV *sv = *av_fetch(subArray,y,FALSE);			\
		 (NEWARRAY)[x+(START)][y+(START)] = copyChar((char *)SvPV(sv,PL_na));	\
	      }								\
	   }								\
	   (ARRAYLEN)++;						\
	} while (0)

static void make_int_array(int start, SV* input, int **dest, int *destlen)
{
   AV *src	= (AV *)SvRV(input);
   int length	= (int)av_len(src) + 1;
   int x;

   if ((*dest = (int *)calloc((size_t) length + 2, sizeof(int *))) == 0)
   {
      croak("make_int_array(%d)", length + 2);
   }
   for (x=0; x < length; x++)
   {
      SV *foo	         = *av_fetch(src, x, FALSE);
      (*dest)[x + start] = sv2int (foo);
   }
   *destlen = length;
}
#define MAKE_INT_ARRAY(START, INPUT, DEST, LEN) \
	make_int_array(START, INPUT, &DEST, &LEN)

static void make_dtype_array(int start, SV *input, int **dest, int *destlen)
{
   AV *src	= (AV *)SvRV(input);
   int length	= (int)av_len(src) + 1;
   int x;

   if ((*dest = (int *)calloc((size_t) length + 2, sizeof(int *))) == 0)
   {
      croak("make_dtype_array(%d)", length + 2);
   }
   for (x=0; x < length; x++)
   {
      SV *foo		 = *av_fetch(src, x, FALSE);
      (*dest)[x + start] = sv2dtype (foo);
   }
   *destlen = length;
}
#define MAKE_DTYPE_ARRAY(START, INPUT, DEST, LEN) \
	make_dtype_array(START, INPUT, &DEST, &LEN)

static void make_chtype_array(int start, SV *input, chtype **dest, int *destlen)
{
   AV *src	= (AV *)SvRV(input);
   int length	= (int)av_len(src) + 1;
   int x;

   if ((*dest = (chtype *)calloc((size_t) length + 2, sizeof(chtype *))) == 0)
   {
      croak("make_chtype_array(%d)", length + 2);
   }
   for (x=0; x < length; x++)
   {
      SV *foo		 = *av_fetch(src, x, FALSE);
      (*dest)[x + start] = sv2chtype (foo);
   }
   *destlen = length;
}
#define MAKE_CHTYPE_ARRAY(START, INPUT, DEST, LEN) \
	make_chtype_array(START, INPUT, &DEST, &LEN)

static void make_char_array(int start, SV *input, char ***dest, int *destlen)
{
   AV *src	= (AV *)SvRV(input);
   int length	= (int)av_len(src) + 1;
   int x;

   if ((*dest = (char **)calloc((size_t) length + 2, sizeof(char *))) == 0)
   {
      croak("make_char_array(%d)", length + 2);
   }
   for (x=0; x < length; x++)
   {
      SV *foo		 = *av_fetch(src, x, FALSE);
      (*dest)[x + start] = copyChar((char *)SvPV(foo,PL_na));
   }
   *destlen = length;
}
#define MAKE_CHAR_ARRAY(START, INPUT, DEST, LEN) \
	make_char_array(START, INPUT, &DEST, &LEN)

static void make_title(SV * input, char **dest)
{
   char *data;

   if (SvROK(input) && SvTYPE(SvRV(input)) == SVt_PVAV)
   {
      AV *src	= (AV *)SvRV(input);
      int len = (int)av_len(src) + 1;
      int x;
      int length = 2;

      for (x=0; x < len; x++)
      {
	 SV *foo = *av_fetch(src, x, FALSE);
	 data = (char *)SvPV(foo,PL_na);
	 length += (int)strlen(data) + 1;
      }
      *dest = malloc((size_t)length);
      if (*dest == 0)
	 croak("make_title");

      **dest = '\0';
      for (x=0; x < len; x++)
      {
	 SV *foo = *av_fetch(src, x, FALSE);
	 data = (char *)SvPV(foo,PL_na);
	 if (x != 0)
	    strcat(*dest, "\n");
	 strcat(*dest, data);
      }
   }
   else
   {
      data = (char *)SvPV(input,PL_na);
      *dest = malloc(strlen(data) + 1);
      if (*dest == 0)
	 croak("make_title");
      strcpy (*dest, data);
   }
}
#define MAKE_TITLE(INPUT, DEST) \
	make_title(INPUT, &DEST)

/*
 * The callback callback to run Perl callback routines. Are you confused???
 */
static int PerlBindCB (EObjectType cdktype, void *object, void *data, chtype input)
{
   dSP ;

   SV *foo = (SV*)data;
   int returnValueCount;
   const char *chtypeKey;
   char temp[10];

   ENTER;
   SAVETMPS;
   PUSHMARK (sp);

   (void) cdktype;
   (void) object;

   /* Check which key input is... */
   chtypeKey = checkChtypeKey (input);
   if (chtypeKey == NULL)
   {
      sprintf (temp, "%c", (char)input);
      XPUSHs (sv_2mortal(newSVpv(temp, 1)));
   }
   else
   {
      XPUSHs (sv_2mortal(newSVpv(chtypeKey, strlen(chtypeKey))));
   }
   PUTBACK ;

   /* Call the perl subroutine. */
   returnValueCount = perl_call_sv (foo, G_SCALAR);

   SPAGAIN;

   /* Check the number of values returned from this function. */
   if (returnValueCount == 0)
   {
      /* They didn't return anything, let them continue. */
      PUTBACK;
      FREETMPS;
      LEAVE;
      return 1;
   }

   /* They returned something, lets find out what it is. */
   (void) POPi;

   PUTBACK;
   FREETMPS;
   LEAVE;
   return 1;
}

/*
 * The callback callback to run Perl callback routines. Are you confused???
 */
static int PerlProcessCB (EObjectType cdktype, void *object, void *data, chtype input)
{
   dSP ;

   SV *foo = (SV*)data;
   int returnValueCount, returnValue;
   const char *chtypeKey;
   char temp[10];

   ENTER;
   SAVETMPS;
   PUSHMARK (sp);

   (void) cdktype;
   (void) object;

   /* Check which key input is... */
   chtypeKey = checkChtypeKey (input);
   if (chtypeKey == NULL)
   {
      sprintf (temp, "%c", (char)input);
      XPUSHs (sv_2mortal(newSVpv(temp, 1)));
   }
   else
   {
      XPUSHs (sv_2mortal(newSVpv(chtypeKey, strlen(chtypeKey))));
   }
   PUTBACK ;

   /* Call the perl subroutine. */
   returnValueCount = perl_call_sv (foo, G_SCALAR);

   SPAGAIN;

   /* Check the number of values returned from this function. */
   if (returnValueCount == 0)
   {
      /* They didn't return anything, let them continue. */
      PUTBACK;
      FREETMPS;
      LEAVE;
      return 1;
   }

   /* They returned something, lets find out what it is. */
   returnValue = POPi;

   PUTBACK;
   FREETMPS;
   LEAVE;
   return returnValue;
}

static void checkCdkInit(void)
{
   if (GCDKSCREEN == (CDKSCREEN *)NULL)
   {
      croak ("Cdk has not been initialized.\n");
   }
}

static const char *
checkChtypeKey(chtype key)
{
   const char *result = 0;

   if (key == KEY_UP)
      result = "KEY_UP";
   else if (key == KEY_DOWN)
      result = "KEY_DOWN";
   else if (key == KEY_LEFT)
      result = "KEY_LEFT";
   else if (key == KEY_RIGHT)
      result = "KEY_RIGHT";
   else if (key == KEY_NPAGE)
      result = "KEY_NPAGE";
   else if (key == KEY_PPAGE)
      result = "KEY_PPAGE";
   else if (key == KEY_END)
      result = "KEY_END";
   else if (key == KEY_HOME)
      result = "KEY_HOME";
   else if (key == KEY_BACKSPACE)
      result = "KEY_BACKSPACE";
   else if (key == DELETE)
      result = "KEY_DELETE";
   else if (key == KEY_ESC)
      result = "KEY_ESC";

   return result;
}

static int
sv2integer(SV *sv, int invalid)
{
   char *from = SvPV(sv,PL_na);
   char mark;
   int result;

   if (sscanf(from, "%d%c", &result, &mark) != 1)
   {
      result = invalid;
   }
   return result;
}

static chtype
sv2chtype(SV *sv)
{
   bool found = FALSE;
   chtype result = 0;

   if (SvPOK(sv))
   {
      char *name = SvPV(sv,PL_na);
      chtype *fillerChtype;
      int c1, c2;

      found = TRUE;
      if (strEQ(name, "ACS_BTEE"))
	  result = ACS_BTEE;
      else if (strEQ(name, "ACS_HLINE"))
	  result = ACS_HLINE;
      else if (strEQ(name, "ACS_LLCORNER"))
	  result = ACS_LLCORNER;
      else if (strEQ(name, "ACS_LRCORNER"))
	  result = ACS_LRCORNER;
      else if (strEQ(name, "ACS_LTEE"))
	  result = ACS_LTEE;
      else if (strEQ(name, "ACS_PLUS"))
	  result = ACS_PLUS;
      else if (strEQ(name, "ACS_RTEE"))
	  result = ACS_RTEE;
      else if (strEQ(name, "ACS_TTEE"))
	  result = ACS_TTEE;
      else if (strEQ(name, "ACS_ULCORNER"))
	  result = ACS_ULCORNER;
      else if (strEQ(name, "ACS_URCORNER"))
	  result = ACS_URCORNER;
      else if (strEQ(name, "ACS_VLINE"))
	  result = ACS_VLINE;
      else if (strEQ(name, "A_ALTCHARSET"))
	  result = A_ALTCHARSET;
      else if (strEQ(name, "A_ATTRIBUTES"))
	  result = A_ATTRIBUTES;
      else if (strEQ(name, "A_BLINK"))
	  result = A_BLINK;
      else if (strEQ(name, "A_BOLD"))
	  result = A_BOLD;
      else if (strEQ(name, "A_CHARTEXT"))
	  result = A_CHARTEXT;
      else if (strEQ(name, "A_COLOR"))
	  result = A_COLOR;
      else if (strEQ(name, "A_DIM"))
	  result = A_DIM;
      else if (strEQ(name, "A_INVIS"))
	  result = A_INVIS;
      else if (strEQ(name, "A_NORMAL"))
	  result = A_NORMAL;
      else if (strEQ(name, "A_PROTECT"))
	  result = A_PROTECT;
      else if (strEQ(name, "A_REVERSE"))
	  result = A_REVERSE;
      else if (strEQ(name, "A_STANDOUT"))
	  result = A_STANDOUT;
      else if (strEQ(name, "A_UNDERLINE"))
	  result = A_UNDERLINE;
      else if (strEQ(name, "CDK_COPY"))
	  result = CDK_COPY;
      else if (strEQ(name, "CDK_CUT"))
	  result = CDK_CUT;
      else if (strEQ(name, "CDK_ERASE"))
	  result = CDK_ERASE;
      else if (strEQ(name, "CDK_PASTE"))
	  result = CDK_PASTE;
      else if (strEQ(name, "CDK_REFRESH"))
	  result = CDK_REFRESH;
#ifdef COLOR
      else if (strEQ(name, "COLOR_BLACK"))
	 result = COLOR_BLACK;
      else if (strEQ(name, "COLOR_BLUE"))
	 result = COLOR_BLUE;
      else if (strEQ(name, "COLOR_CYAN"))
	 result = COLOR_CYAN;
      else if (strEQ(name, "COLOR_GREEN"))
	 result = COLOR_GREEN;
      else if (strEQ(name, "COLOR_MAGENTA"))
	 result = COLOR_MAGENTA;
      else if (strEQ(name, "COLOR_RED"))
	 result = COLOR_RED;
      else if (strEQ(name, "COLOR_WHITE"))
	 result = COLOR_WHITE;
      else if (strEQ(name, "COLOR_YELLOW"))
	 result = COLOR_YELLOW;
#endif
      else if (strEQ(name, "DELETE"))
	  result = DELETE;
      else if (strEQ(name, "KEY_A1"))
	  result = KEY_A1;
      else if (strEQ(name, "KEY_A3"))
	  result = KEY_A3;
      else if (strEQ(name, "KEY_B2"))
	  result = KEY_B2;
      else if (strEQ(name, "KEY_BACKSPACE"))
	  result = KEY_BACKSPACE;
      else if (strEQ(name, "KEY_BEG"))
	  result = KEY_BEG;
      else if (strEQ(name, "KEY_BREAK"))
	  result = KEY_BREAK;
      else if (strEQ(name, "KEY_BTAB"))
	  result = KEY_BTAB;
      else if (strEQ(name, "KEY_C1"))
	  result = KEY_C1;
      else if (strEQ(name, "KEY_C3"))
	  result = KEY_C3;
      else if (strEQ(name, "KEY_CANCEL"))
	  result = KEY_CANCEL;
      else if (strEQ(name, "KEY_CATAB"))
	  result = KEY_CATAB;
      else if (strEQ(name, "KEY_CLEAR"))
	  result = KEY_CLEAR;
      else if (strEQ(name, "KEY_CLOSE"))
	  result = KEY_CLOSE;
      else if (strEQ(name, "KEY_COMMAND"))
	  result = KEY_COMMAND;
      else if (strEQ(name, "KEY_COPY"))
	  result = KEY_COPY;
      else if (strEQ(name, "KEY_CREATE"))
	  result = KEY_CREATE;
      else if (strEQ(name, "KEY_CTAB"))
	  result = KEY_CTAB;
      else if (strEQ(name, "KEY_DC"))
	  result = KEY_DC;
      else if (strEQ(name, "KEY_DL"))
	  result = KEY_DL;
      else if (strEQ(name, "KEY_DOWN"))
	  result = KEY_DOWN;
      else if (strEQ(name, "KEY_EIC"))
	  result = KEY_EIC;
      else if (strEQ(name, "KEY_END"))
	  result = KEY_END;
      else if (strEQ(name, "KEY_ENTER"))
	  result = KEY_ENTER;
      else if (strEQ(name, "KEY_EOL"))
	  result = KEY_EOL;
      else if (strEQ(name, "KEY_EOS"))
	  result = KEY_EOS;
      else if (strEQ(name, "KEY_ESC"))
	  result = KEY_ESC;
      else if (strEQ(name, "KEY_EXIT"))
	  result = KEY_EXIT;
      else if (strEQ(name, "KEY_F0"))
	  result = KEY_F0;
      else if (strEQ(name, "KEY_F1"))
	  result = KEY_F1;
      else if (strEQ(name, "KEY_F10"))
	  result = KEY_F10;
      else if (strEQ(name, "KEY_F11"))
	  result = KEY_F11;
      else if (strEQ(name, "KEY_F12"))
	  result = KEY_F12;
      else if (strEQ(name, "KEY_F2"))
	  result = KEY_F2;
      else if (strEQ(name, "KEY_F3"))
	  result = KEY_F3;
      else if (strEQ(name, "KEY_F4"))
	  result = KEY_F4;
      else if (strEQ(name, "KEY_F5"))
	  result = KEY_F5;
      else if (strEQ(name, "KEY_F6"))
	  result = KEY_F6;
      else if (strEQ(name, "KEY_F7"))
	  result = KEY_F7;
      else if (strEQ(name, "KEY_FIND"))
	  result = KEY_FIND;
      else if (strEQ(name, "KEY_HELP"))
	  result = KEY_HELP;
      else if (strEQ(name, "KEY_HOME"))
	  result = KEY_HOME;
      else if (strEQ(name, "KEY_IC"))
	  result = KEY_IC;
      else if (strEQ(name, "KEY_IL"))
	  result = KEY_IL;
      else if (strEQ(name, "KEY_LEFT"))
	  result = KEY_LEFT;
      else if (strEQ(name, "KEY_LL"))
	  result = KEY_LL;
      else if (strEQ(name, "KEY_MARK"))
	  result = KEY_MARK;
      else if (strEQ(name, "KEY_MAX"))
	  result = KEY_MAX;
      else if (strEQ(name, "KEY_MESSAGE"))
	  result = KEY_MESSAGE;
      else if (strEQ(name, "KEY_MIN"))
	  result = KEY_MIN;
      else if (strEQ(name, "KEY_MOVE"))
	  result = KEY_MOVE;
      else if (strEQ(name, "KEY_NPAGE"))
	  result = KEY_NPAGE;
      else if (strEQ(name, "KEY_OPEN"))
	  result = KEY_OPEN;
      else if (strEQ(name, "KEY_OPTIONS"))
	  result = KEY_OPTIONS;
      else if (strEQ(name, "KEY_PPAGE"))
	  result = KEY_PPAGE;
      else if (strEQ(name, "KEY_PREVIOUS"))
	  result = KEY_PREVIOUS;
      else if (strEQ(name, "KEY_PRINT"))
	  result = KEY_PRINT;
      else if (strEQ(name, "KEY_REDO"))
	  result = KEY_REDO;
      else if (strEQ(name, "KEY_REFERENCE"))
	  result = KEY_REFERENCE;
      else if (strEQ(name, "KEY_REFRESH"))
	  result = KEY_REFRESH;
      else if (strEQ(name, "KEY_REPLACE"))
	  result = KEY_REPLACE;
      else if (strEQ(name, "KEY_RESET"))
	  result = KEY_RESET;
      else if (strEQ(name, "KEY_RESTART"))
	  result = KEY_RESTART;
      else if (strEQ(name, "KEY_RESUME"))
	  result = KEY_RESUME;
      else if (strEQ(name, "KEY_RETURN"))
	  result = KEY_RETURN;
      else if (strEQ(name, "KEY_RIGHT"))
	  result = KEY_RIGHT;
      else if (strEQ(name, "KEY_SAVE"))
	  result = KEY_SAVE;
      else if (strEQ(name, "KEY_SBEG"))
	  result = KEY_SBEG;
      else if (strEQ(name, "KEY_SCANCEL"))
	  result = KEY_SCANCEL;
      else if (strEQ(name, "KEY_SCOMMAND"))
	  result = KEY_SCOMMAND;
      else if (strEQ(name, "KEY_SCOPY"))
	  result = KEY_SCOPY;
      else if (strEQ(name, "KEY_SCREATE"))
	  result = KEY_SCREATE;
      else if (strEQ(name, "KEY_SDC"))
	  result = KEY_SDC;
      else if (strEQ(name, "KEY_SDL"))
	  result = KEY_SDL;
      else if (strEQ(name, "KEY_SELECT"))
	  result = KEY_SELECT;
      else if (strEQ(name, "KEY_SEND"))
	  result = KEY_SEND;
      else if (strEQ(name, "KEY_SEOL"))
	  result = KEY_SEOL;
      else if (strEQ(name, "KEY_SEXIT"))
	  result = KEY_SEXIT;
      else if (strEQ(name, "KEY_SF"))
	  result = KEY_SF;
      else if (strEQ(name, "KEY_SFIND"))
	  result = KEY_SFIND;
      else if (strEQ(name, "KEY_SHELP"))
	  result = KEY_SHELP;
      else if (strEQ(name, "KEY_SHOME"))
	  result = KEY_SHOME;
      else if (strEQ(name, "KEY_SIC"))
	  result = KEY_SIC;
      else if (strEQ(name, "KEY_SLEFT"))
	  result = KEY_SLEFT;
      else if (strEQ(name, "KEY_SMESSAGE"))
	  result = KEY_SMESSAGE;
      else if (strEQ(name, "KEY_SMOVE"))
	  result = KEY_SMOVE;
      else if (strEQ(name, "KEY_SNEXT"))
	  result = KEY_SNEXT;
      else if (strEQ(name, "KEY_SOPTIONS"))
	  result = KEY_SOPTIONS;
      else if (strEQ(name, "KEY_SPREVIOUS"))
	  result = KEY_SPREVIOUS;
      else if (strEQ(name, "KEY_SPRINT"))
	  result = KEY_SPRINT;
      else if (strEQ(name, "KEY_SR"))
	  result = KEY_SR;
      else if (strEQ(name, "KEY_SREDO"))
	  result = KEY_SREDO;
      else if (strEQ(name, "KEY_SREPLACE"))
	  result = KEY_SREPLACE;
      else if (strEQ(name, "KEY_SRESET"))
	  result = KEY_SRESET;
      else if (strEQ(name, "KEY_SRIGHT"))
	  result = KEY_SRIGHT;
      else if (strEQ(name, "KEY_SRSUME"))
	  result = KEY_SRSUME;
      else if (strEQ(name, "KEY_SSAVE"))
	  result = KEY_SSAVE;
      else if (strEQ(name, "KEY_SSUSPEND"))
	  result = KEY_SSUSPEND;
      else if (strEQ(name, "KEY_STAB"))
	  result = KEY_STAB;
      else if (strEQ(name, "KEY_SUNDO"))
	  result = KEY_SUNDO;
      else if (strEQ(name, "KEY_SUSPEND"))
	  result = KEY_SUSPEND;
      else if (strEQ(name, "KEY_TAB"))
	  result = KEY_TAB;
      else if (strEQ(name, "KEY_UNDO"))
	  result = KEY_UNDO;
      else if (strEQ(name, "KEY_UP"))
	  result = KEY_UP;
      else if (strEQ(name, "SPACE"))
	 result = SPACE;
      else if (strEQ(name, "TAB"))
	 result = TAB;
      /* Else they used a format of </X> to specify a chtype. */
      else if ((fillerChtype = char2Chtype (name, &c1, &c2)) != 0) {
	  result = fillerChtype[0];
	  freeChtype (fillerChtype);
      }
      else
	 found = FALSE;
   }
   if (!found)
   {
      result = (chtype)sv2integer(sv, 0);
   }
   return result;
}

static int
sv2dtype(SV * sv)
{
   bool found = FALSE;
   int result = vINVALID;

   if (SvPOK(sv))
   {
      const char *name = SvPV(sv,PL_na);

      found = TRUE;
      if (strEQ (name, "CHAR"))
	 result = vCHAR;
      else if (strEQ (name, "HCHAR"))
	 result = vHCHAR;
      else if (strEQ (name, "INT"))
	 result = vINT;
      else if (strEQ (name, "HINT"))
	 result = vHINT;
      else if (strEQ (name, "MIXED"))
	 result = vMIXED;
      else if (strEQ (name, "HMIXED"))
	 result = vHMIXED;
      else if (strEQ (name, "UCHAR"))
	 result = vUCHAR;
      else if (strEQ (name, "LCHAR"))
	 result = vLCHAR;
      else if (strEQ (name, "UHCHAR"))
	 result = vUHCHAR;
      else if (strEQ (name, "LHCHAR"))
	 result = vLHCHAR;
      else if (strEQ (name, "UMIXED"))
	 result = vUMIXED;
      else if (strEQ (name, "LMIXED"))
	 result = vLMIXED;
      else if (strEQ (name, "UHMIXED"))
	 result = vUHMIXED;
      else if (strEQ (name, "LHMIXED"))
	 result = vLHMIXED;
      else if (strEQ (name, "VIEWONLY"))
	 result = vVIEWONLY;
      else if (strEQ (name, "NONE"))
	 result = vNONE;
      else if (strEQ (name, "PERCENT"))
	 result = vPERCENT;
      else if (strEQ (name, "REAL"))
	 result = vREAL;
      else if (strEQ (name, "PLOT"))
	 result = vPLOT;
      else if (strEQ (name, "LINE"))
	 result = vLINE;
      else
	 found = FALSE;
   }
   if (!found)
   {
      result = sv2integer(sv, vINVALID);
   }
   return result;
}

static int
sv2int(SV *sv)
{
   bool found = FALSE;
   int result = 0;

   if (SvPOK(sv))
   {
      char *name = SvPV(sv,PL_na);

      found = TRUE;
      if (strEQ(name, "BOTTOM"))
	 result = BOTTOM;
      else if (strEQ(name, "CENTER"))
	 result = CENTER;
      else if (strEQ(name, "COL"))
	 result = COL;
      else if (strEQ(name, "FALSE"))
	 result = FALSE;
      else if (strEQ(name, "FULL"))
	 result = FULL;
      else if (strEQ(name, "HORIZONTAL"))
	 result = HORIZONTAL;
      else if (strEQ(name, "LEFT"))
	 result = LEFT;
      else if (strEQ(name, "NONE"))
	 result = NONE;
      else if (strEQ(name, "NONUMBERS"))
	 result = NONUMBERS;
      else if (strEQ(name, "NUMBERS"))
	 result = NUMBERS;
      else if (strEQ(name, "RIGHT"))
	 result = RIGHT;
      else if (strEQ(name, "ROW"))
	 result = ROW;
      else if (strEQ(name, "TRUE"))
	 result = TRUE;
      else if (strEQ(name, "TOP"))
	 result = TOP;
      else if (strEQ(name, "VERTICAL"))
	 result = VERTICAL;
      else
	 found = FALSE;
   }
   if (!found)
   {
      result = sv2integer(sv, 0);
   }
   return result;
}

#if 0
static char *
sv2CharPtr(SV *inp)
{
   char *name = (char *)SvPV(inp,PL_na);
   return (name);
}

static int
not_here(char *s)
{
    croak("%s not implemented on this architecture", s);
    return -1;
}
#endif

static double
constant(char *name, int arg)
{
    (void)arg;
    errno = 0;
    switch (*name) {
    case 'A':
	break;
    case 'B':
	break;
    case 'C':
	break;
    case 'D':
	break;
    case 'E':
	break;
    case 'F':
	break;
    case 'G':
	break;
    case 'H':
	break;
    case 'I':
	break;
    case 'J':
	break;
    case 'K':
	break;
    case 'L':
	break;
    case 'M':
	break;
    case 'N':
	break;
    case 'O':
	break;
    case 'P':
	break;
    case 'Q':
	break;
    case 'R':
	break;
    case 'S':
	break;
    case 'T':
	break;
    case 'U':
	break;
    case 'V':
	break;
    case 'W':
	break;
    case 'X':
	break;
    case 'Y':
	break;
    case 'Z':
	break;
    }
    errno = EINVAL;
    return 0;
#if 0
not_there:
    errno = ENOENT;
    return 0;
#endif
}

#line 875 "Cdk.c"
#ifndef PERL_UNUSED_VAR
#  define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#ifndef dVAR
#  define dVAR		dNOOP
#endif


/* This stuff is not part of the API! You have been warned. */
#ifndef PERL_VERSION_DECIMAL
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
#endif
#ifndef PERL_DECIMAL_VERSION
#  define PERL_DECIMAL_VERSION \
	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
#endif
#ifndef PERL_VERSION_GE
#  define PERL_VERSION_GE(r,v,s) \
	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
#endif
#ifndef PERL_VERSION_LE
#  define PERL_VERSION_LE(r,v,s) \
	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
#endif

/* XS_INTERNAL is the explicit static-linkage variant of the default
 * XS macro.
 *
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
 * for anything but the BOOT XSUB.
 *
 * See XSUB.h in core!
 */


/* TODO: This might be compatible further back than 5.10.0. */
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
#  undef XS_EXTERNAL
#  undef XS_INTERNAL
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
#  endif
#  if defined(__SYMBIAN32__)
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#  endif
#  ifndef XS_EXTERNAL
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
#    else
#      ifdef __cplusplus
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
#        define XS_INTERNAL(name) static XSPROTO(name)
#      else
#        define XS_EXTERNAL(name) XSPROTO(name)
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
#      endif
#    endif
#  endif
#endif

/* perl >= 5.10.0 && perl <= 5.15.1 */


/* The XS_EXTERNAL macro is used for functions that must not be static
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
 * macro defined, the best we can do is assume XS is the same.
 * Dito for XS_INTERNAL.
 */
#ifndef XS_EXTERNAL
#  define XS_EXTERNAL(name) XS(name)
#endif
#ifndef XS_INTERNAL
#  define XS_INTERNAL(name) XS(name)
#endif

/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
 * internal macro that we're free to redefine for varying linkage due
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
 */

#undef XS_EUPXS
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
#  define XS_EUPXS(name) XS_EXTERNAL(name)
#else
   /* default to internal */
#  define XS_EUPXS(name) XS_INTERNAL(name)
#endif

#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)

/* prototype to pass -Wmissing-prototypes */
STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params);

STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params)
{
    const GV *const gv = CvGV(cv);

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

    if (gv) {
        const char *const gvname = GvNAME(gv);
        const HV *const stash = GvSTASH(gv);
        const char *const hvname = stash ? HvNAME(stash) : NULL;

        if (hvname)
	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
        else
	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
    } else {
        /* Pants. I don't think that it should be possible to get here. */
	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
    }
}
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE

#define croak_xs_usage        S_croak_xs_usage

#endif

/* NOTE: the prototype of newXSproto() is different in versions of perls,
 * so we define a portable version of newXSproto()
 */
#ifdef newXS_flags
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
#else
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
#endif /* !defined(newXS_flags) */

#if PERL_VERSION_LE(5, 21, 5)
#  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
#else
#  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
#endif

/* simple backcompat versions of the TARGx() macros with no optimisation */
#ifndef TARGi
#  define TARGi(iv, do_taint) sv_setiv_mg(TARG, iv)
#  define TARGu(uv, do_taint) sv_setuv_mg(TARG, uv)
#  define TARGn(nv, do_taint) sv_setnv_mg(TARG, nv)
#endif

#line 1026 "Cdk.c"

XS_EUPXS(XS_Cdk_getVersion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_getVersion)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	const char *	RETVAL;
	dXSTARG;
#line 870 "Cdk.xs"
	{
	    RETVAL = CDKVersion();
	}
#line 1041 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_constant); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_constant)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "name, arg");
    {
	char *	name = (char *)SvPV_nolen(ST(0))
;
	int	arg = (int)SvIV(ST(1))
;
	double	RETVAL;
	dXSTARG;

	RETVAL = constant(name, arg);
	TARGn((double)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_Beep); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_Beep)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 884 "Cdk.xs"
	{
	   Beep();
	}
#line 1082 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_init); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_init)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	CDKSCREEN *	RETVAL;
#line 891 "Cdk.xs"
	{
	   GCWINDOW	= initscr();
	   GCDKSCREEN	= initCDKScreen (GCWINDOW);

	   /* Start the colors. */
	   initCDKColor();

	   RETVAL = GCDKSCREEN;
	}
#line 1106 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSCREENPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_getColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_getColor)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pair");
    {
	int	pair = (int)SvIV(ST(0))
;
	long	RETVAL;
	dXSTARG;
#line 907 "Cdk.xs"
	{
	   (void) targ;
	   RETVAL = COLOR_PAIR(pair);
	}
#line 1134 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_end); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_end)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 917 "Cdk.xs"
	{
	   /* Kill the main screen. */
	   destroyCDKScreen (GCDKSCREEN);

	   /* Remove the curses window. */
	   delwin (GCWINDOW);

	   /* Shut down curses. */
	   endCDK();
	   kill (0, 2);
	}
#line 1161 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_getCdkScreen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_getCdkScreen)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	CDKSCREEN *	RETVAL;
#line 932 "Cdk.xs"
	{
	   RETVAL = GCDKSCREEN;
	}
#line 1179 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSCREENPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_getCdkScreenDim); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_getCdkScreenDim)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
#line 941 "Cdk.xs"
	{
	   int myY, myX;
	   getmaxyx(GCDKSCREEN->window, myY, myX);
	   XPUSHs (sv_2mortal(newSViv(myY)));
	   XPUSHs (sv_2mortal(newSViv(myX)));
	}
#line 1207 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk_getCdkWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_getCdkWindow)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	WINDOW *	RETVAL;
#line 951 "Cdk.xs"
	{
	   RETVAL = GCDKSCREEN->window;
	}
#line 1226 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_refreshCdkScreen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_refreshCdkScreen)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 961 "Cdk.xs"
	{
	   refreshCDKScreen (GCDKSCREEN);
	}
#line 1249 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_eraseCdkScreen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_eraseCdkScreen)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 968 "Cdk.xs"
	{
	   eraseCDKScreen (GCDKSCREEN);
	}
#line 1266 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_destroyCdkScreen); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_destroyCdkScreen)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 975 "Cdk.xs"
	{
	   destroyCDKScreen(GCDKSCREEN);
	}
#line 1283 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_DrawMesg); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_DrawMesg)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 6)
       croak_xs_usage(cv,  "window, mesg, attrib=A_NORMAL, xpos=CENTER, ypos=CENTER, align=HORIZONTAL");
    {
	WINDOW *	window;
	char *	mesg = (char *)SvPV_nolen(ST(1))
;
	chtype	attrib = sv2chtype (ST(2));
	int	xpos = sv2int (ST(3));
	int	ypos = sv2int (ST(4));
	int	align = sv2int (ST(5));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "WINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    window = INT2PTR(WINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::DrawMesg",
			"window", "WINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 988 "Cdk.xs"
	{
	   int mesgLen = (int) strlen (mesg);

	   writeCharAttrib (window, xpos, ypos, mesg, attrib, align, 0, mesgLen);
	}
#line 1323 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_getch); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_getch)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	chtype	RETVAL;
	dXSTARG;

	RETVAL = getch();
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk_raw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_raw)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	raw();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk_noraw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk_noraw)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	noraw();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_New)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 5)
       croak_xs_usage(cv,  "mesg, xPos=CENTER, yPos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	mesg = ST(0)
;
	int	xPos = sv2int (ST(1));
	int	yPos = sv2int (ST(2));
	int	Box = sv2int (ST(3));
	int	shadow = sv2int (ST(4));
	CDKLABEL *	RETVAL;
#line 1015 "Cdk.xs"
	{
	   CDKLABEL *	widget = (CDKLABEL *)NULL;
	   char **	message;
	   int		messageLines;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY (0, mesg, message, messageLines);

	   widget = newCDKLabel (GCDKSCREEN, xPos, yPos,
				 (CDK_CONST char **)message, messageLines,
				 Box, shadow);
	   free (message);

	   /* Check the return value. */
	   if (widget == (CDKLABEL *)NULL)
	   {
	      croak ("Cdk::Label Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = widget;
	   }
	}
#line 1415 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKLABELPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Label_SetMessage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetMessage)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, mesg");
    {
	CDKLABEL *	object;
	SV *	mesg = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetMessage",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1048 "Cdk.xs"
	{
	   char **	message;
	   int		messageLines;

	   MAKE_CHAR_ARRAY (0, mesg, message, messageLines);
	   setCDKLabelMessage (object, (CDK_CONST char **)message, messageLines);
	   free (message);
	}
#line 1460 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKLABEL *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetBox",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1062 "Cdk.xs"
	{
	   setCDKLabelBox (object,Box);
	}
#line 1493 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetULChar",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1071 "Cdk.xs"
	{
	   setCDKLabelULChar (object,character);
	}
#line 1526 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetURChar",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1080 "Cdk.xs"
	{
	   setCDKLabelURChar (object,character);
	}
#line 1559 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetLLChar",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1089 "Cdk.xs"
	{
	   setCDKLabelLLChar (object,character);
	}
#line 1592 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetLRChar",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1098 "Cdk.xs"
	{
	   setCDKLabelLRChar (object,character);
	}
#line 1625 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetVerticalChar",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1107 "Cdk.xs"
	{
	   setCDKLabelVerticalChar (object,character);
	}
#line 1658 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetHorizontalChar",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1116 "Cdk.xs"
	{
	   setCDKLabelHorizontalChar (object,character);
	}
#line 1691 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKLABEL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetBoxAttribute",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1125 "Cdk.xs"
	{
	   setCDKLabelBoxAttribute (object,character);
	}
#line 1724 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKLABEL *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::SetBackgroundColor",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1134 "Cdk.xs"
	{
	   setCDKLabelBackgroundColor (object,color);
	}
#line 1758 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKLABEL *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Draw",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1143 "Cdk.xs"
	{
	   drawCDKLabel (object, Box);
	}
#line 1791 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Erase",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1151 "Cdk.xs"
	{
	   eraseCDKLabel(object);
	}
#line 1823 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_Wait); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Wait)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, key=0");
    {
	CDKLABEL *	object;
	chtype	key = sv2chtype (ST(1));
	char	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Wait",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1160 "Cdk.xs"
	{
	   RETVAL = waitCDKLabel (object, (char) key);
	}
#line 1858 "Cdk.c"
	sv_setpvn(TARG, (char *)&RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Label_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Register",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1170 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vLABEL, object);
	}
#line 1892 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Unregister",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1178 "Cdk.xs"
	{
	   unregisterCDKObject (vLABEL, object);
	}
#line 1924 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Raise",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1186 "Cdk.xs"
	{
	   raiseCDKObject (vLABEL, object);
	}
#line 1956 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::Lower",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1194 "Cdk.xs"
	{
	   lowerCDKObject (vLABEL, object);
	}
#line 1988 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Label_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Label_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKLABELPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Label::GetWindow",
			"object", "CDKLABELPtr",
			refstr, ST(0)
		);
	}
;
#line 1202 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 2021 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Dialog_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_New)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 8)
       croak_xs_usage(cv,  "message, buttons, xPos=CENTER, yPos=CENTER, highlight=A_REVERSE, separator=TRUE, Box=TRUE, shadow=FALSE");
    {
	SV *	message = ST(0)
;
	SV *	buttons = ST(1)
;
	int	xPos = sv2int (ST(2));
	int	yPos = sv2int (ST(3));
	chtype	highlight = sv2chtype (ST(4));
	int	separator = sv2int (ST(5));
	int	Box = sv2int (ST(6));
	int	shadow = sv2int (ST(7));
	CDKDIALOG *	RETVAL;
#line 1221 "Cdk.xs"
	{
	   CDKDIALOG *	dialogWidget = (CDKDIALOG *)NULL;
	   char **	Message;
	   char **	Buttons;
	   int		buttonCount;
	   int		rowCount;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY (0, message, Message, rowCount);
	   MAKE_CHAR_ARRAY (0, buttons, Buttons, buttonCount);

	   dialogWidget = newCDKDialog (GCDKSCREEN,xPos,yPos,
					(CDK_CONST char **)Message, rowCount,
					(CDK_CONST char **)Buttons, buttonCount,
					highlight, separator,
					Box,shadow);
	   free (Message);
	   free (Buttons);

	   /* Check the return type. */
	   if (dialogWidget == (CDKDIALOG *)NULL)
	   {
	      croak ("Cdk::Dialog Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = dialogWidget;
	   }
	}
#line 2083 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKDIALOGPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Dialog_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKDIALOG *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Activate",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1259 "Cdk.xs"
	{
	   chtype *	Keys;
	   int		arrayLen;
	   int		value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKDialog (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKDialog (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 2143 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Dialog_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKDIALOG *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Inject",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1290 "Cdk.xs"
	{
	   int selection = injectCDKDialog (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 2185 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Dialog_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKDIALOG *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Bind",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1307 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vDIALOG, object, key, PerlBindCB, function);
	}
#line 2223 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKDIALOG *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::PreProcess",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1317 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKDialogPreProcess (object, PerlProcessCB, function);
	}
#line 2261 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Dialog_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKDIALOG *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::PostProcess",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1330 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKDialogPostProcess (object, PerlProcessCB, function);
	}
#line 2301 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Dialog_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKDIALOG *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Draw",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1343 "Cdk.xs"
	{
	   drawCDKDialog (object,Box);
	}
#line 2336 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Erase",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1351 "Cdk.xs"
	{
	   eraseCDKDialog (object);
	}
#line 2368 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetHighlight)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, highlight=A_REVERSE");
    {
	CDKDIALOG *	object;
	chtype	highlight = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetHighlight",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1360 "Cdk.xs"
	{
	   setCDKDialogHighlight (object,highlight);
	}
#line 2401 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetSeparator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetSeparator)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, separator=TRUE");
    {
	CDKDIALOG *	object;
	int	separator;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetSeparator",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;

	if (items < 2)
	    separator = TRUE;
	else {
	    separator = (int)SvIV(ST(1))
;
	}
#line 1369 "Cdk.xs"
	{
	   setCDKDialogSeparator (object,separator);
	}
#line 2441 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKDIALOG *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetBox",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1378 "Cdk.xs"
	{
	   setCDKDialogBox (object,Box);
	}
#line 2474 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetULChar",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1387 "Cdk.xs"
	{
	   setCDKDialogULChar (object,character);
	}
#line 2507 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetURChar",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1396 "Cdk.xs"
	{
	   setCDKDialogURChar (object,character);
	}
#line 2540 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetLLChar",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1405 "Cdk.xs"
	{
	   setCDKDialogLLChar (object,character);
	}
#line 2573 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetLRChar",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1414 "Cdk.xs"
	{
	   setCDKDialogLRChar (object,character);
	}
#line 2606 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetVerticalChar",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1423 "Cdk.xs"
	{
	   setCDKDialogVerticalChar (object,character);
	}
#line 2639 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetHorizontalChar",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1432 "Cdk.xs"
	{
	   setCDKDialogHorizontalChar (object,character);
	}
#line 2672 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKDIALOG *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetBoxAttribute",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1441 "Cdk.xs"
	{
	   setCDKDialogBoxAttribute (object,character);
	}
#line 2705 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKDIALOG *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::SetBackgroundColor",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1450 "Cdk.xs"
	{
	   setCDKDialogBackgroundColor (object,color);
	}
#line 2739 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Register",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1458 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vDIALOG, object);
	}
#line 2771 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Unregister",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1466 "Cdk.xs"
	{
	   unregisterCDKObject (vDIALOG, object);
	}
#line 2803 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Raise",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1474 "Cdk.xs"
	{
	   raiseCDKObject (vDIALOG, object);
	}
#line 2835 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::Lower",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1482 "Cdk.xs"
	{
	   lowerCDKObject (vDIALOG, object);
	}
#line 2867 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Dialog_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Dialog_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKDIALOGPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Dialog::GetWindow",
			"object", "CDKDIALOGPtr",
			refstr, ST(0)
		);
	}
;
#line 1490 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 2900 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scroll_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_New)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 11)
       croak_xs_usage(cv,  "title, mesg, height, width, xPos=CENTER, yPos=CENTER, sPos=RIGHT, numbers=TRUE, highlight=A_REVERSE, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	SV *	mesg = ST(1)
;
	int	height = (int)SvIV(ST(2))
;
	int	width = (int)SvIV(ST(3))
;
	int	xPos = sv2int (ST(4));
	int	yPos = sv2int (ST(5));
	int	sPos = sv2int (ST(6));
	int	numbers = sv2int (ST(7));
	chtype	highlight = sv2chtype (ST(8));
	int	Box = sv2int (ST(9));
	int	shadow = sv2int (ST(10));
	CDKSCROLL *	RETVAL;
#line 1512 "Cdk.xs"
	{
	   CDKSCROLL *	scrollWidget = 0;
	   char **	Message;
	   char *	Title;
	   int		mesglen;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY(0, mesg, Message, mesglen);
	   MAKE_TITLE (title,Title);

	   scrollWidget = newCDKScroll (GCDKSCREEN, xPos, yPos, sPos,
					height, width,
					Title,
					(CDK_CONST char **)Message, mesglen,
					numbers, highlight,
					Box, shadow);
	   free (Message);
	   free (Title);

	   /* Check the return type. */
	   if (scrollWidget == (CDKSCROLL *)NULL)
	   {
	      croak ("Cdk::Scroll Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = scrollWidget;
	   }
	}
#line 2967 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSCROLLPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scroll_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKSCROLL *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Activate",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1550 "Cdk.xs"
	{
	   chtype *	Keys;
	   int		arrayLen;
	   int		value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKScroll (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKScroll (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 3027 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scroll_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKSCROLL *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Inject",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1581 "Cdk.xs"
	{
	   int selection = injectCDKScroll (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 3069 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scroll_Add); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Add)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, line");
    {
	CDKSCROLL *	object;
	char *	line = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Add",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1597 "Cdk.xs"
	{
	   addCDKScrollItem (object,line);
	}
#line 3105 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Delete); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Delete)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, position");
    {
	CDKSCROLL *	object;
	int	position = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Delete",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1606 "Cdk.xs"
	{
	   deleteCDKScrollItem (object,position);
	}
#line 3138 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKSCROLL *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Bind",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1616 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vSCROLL, object, key, PerlBindCB, function);
	}
#line 3174 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSCROLL *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::PreProcess",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1626 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKScrollPreProcess (object, PerlProcessCB, function);
	}
#line 3212 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scroll_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSCROLL *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::PostProcess",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1639 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKScrollPostProcess (object, PerlProcessCB, function);
	}
#line 3252 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scroll_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSCROLL *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Draw",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1652 "Cdk.xs"
	{
	   drawCDKScroll (object,Box);
	}
#line 3287 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Erase",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1660 "Cdk.xs"
	{
	   eraseCDKScroll(object);
	}
#line 3319 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Info); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Info)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Info",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1668 "Cdk.xs"
	{
	   int currentItem = object->currentItem;
	   int size = object->listSize;

	   XPUSHs (sv_2mortal (newSViv(size)));
	   XPUSHs (sv_2mortal (newSViv(currentItem)));
	}
#line 3357 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Scroll_SetItems); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetItems)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "object, cItems, numbers=FALSE");
    {
	CDKSCROLL *	object;
	SV *	cItems = ST(1)
;
	int	numbers = sv2int (ST(2));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetItems",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1682 "Cdk.xs"
	{
	   char **	Items;
	   int		itemLength;

	   MAKE_CHAR_ARRAY(0, cItems, Items, itemLength);
	   setCDKScrollItems (object, (CDK_CONST char **)Items, itemLength, numbers);
	   free (Items);
	}
#line 3398 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, highlight");
    {
	CDKSCROLL *	object;
	chtype	highlight = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetHighlight",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1696 "Cdk.xs"
	{
	   setCDKScrollHighlight (object,highlight);
	}
#line 3431 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSCROLL *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetBox",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1705 "Cdk.xs"
	{
	   setCDKScrollBox (object,Box);
	}
#line 3464 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetULChar",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1714 "Cdk.xs"
	{
	   setCDKScrollULChar (object,character);
	}
#line 3497 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetURChar",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1723 "Cdk.xs"
	{
	   setCDKScrollURChar (object,character);
	}
#line 3530 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetLLChar",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1732 "Cdk.xs"
	{
	   setCDKScrollLLChar (object,character);
	}
#line 3563 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetLRChar",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1741 "Cdk.xs"
	{
	   setCDKScrollLRChar (object,character);
	}
#line 3596 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetVerticalChar",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1750 "Cdk.xs"
	{
	   setCDKScrollVerticalChar (object,character);
	}
#line 3629 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetHorizontalChar",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1759 "Cdk.xs"
	{
	   setCDKScrollHorizontalChar (object,character);
	}
#line 3662 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSCROLL *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetBoxAttribute",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1768 "Cdk.xs"
	{
	   setCDKScrollBoxAttribute (object,character);
	}
#line 3695 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKSCROLL *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::SetBackgroundColor",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1777 "Cdk.xs"
	{
	   setCDKScrollBackgroundColor (object,color);
	}
#line 3729 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Register",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1785 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vSCROLL, object);
	}
#line 3761 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Unregister",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1793 "Cdk.xs"
	{
	   unregisterCDKObject (vSCROLL, object);
	}
#line 3793 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Raise",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1801 "Cdk.xs"
	{
	   raiseCDKObject (vSCROLL, object);
	}
#line 3825 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::Lower",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1809 "Cdk.xs"
	{
	   lowerCDKObject (vSCROLL, object);
	}
#line 3857 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scroll_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scroll_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCROLLPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scroll::GetWindow",
			"object", "CDKSCROLLPtr",
			refstr, ST(0)
		);
	}
;
#line 1817 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 3890 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scale_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_New)
{
    dVAR; dXSARGS;
    if (items < 8 || items > 13)
       croak_xs_usage(cv,  "title, label, start, low, high, inc, fastinc, fieldwidth, xPos=CENTER, yPos=CENTER, fieldattr=A_NORMAL, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	int	start = (int)SvIV(ST(2))
;
	int	low = (int)SvIV(ST(3))
;
	int	high = (int)SvIV(ST(4))
;
	int	inc = (int)SvIV(ST(5))
;
	int	fastinc = (int)SvIV(ST(6))
;
	int	fieldwidth = (int)SvIV(ST(7))
;
	int	xPos = sv2int (ST(8));
	int	yPos = sv2int (ST(9));
	chtype	fieldattr = sv2chtype (ST(10));
	int	Box = sv2int (ST(11));
	int	shadow = sv2int (ST(12));
	CDKSCALE *	RETVAL;
#line 1841 "Cdk.xs"
	{
	   CDKSCALE *	scaleWidget = (CDKSCALE *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   scaleWidget = newCDKScale (GCDKSCREEN,xPos,yPos,
					Title,label,
					fieldattr,fieldwidth,
					start,low,high,inc,fastinc,
					Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (scaleWidget == (CDKSCALE *)NULL)
	   {
	      croak ("Cdk::Scale Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = scaleWidget;
	   }
	}
#line 3958 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSCALEPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scale_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKSCALE *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Activate",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1874 "Cdk.xs"
	{
	   chtype *	Keys;
	   int		arrayLen;
	   int		value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKScale (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKScale (object, NULL);
	   }

	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 4018 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scale_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKSCALE *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Inject",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1905 "Cdk.xs"
	{
	   int value = injectCDKScale (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 4061 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scale_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKSCALE *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Bind",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1923 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vSCALE, object, key, PerlBindCB, function);
	}
#line 4099 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSCALE *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::PreProcess",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1933 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKScalePreProcess (object, PerlProcessCB, function);
	}
#line 4137 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scale_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSCALE *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::PostProcess",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1946 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKScalePostProcess (object, PerlProcessCB, function);
	}
#line 4177 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Scale_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSCALE *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Draw",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1959 "Cdk.xs"
	{
	   drawCDKScale (object,Box);
	}
#line 4212 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Erase",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1967 "Cdk.xs"
	{
	   eraseCDKScale(object);
	}
#line 4244 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKSCALE *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetValue",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1976 "Cdk.xs"
	{
	   setCDKScaleValue (object,value);
	}
#line 4278 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetLowHigh); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetLowHigh)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, low, high");
    {
	CDKSCALE *	object;
	int	low = (int)SvIV(ST(1))
;
	int	high = (int)SvIV(ST(2))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetLowHigh",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1986 "Cdk.xs"
	{
	   setCDKScaleLowHigh (object,low,high);
	}
#line 4314 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSCALE *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetBox",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 1995 "Cdk.xs"
	{
	   setCDKScaleBox (object,Box);
	}
#line 4347 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetULChar",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2004 "Cdk.xs"
	{
	   setCDKScaleULChar (object,character);
	}
#line 4380 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetURChar",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2013 "Cdk.xs"
	{
	   setCDKScaleURChar (object,character);
	}
#line 4413 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetLLChar",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2022 "Cdk.xs"
	{
	   setCDKScaleLLChar (object,character);
	}
#line 4446 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetLRChar",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2031 "Cdk.xs"
	{
	   setCDKScaleLRChar (object,character);
	}
#line 4479 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetVerticalChar",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2040 "Cdk.xs"
	{
	   setCDKScaleVerticalChar (object,character);
	}
#line 4512 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetHorizontalChar",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2049 "Cdk.xs"
	{
	   setCDKScaleHorizontalChar (object,character);
	}
#line 4545 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSCALE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetBoxAttribute",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2058 "Cdk.xs"
	{
	   setCDKScaleBoxAttribute (object,character);
	}
#line 4578 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKSCALE *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::SetBackgroundColor",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2067 "Cdk.xs"
	{
	   setCDKScaleBackgroundColor (object,color);
	}
#line 4612 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Register",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2075 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vSCALE, object);
	}
#line 4644 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Unregister",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2083 "Cdk.xs"
	{
	   unregisterCDKObject (vSCALE, object);
	}
#line 4676 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Raise",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2091 "Cdk.xs"
	{
	   raiseCDKObject (vSCALE, object);
	}
#line 4708 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::Lower",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2099 "Cdk.xs"
	{
	   lowerCDKObject (vSCALE, object);
	}
#line 4740 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Scale_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Scale_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSCALEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Scale::GetWindow",
			"object", "CDKSCALEPtr",
			refstr, ST(0)
		);
	}
;
#line 2107 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 4773 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Histogram_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_New)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 8)
       croak_xs_usage(cv,  "title, height, width, orient=HORIZONTAL, xPos=CENTER, yPos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	int	height = (int)SvIV(ST(1))
;
	int	width = (int)SvIV(ST(2))
;
	int	orient = sv2int (ST(3));
	int	xPos = sv2int (ST(4));
	int	yPos = sv2int (ST(5));
	int	Box = sv2int (ST(6));
	int	shadow = sv2int (ST(7));
	CDKHISTOGRAM *	RETVAL;
#line 2126 "Cdk.xs"
	{
	   CDKHISTOGRAM * histWidget = (CDKHISTOGRAM *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   histWidget = newCDKHistogram (GCDKSCREEN,xPos,yPos,height,width,orient,Title,Box,shadow);

	   free (Title);

	   /* Check the return type. */
	   if (histWidget == (CDKHISTOGRAM *)NULL)
	   {
	      croak ("Cdk::Histogram Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = histWidget;
	   }
	}
#line 4828 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKHISTOGRAMPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Histogram_SetDisplayType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetDisplayType)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, value=\"vPERCENT\"");
    {
	CDKHISTOGRAM *	object;
	const char *	value;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetDisplayType",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;

	if (items < 2)
	    value = "vPERCENT";
	else {
	    value = (const char *)SvPV_nolen(ST(1))
;
	}
#line 2157 "Cdk.xs"
	{
	   EHistogramDisplayType displayType = vPERCENT;

	   /* Set the stats type.		*/
	   if (strEQ (value, "PERCENT"))
	      displayType = vPERCENT;
	   if (strEQ (value, "FRACTION"))
	      displayType = vFRACTION;
	   if (strEQ (value, "REAL"))
	      displayType = vREAL;
	   if (strEQ (value, "NONE"))
	      displayType = vNONE;

	   setCDKHistogramDisplayType (object,displayType);
	}
#line 4886 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetValue)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "object, value, low, high");
    {
	CDKHISTOGRAM *	object;
	int	value = (int)SvIV(ST(1))
;
	int	low = (int)SvIV(ST(2))
;
	int	high = (int)SvIV(ST(3))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetValue",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2180 "Cdk.xs"
	{
	   setCDKHistogramValue (object,value,low,high);
	}
#line 4924 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetFillerChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetFillerChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKHISTOGRAM *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetFillerChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2189 "Cdk.xs"
	{
	   setCDKHistogramFillerChar (object,value);
	}
#line 4957 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetStatsPos); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetStatsPos)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKHISTOGRAM *	object;
	int	value = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetStatsPos",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2198 "Cdk.xs"
	{
	   setCDKHistogramStatsPos (object,value);
	}
#line 4990 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetStatsAttr); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetStatsAttr)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKHISTOGRAM *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetStatsAttr",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2207 "Cdk.xs"
	{
	   setCDKHistogramStatsAttr (object,value);
	}
#line 5023 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKHISTOGRAM *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetBox",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2216 "Cdk.xs"
	{
	   setCDKHistogramBox (object,Box);
	}
#line 5056 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetULChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2225 "Cdk.xs"
	{
	   setCDKHistogramULChar (object,character);
	}
#line 5089 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetURChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2234 "Cdk.xs"
	{
	   setCDKHistogramURChar (object,character);
	}
#line 5122 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetLLChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2243 "Cdk.xs"
	{
	   setCDKHistogramLLChar (object,character);
	}
#line 5155 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetLRChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2252 "Cdk.xs"
	{
	   setCDKHistogramLRChar (object,character);
	}
#line 5188 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetVerticalChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2261 "Cdk.xs"
	{
	   setCDKHistogramVerticalChar (object,character);
	}
#line 5221 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetHorizontalChar",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2270 "Cdk.xs"
	{
	   setCDKHistogramHorizontalChar (object,character);
	}
#line 5254 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKHISTOGRAM *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetBoxAttribute",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2279 "Cdk.xs"
	{
	   setCDKHistogramBoxAttribute (object,character);
	}
#line 5287 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKHISTOGRAM *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::SetBackgroundColor",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2288 "Cdk.xs"
	{
	   setCDKHistogramBackgroundColor (object,color);
	}
#line 5321 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKHISTOGRAM *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::Draw",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2297 "Cdk.xs"
	{
	   drawCDKHistogram (object,Box);
	}
#line 5354 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::Erase",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2305 "Cdk.xs"
	{
	   eraseCDKHistogram (object);
	}
#line 5386 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::Register",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2313 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vHISTOGRAM, object);
	}
#line 5418 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::Unregister",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2321 "Cdk.xs"
	{
	   unregisterCDKObject (vHISTOGRAM, object);
	}
#line 5450 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::Raise",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2329 "Cdk.xs"
	{
	   raiseCDKObject (vHISTOGRAM, object);
	}
#line 5482 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::Lower",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2337 "Cdk.xs"
	{
	   lowerCDKObject (vHISTOGRAM, object);
	}
#line 5514 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Histogram_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Histogram_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKHISTOGRAMPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Histogram::GetWindow",
			"object", "CDKHISTOGRAMPtr",
			refstr, ST(0)
		);
	}
;
#line 2345 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 5547 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Menu_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_New)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 5)
       croak_xs_usage(cv,  "menulist, menuloc, titleattr=A_REVERSE, subtitleattr=A_REVERSE, menuPos=TOP");
    {
	SV *	menulist = ST(0)
;
	SV *	menuloc = ST(1)
;
	chtype	titleattr = sv2chtype (ST(2));
	chtype	subtitleattr = sv2chtype (ST(3));
	int	menuPos = sv2int (ST(4));
	CDKMENU *	RETVAL;
#line 2361 "Cdk.xs"
	{
	   const char *	menuList[MAX_MENU_ITEMS][MAX_SUB_ITEMS];
	   int		subSize[MAX_SUB_ITEMS];
	   int *	menuLoc;
	   int		menulen;
	   int		loclen;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_MENU_MATRIX(0, menulist, menuList, subSize, menulen);

	   MAKE_INT_ARRAY (0, menuloc, menuLoc, loclen);
	   if (menulen != loclen)
	   {
	      croak ("Cdk::Menu The menu list and menu location arrays are not the same size.");
	   }
	   RETVAL = newCDKMenu (GCDKSCREEN,
				menuList,
				menulen,
				subSize,
				menuLoc,
				menuPos,
				titleattr,
				subtitleattr);

	   free (menuLoc);
	}
#line 5603 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKMENUPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Menu_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKMENU *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Activate",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2396 "Cdk.xs"
	{
	   chtype *	Keys;
	   int		arrayLen;
	   int		value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKMenu (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKMenu (object, (void *)0);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 5663 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Menu_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKMENU *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Inject",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2427 "Cdk.xs"
	{
	   int selection = injectCDKMenu (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 5705 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Menu_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKMENU *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Bind",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2444 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vMENU, object, key, PerlBindCB, function);
	}
#line 5743 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKMENU *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::PreProcess",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2454 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKMenuPreProcess (object, PerlProcessCB, function);
	}
#line 5781 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Menu_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKMENU *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::PostProcess",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2467 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKMenuPostProcess (object, PerlProcessCB, function);
	}
#line 5821 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Menu_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Draw)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, Box");
    {
	CDKMENU *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Draw",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2480 "Cdk.xs"
	{
	   drawCDKMenu (object, Box);
	}
#line 5856 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENU *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Erase",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2488 "Cdk.xs"
	{
	   eraseCDKMenu (object);
	}
#line 5888 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_SetCurrentItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_SetCurrentItem)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, menuitem, submenuitem");
    {
	CDKMENU *	object;
	int	menuitem = (int)SvIV(ST(1))
;
	int	submenuitem = (int)SvIV(ST(2))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::SetCurrentItem",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2498 "Cdk.xs"
	{
	   setCDKMenuCurrentItem(object,menuitem,submenuitem);
	}
#line 5924 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_SetTitleHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_SetTitleHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKMENU *	object;
	chtype	value = (chtype)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::SetTitleHighlight",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2507 "Cdk.xs"
	{
	   setCDKMenuTitleHighlight (object,value);
	}
#line 5958 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_SetSubTitleHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_SetSubTitleHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKMENU *	object;
	chtype	value = (chtype)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::SetSubTitleHighlight",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2516 "Cdk.xs"
	{
	   setCDKMenuSubTitleHighlight (object,value);
	}
#line 5992 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKMENU *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::SetBackgroundColor",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2525 "Cdk.xs"
	{
	   setCDKMenuBackgroundColor (object,value);
	}
#line 6026 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENU *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Register",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2533 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vMENU, object);
	}
#line 6058 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENU *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Unregister",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2541 "Cdk.xs"
	{
	   unregisterCDKObject (vMENU, object);
	}
#line 6090 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENU *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Raise",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2549 "Cdk.xs"
	{
	   raiseCDKObject (vMENU, object);
	}
#line 6122 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Menu_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Menu_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENU *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENUPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Menu::Lower",
			"object", "CDKMENUPtr",
			refstr, ST(0)
		);
	}
;
#line 2557 "Cdk.xs"
	{
	   lowerCDKObject (vMENU, object);
	}
#line 6154 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_New)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 12)
       croak_xs_usage(cv,  "title, label, min, max, fieldWidth, filler=\".\", disptype=vMIXED, xPos=CENTER, yPos=CENTER, fieldattr=A_NORMAL, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	int	min = (int)SvIV(ST(2))
;
	int	max = (int)SvIV(ST(3))
;
	int	fieldWidth = (int)SvIV(ST(4))
;
	chtype	filler = sv2chtype (ST(5));
	int	disptype = sv2dtype (ST(6));
	int	xPos = sv2int (ST(7));
	int	yPos = sv2int (ST(8));
	chtype	fieldattr = sv2chtype (ST(9));
	int	Box = sv2int (ST(10));
	int	shadow = sv2int (ST(11));
	CDKENTRY *	RETVAL;
#line 2578 "Cdk.xs"
	{
	   CDKENTRY *	entryWidget = (CDKENTRY *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   entryWidget = newCDKEntry (GCDKSCREEN,xPos,yPos,
					Title,label,
					fieldattr,filler,(EDisplayType) disptype,
					fieldWidth,min,max,
					Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (entryWidget == (CDKENTRY *)NULL)
	   {
	      croak ("Cdk::Entry Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = entryWidget;
	   }
	}
#line 6212 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKENTRYPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Entry_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKENTRY *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Activate",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2611 "Cdk.xs"
	{
	   chtype *	Keys;
	   int		arrayLen;
	   char *	value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKEntry (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKEntry (object, NULL);
	   }

	   if (object->exitType != vNORMAL)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 6271 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Entry_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKENTRY *	object;
	chtype	key = sv2chtype (ST(1));
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Inject",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2641 "Cdk.xs"
	{
	   char *value = injectCDKEntry (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 6314 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Entry_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKENTRY *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Bind",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2659 "Cdk.xs"
	{
	   SV *function = newSVsv(functionRef);
	   bindCDKObject (vENTRY, object, key, PerlBindCB, function);
	}
#line 6352 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKENTRY *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::PreProcess",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2669 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKEntryPreProcess (object, PerlProcessCB, function);
	}
#line 6390 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Entry_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKENTRY *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::PostProcess",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2682 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKEntryPostProcess (object, PerlProcessCB, function);
	}
#line 6430 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Entry_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKENTRY *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Draw",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2695 "Cdk.xs"
	{
	   drawCDKEntry (object, Box);
	}
#line 6465 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Erase",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2703 "Cdk.xs"
	{
	   eraseCDKEntry (object);
	}
#line 6497 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKENTRY *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetValue",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2712 "Cdk.xs"
	{
	   setCDKEntryValue (object, value);
	}
#line 6531 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetMin); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetMin)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKENTRY *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetMin",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2721 "Cdk.xs"
	{
	   setCDKEntryMin (object, value);
	}
#line 6565 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetMax); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetMax)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKENTRY *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetMax",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2730 "Cdk.xs"
	{
	   setCDKEntryMax (object, value);
	}
#line 6599 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetFillerChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetFillerChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKENTRY *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetFillerChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2739 "Cdk.xs"
	{
	   setCDKEntryFillerChar (object, value);
	}
#line 6632 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetHiddenChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetHiddenChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKENTRY *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetHiddenChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2748 "Cdk.xs"
	{
	   setCDKEntryHiddenChar (object, value);
	}
#line 6665 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKENTRY *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetBox",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2757 "Cdk.xs"
	{
	   setCDKEntryBox (object,Box);
	}
#line 6698 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetULChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2766 "Cdk.xs"
	{
	   setCDKEntryULChar (object,character);
	}
#line 6731 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetURChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2775 "Cdk.xs"
	{
	   setCDKEntryURChar (object,character);
	}
#line 6764 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetLLChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2784 "Cdk.xs"
	{
	   setCDKEntryLLChar (object,character);
	}
#line 6797 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetLRChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2793 "Cdk.xs"
	{
	   setCDKEntryLRChar (object,character);
	}
#line 6830 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetVerticalChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2802 "Cdk.xs"
	{
	   setCDKEntryVerticalChar (object,character);
	}
#line 6863 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetHorizontalChar",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2811 "Cdk.xs"
	{
	   setCDKEntryHorizontalChar (object,character);
	}
#line 6896 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetBoxAttribute",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2820 "Cdk.xs"
	{
	   setCDKEntryBoxAttribute (object,character);
	}
#line 6929 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKENTRY *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::SetBackgroundColor",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2829 "Cdk.xs"
	{
	   setCDKEntryBackgroundColor (object,color);
	}
#line 6963 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Get)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Get",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2837 "Cdk.xs"
	{
	   RETVAL = getCDKEntryValue (object);
	}
#line 6997 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Entry_Clean); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Clean)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Clean",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2847 "Cdk.xs"
	{
	   cleanCDKEntry (object);
	}
#line 7031 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Register",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2855 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vENTRY, object);
	}
#line 7063 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Unregister",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2863 "Cdk.xs"
	{
	   unregisterCDKObject (vENTRY, object);
	}
#line 7095 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Raise",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2871 "Cdk.xs"
	{
	   raiseCDKObject (vENTRY, object);
	}
#line 7127 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::Lower",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2879 "Cdk.xs"
	{
	   lowerCDKObject (vENTRY, object);
	}
#line 7159 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Entry_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Entry_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Entry::GetWindow",
			"object", "CDKENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2887 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 7192 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_New)
{
    dVAR; dXSARGS;
    if (items < 6 || items > 13)
       croak_xs_usage(cv,  "title, label, min, physical, logical, fieldWidth, disptype=vMIXED, filler=\".\", xPos=CENTER, yPos=CENTER, fieldattr=A_NORMAL, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	int	min = (int)SvIV(ST(2))
;
	int	physical = (int)SvIV(ST(3))
;
	int	logical = (int)SvIV(ST(4))
;
	int	fieldWidth = (int)SvIV(ST(5))
;
	int	disptype = sv2dtype (ST(6));
	chtype	filler = sv2chtype (ST(7));
	int	xPos = sv2int (ST(8));
	int	yPos = sv2int (ST(9));
	chtype	fieldattr = sv2chtype (ST(10));
	int	Box = sv2int (ST(11));
	int	shadow = sv2int (ST(12));
	CDKMENTRY *	RETVAL;
#line 2911 "Cdk.xs"
	{
	   CDKMENTRY *	mentryWidget = (CDKMENTRY *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   mentryWidget = newCDKMentry (GCDKSCREEN,xPos,yPos,
					Title,label,
					fieldattr,filler,
					(EDisplayType) disptype,fieldWidth,
					physical,logical,min,
					Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (mentryWidget == (CDKMENTRY *)NULL)
	   {
	      croak ("Cdk::Mentry Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = mentryWidget;
	   }
	}
#line 7259 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKMENTRYPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKMENTRY *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Activate",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2945 "Cdk.xs"
	{
	   chtype *	Keys;
	   int		arrayLen;
	   char *	value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKMentry (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKMentry (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 7319 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKMENTRY *	object;
	chtype	key = sv2chtype (ST(1));
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Inject",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2976 "Cdk.xs"
	{
	   char *value = injectCDKMentry (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 7362 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKMENTRY *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Bind",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 2994 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vMENTRY, object, key, PerlBindCB, function);
	}
#line 7400 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKMENTRY *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::PreProcess",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3004 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKMentryPreProcess (object, PerlProcessCB, function);
	}
#line 7438 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKMENTRY *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::PostProcess",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3017 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKMentryPostProcess (object, PerlProcessCB, function);
	}
#line 7478 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKMENTRY *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Draw",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3030 "Cdk.xs"
	{
	   drawCDKMentry (object,Box);
	}
#line 7513 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Erase",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3038 "Cdk.xs"
	{
	   eraseCDKMentry (object);
	}
#line 7545 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKMENTRY *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetValue",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3047 "Cdk.xs"
	{
	   setCDKMentryValue (object,value);
	}
#line 7579 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetMin); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetMin)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKMENTRY *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetMin",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3056 "Cdk.xs"
	{
	   int min = value;

	   if (value < 0)
	   {
	      min = object->min;
	   }

	   setCDKMentryMin (object,min);
	}
#line 7620 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetFillerChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetFillerChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKMENTRY *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetFillerChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3072 "Cdk.xs"
	{
	   setCDKMentryFillerChar (object,value);
	}
#line 7653 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKMENTRY *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetBox",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3081 "Cdk.xs"
	{
	   setCDKMentryBox (object,Box);
	}
#line 7686 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetULChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3090 "Cdk.xs"
	{
	   setCDKMentryULChar (object,character);
	}
#line 7719 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetURChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3099 "Cdk.xs"
	{
	   setCDKMentryURChar (object,character);
	}
#line 7752 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetLLChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3108 "Cdk.xs"
	{
	   setCDKMentryLLChar (object,character);
	}
#line 7785 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetLRChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3117 "Cdk.xs"
	{
	   setCDKMentryLRChar (object,character);
	}
#line 7818 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetVerticalChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3126 "Cdk.xs"
	{
	   setCDKMentryVerticalChar (object,character);
	}
#line 7851 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetHorizontalChar",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3135 "Cdk.xs"
	{
	   setCDKMentryHorizontalChar (object,character);
	}
#line 7884 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKMENTRY *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetBoxAttribute",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3144 "Cdk.xs"
	{
	   setCDKMentryBoxAttribute (object,character);
	}
#line 7917 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKMENTRY *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::SetBackgroundColor",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3153 "Cdk.xs"
	{
	   setCDKMentryBackgroundColor (object,color);
	}
#line 7951 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Get)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Get",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3161 "Cdk.xs"
	{
	   RETVAL = object->info;
	}
#line 7985 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Mentry_Clean); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Clean)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Clean",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3171 "Cdk.xs"
	{
	   cleanCDKMentry (object);
	}
#line 8019 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Register",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3179 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vMENTRY, object);
	}
#line 8051 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Unregister",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3187 "Cdk.xs"
	{
	   unregisterCDKObject (vMENTRY, object);
	}
#line 8083 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Raise",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3195 "Cdk.xs"
	{
	   raiseCDKObject (vMENTRY, object);
	}
#line 8115 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::Lower",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3203 "Cdk.xs"
	{
	   lowerCDKObject (vMENTRY, object);
	}
#line 8147 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Mentry_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Mentry_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMENTRYPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Mentry::GetWindow",
			"object", "CDKMENTRYPtr",
			refstr, ST(0)
		);
	}
;
#line 3211 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 8180 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_New)
{
    dVAR; dXSARGS;
    if (items < 7 || items > 16)
       croak_xs_usage(cv,  "title, rowtitles, coltitles, colwidths, coltypes, vrows, vcols, xPos=CENTER, yPos=CENTER, rowspace=1, colspace=1, filler=\".\", dominant=NONE, boxMatrix=FALSE, boxCell=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	SV *	rowtitles = ST(1)
;
	SV *	coltitles = ST(2)
;
	SV *	colwidths = ST(3)
;
	SV *	coltypes = ST(4)
;
	int	vrows = (int)SvIV(ST(5))
;
	int	vcols = (int)SvIV(ST(6))
;
	int	xPos = sv2int (ST(7));
	int	yPos = sv2int (ST(8));
	int	rowspace;
	int	colspace;
	chtype	filler = sv2chtype (ST(11));
	int	dominant = sv2int (ST(12));
	int	boxMatrix = sv2int (ST(13));
	int	boxCell = sv2int (ST(14));
	int	shadow = sv2int (ST(15));
	CDKMATRIX *	RETVAL;

	if (items < 10)
	    rowspace = 1;
	else {
	    rowspace = (int)SvIV(ST(9))
;
	}

	if (items < 11)
	    colspace = 1;
	else {
	    colspace = (int)SvIV(ST(10))
;
	}
#line 3238 "Cdk.xs"
	{
	   CDKMATRIX * matrixWidget = (CDKMATRIX *)NULL;
	   char **	colTitles;
	   char **	rowTitles;
	   char *	Title;
	   int *	colWidths;
	   int *	colTypes;
	   int	rows, cols, widths, dtype;

	   checkCdkInit();
	   RETVAL = 0;

	   /* Make the arrays. */
	   MAKE_CHAR_ARRAY (1, rowtitles, rowTitles, rows);
	   MAKE_CHAR_ARRAY (1, coltitles, colTitles, cols);
	   MAKE_INT_ARRAY (1, colwidths, colWidths, widths);
	   MAKE_DTYPE_ARRAY (1, coltypes, colTypes, dtype);
	   MAKE_TITLE (title,Title);

	   /* Now check them... */
	   if (cols != widths)
	   {
	      croak ("Cdk::Matrix The col title array size is not the same as the widths array size.");
	   }
	   if (cols != dtype)
	   {
	      croak ("Cdk::Matrix The col title array size is not the same as the column value array size.");
	   }
	   if (vrows > rows || vcols > cols)
	   {
	      croak ("Cdk::Matrix The virtual matrix size is larger then the physical size.");
	   }

	   /* OK, everything is ok. Lets make the matrix. */
	   matrixWidget = newCDKMatrix (GCDKSCREEN,
					xPos, yPos,
					rows, cols,
					vrows, vcols,
					Title,
					(CDK_CONST char **)rowTitles,
					(CDK_CONST char **)colTitles,
					colWidths, colTypes,
					rowspace, colspace, filler,
					dominant,
					boxMatrix, boxCell, shadow);

	   /* Check the return type. */
	   if (matrixWidget == (CDKMATRIX *)NULL)
	   {
	      croak ("Cdk::Matrix Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = matrixWidget;
	   }
	   free (colTitles);
	   free (rowTitles);
	   free (colWidths);
	   free (colTypes);
	   free (Title);
	}
#line 8299 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKMATRIXPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Activate",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3306 "Cdk.xs"
	{
	   AV *		cellInfo = newAV();
	   chtype *	Keys;
	   int x, y, arrayLen;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      (void) activateCDKMatrix (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      (void) activateCDKMatrix (object, NULL);
	   }

	   /* Check the exit status.	*/
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }

	   /* Take the info from the matrix and make an array out of it. */
	   for (x=1; x <= object->rows; x++)
	   {
	      AV * av	= newAV();

	      for (y=1; y <= object->cols; y++)
	      {
		 char *data = object->info[CELL_INDEX(object,x,y)];
		 av_push (av, newSVpv (data, strlen (data)));
	      }

	      av_push (cellInfo, newRV((SV *)av));
	   }

	   /* Push the values on the return stack.	*/
	   XPUSHs (sv_2mortal(newSViv(object->rows)));
	   XPUSHs (sv_2mortal(newSViv(object->cols)));
	   XPUSHs (sv_2mortal(newRV((SV*)cellInfo)));
	}
#line 8378 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Matrix_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKMATRIX *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Inject",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3354 "Cdk.xs"
	{
	   int selection = injectCDKMatrix (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 8419 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKMATRIX *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Bind",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3371 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vMATRIX, object, key, PerlBindCB, function);
	}
#line 8457 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKMATRIX *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::PreProcess",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3381 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKMatrixPreProcess (object, PerlProcessCB, function);
	}
#line 8495 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKMATRIX *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::PostProcess",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3394 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKMatrixPostProcess (object, PerlProcessCB, function);
	}
#line 8535 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_GetDim); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_GetDim)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::GetDim",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3406 "Cdk.xs"
	{
	   XPUSHs (sv_2mortal(newSViv(object->rows)));
	   XPUSHs (sv_2mortal(newSViv(object->cols)));
	}
#line 8572 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Matrix_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKMATRIX *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Draw",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3416 "Cdk.xs"
	{
	   drawCDKMatrix (object,Box);
	}
#line 8606 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Erase",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3424 "Cdk.xs"
	{
	   eraseCDKMatrix (object);
	}
#line 8638 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_Set); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Set)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, info");
    {
	CDKMATRIX *	object;
	SV *	info = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Set",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3433 "Cdk.xs"
	{
	   char **	Info;
	   int *	subSize;
	   int		matrixlen;
	   int		width = 1;

	   AV *array	= (AV *)SvRV(info);
	   int x, y;

	   matrixlen	= (int)av_len (array) + 1;
	   subSize	= (int *)calloc((size_t)matrixlen + 2, sizeof(int));

	   if (subSize != 0)
	   {
	      for (x = 1; x <= matrixlen; x++)
	      {
		 SV *name		= *av_fetch(array, x - 1, FALSE);
		 AV *subArray	= (AV *)SvRV(name);
		 int subLen	= (int)av_len (subArray) + 1;
		 width = MAXIMUM(width, subLen);
	      }
	      Info = (char **)calloc((size_t)((width + 1) * (matrixlen + 1)), sizeof(char *));

	      if (Info != 0)
	      {
		 for (x = 1; x <= matrixlen; x++)
		 {
		    SV *name		= *av_fetch(array, x - 1, FALSE);
		    AV *subArray	= (AV *)SvRV(name);
		    int subLen	= (int)av_len (subArray) + 1;
		    subSize[x]	= subLen;

		    for (y=1; y <= subLen; y++)
		    {
		       SV *sv = *av_fetch(subArray, y - 1, FALSE);
		       Info[x * (matrixlen + 1) + y] = copyChar((char *)SvPV(sv,PL_na));
		    }
		 }

		 setCDKMatrixCells (object,
				    (CDK_CONST char **)Info,
				    matrixlen, width, subSize);

		 free (Info);
	      }
	      free (subSize);
	   }
	}
#line 8717 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetCell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetCell)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "object, row, col, value");
    {
	CDKMATRIX *	object;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	char *	value = (char *)SvPV_nolen(ST(3))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetCell",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3489 "Cdk.xs"
	{
	   setCDKMatrixCell (object,row,col,value);
	}
#line 8755 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_GetCell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_GetCell)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, row, col");
    {
	CDKMATRIX *	object;
	int	row = (int)SvIV(ST(1))
;
	int	col = (int)SvIV(ST(2))
;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::GetCell",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3499 "Cdk.xs"
	{
	   RETVAL = getCDKMatrixCell (object,row,col);
	}
#line 8793 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_GetRow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_GetRow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::GetRow",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3509 "Cdk.xs"
	{
	   RETVAL = getCDKMatrixRow (object);
	}
#line 8829 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_GetCol); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_GetCol)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::GetCol",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3519 "Cdk.xs"
	{
	   RETVAL = getCDKMatrixCol (object);
	}
#line 8865 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKMATRIX *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetBoxAttribute",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3530 "Cdk.xs"
	{
	   setCDKMatrixBoxAttribute (object, (chtype)Box);
	}
#line 8900 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKMATRIX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetULChar",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3539 "Cdk.xs"
	{
	   setCDKMatrixULChar (object,character);
	}
#line 8933 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKMATRIX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetURChar",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3548 "Cdk.xs"
	{
	   setCDKMatrixURChar (object,character);
	}
#line 8966 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKMATRIX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetLLChar",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3557 "Cdk.xs"
	{
	   setCDKMatrixLLChar (object,character);
	}
#line 8999 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKMATRIX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetLRChar",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3566 "Cdk.xs"
	{
	   setCDKMatrixLRChar (object,character);
	}
#line 9032 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKMATRIX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetVerticalChar",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3575 "Cdk.xs"
	{
	   setCDKMatrixVerticalChar (object,character);
	}
#line 9065 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKMATRIX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetHorizontalChar",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3584 "Cdk.xs"
	{
	   setCDKMatrixHorizontalChar (object,character);
	}
#line 9098 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKMATRIX *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::SetBackgroundColor",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3593 "Cdk.xs"
	{
	   setCDKMatrixBackgroundColor (object,color);
	}
#line 9132 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_Clean); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Clean)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Clean",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3601 "Cdk.xs"
	{
	   cleanCDKMatrix (object);
	}
#line 9164 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Raise",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3609 "Cdk.xs"
	{
	   raiseCDKObject (vMATRIX, object);
	}
#line 9196 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Lower",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3617 "Cdk.xs"
	{
	   lowerCDKObject (vMATRIX, object);
	}
#line 9228 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::GetWindow",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3625 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 9261 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Matrix_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Register",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3635 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vMATRIX, object);
	}
#line 9299 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Matrix_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Matrix_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMATRIXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Matrix::Unregister",
			"object", "CDKMATRIXPtr",
			refstr, ST(0)
		);
	}
;
#line 3643 "Cdk.xs"
	{
	   unregisterCDKObject (vMATRIX, object);
	}
#line 9331 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_New)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 5)
       croak_xs_usage(cv,  "width, xPos=CENTER, yPos=CENTER, Box=TRUE, shadow=FALSE");
    {
	int	width = (int)SvIV(ST(0))
;
	int	xPos = sv2int (ST(1));
	int	yPos = sv2int (ST(2));
	int	Box = sv2int (ST(3));
	int	shadow = sv2int (ST(4));
	CDKMARQUEE *	RETVAL;
#line 3657 "Cdk.xs"
	{
	   CDKMARQUEE * marqueeWidget = (CDKMARQUEE *)NULL;

	   checkCdkInit();
	   RETVAL = 0;

	   marqueeWidget = newCDKMarquee (GCDKSCREEN,xPos,yPos,width,Box,shadow);

	   /* Check the return type. */
	   if (marqueeWidget == (CDKMARQUEE *)NULL)
	   {
	      croak ("Cdk::Marquee Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = marqueeWidget;
	   }
	}
#line 9370 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKMARQUEEPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Marquee_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Activate)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 5)
       croak_xs_usage(cv,  "object, message, delay, repeat, Box=TRUE");
    {
	CDKMARQUEE *	object;
	char *	message = (char *)SvPV_nolen(ST(1))
;
	int	delay = (int)SvIV(ST(2))
;
	int	repeat = (int)SvIV(ST(3))
;
	int	Box = sv2int (ST(4));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Activate",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3686 "Cdk.xs"
	{
	   RETVAL = activateCDKMarquee (object,message,delay,repeat,Box);
	}
#line 9417 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Marquee_Deactivate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Deactivate)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Deactivate",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3696 "Cdk.xs"
	{
	   deactivateCDKMarquee (object);
	}
#line 9451 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKMARQUEE *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetBoxAttribute",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3705 "Cdk.xs"
	{
	   setCDKMarqueeBoxAttribute (object, (chtype)Box);
	}
#line 9484 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKMARQUEE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetULChar",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3714 "Cdk.xs"
	{
	   setCDKMarqueeULChar (object,character);
	}
#line 9517 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKMARQUEE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetURChar",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3723 "Cdk.xs"
	{
	   setCDKMarqueeURChar (object,character);
	}
#line 9550 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKMARQUEE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetLLChar",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3732 "Cdk.xs"
	{
	   setCDKMarqueeLLChar (object,character);
	}
#line 9583 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKMARQUEE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetLRChar",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3741 "Cdk.xs"
	{
	   setCDKMarqueeLRChar (object,character);
	}
#line 9616 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKMARQUEE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetVerticalChar",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3750 "Cdk.xs"
	{
	   setCDKMarqueeVerticalChar (object,character);
	}
#line 9649 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKMARQUEE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetHorizontalChar",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3759 "Cdk.xs"
	{
	   setCDKMarqueeHorizontalChar (object,character);
	}
#line 9682 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKMARQUEE *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::SetBackgroundColor",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3768 "Cdk.xs"
	{
	   setCDKMarqueeBackgroundColor (object,color);
	}
#line 9716 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKMARQUEE *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Bind",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3778 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vMARQUEE, object, key, PerlBindCB, function);
	}
#line 9752 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKMARQUEE *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Draw",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3788 "Cdk.xs"
	{
	   drawCDKMarquee (object,Box);
	}
#line 9785 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Erase",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3796 "Cdk.xs"
	{
	   eraseCDKMarquee (object);
	}
#line 9817 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Register",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3804 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vMARQUEE, object);
	}
#line 9849 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Unregister",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3812 "Cdk.xs"
	{
	   unregisterCDKObject (vMARQUEE, object);
	}
#line 9881 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Raise",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3820 "Cdk.xs"
	{
	   raiseCDKObject (vMARQUEE, object);
	}
#line 9913 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::Lower",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3828 "Cdk.xs"
	{
	   lowerCDKObject (vMARQUEE, object);
	}
#line 9945 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Marquee_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Marquee_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKMARQUEEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Marquee::GetWindow",
			"object", "CDKMARQUEEPtr",
			refstr, ST(0)
		);
	}
;
#line 3836 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 9978 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Selection_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_New)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 11)
       croak_xs_usage(cv,  "title, list, choices, height, width, xPos=CENTER, yPos=CENTER, sPos=RIGHT, highlight=A_REVERSE, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	SV *	list = ST(1)
;
	SV *	choices = ST(2)
;
	int	height = (int)SvIV(ST(3))
;
	int	width = (int)SvIV(ST(4))
;
	int	xPos = sv2int (ST(5));
	int	yPos = sv2int (ST(6));
	int	sPos = sv2int (ST(7));
	chtype	highlight = sv2chtype (ST(8));
	int	Box = sv2int (ST(9));
	int	shadow = sv2int (ST(10));
	CDKSELECTION *	RETVAL;
#line 3858 "Cdk.xs"
	{
	   CDKSELECTION * selectionWidget = (CDKSELECTION *)NULL;
	   char **	List;
	   char **	Choices;
	   char *	Title;
	   int listSize, choiceSize;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY(0, list, List, listSize);
	   MAKE_CHAR_ARRAY(0, choices, Choices, choiceSize);
	   MAKE_TITLE (title,Title);

	   selectionWidget = newCDKSelection (GCDKSCREEN, xPos, yPos, sPos,
						height, width,
						Title,
						(CDK_CONST char **)List, listSize,
						(CDK_CONST char **)Choices, choiceSize,
						highlight, Box, shadow);
	   free (List);
	   free (Choices);
	   free (Title);

	   /* Check the return type. */
	   if (selectionWidget == (CDKSELECTION *)NULL)
	   {
	      croak ("Cdk::Selection Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = selectionWidget;
	   }
	}
#line 10049 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSELECTIONPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Selection_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Activate",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3899 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   int x;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      (void) activateCDKSelection (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      (void) activateCDKSelection (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }

	   /* Push the values on the return stack.	*/
	   for (x=0; x < object->listSize ; x++)
	   {
	      XPUSHs (sv_2mortal(newSViv(object->selections[x])));
	   }
	}
#line 10114 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Selection_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKSELECTION *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Inject",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3933 "Cdk.xs"
	{
	   int selection = injectCDKSelection (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 10155 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Selection_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKSELECTION *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Bind",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3950 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vSELECTION, object, key, PerlBindCB, function);
	}
#line 10193 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSELECTION *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::PreProcess",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3960 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKSelectionPreProcess (object, PerlProcessCB, function);
	}
#line 10231 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Selection_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSELECTION *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::PostProcess",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3973 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKSelectionPostProcess (object, PerlProcessCB, function);
	}
#line 10271 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Selection_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSELECTION *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Draw",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3986 "Cdk.xs"
	{
	   drawCDKSelection (object,Box);
	}
#line 10306 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Erase",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 3994 "Cdk.xs"
	{
	   eraseCDKSelection (object);
	}
#line 10338 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, highlight");
    {
	CDKSELECTION *	object;
	chtype	highlight = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetHighlight",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4003 "Cdk.xs"
	{
	   setCDKSelectionHighlight (object,highlight);
	}
#line 10371 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetChoices); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetChoices)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, choices");
    {
	CDKSELECTION *	object;
	SV *	choices = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetChoices",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4012 "Cdk.xs"
	{
	   int *	defaultChoices;
	   int		choiceLength;

	   MAKE_INT_ARRAY (0, choices, defaultChoices, choiceLength);
	   setCDKSelectionChoices (object,defaultChoices);
	   free (defaultChoices);
	}
#line 10410 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetChoice); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetChoice)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, choice, cIndex");
    {
	CDKSELECTION *	object;
	int	choice = (int)SvIV(ST(1))
;
	int	cIndex = (int)SvIV(ST(2))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetChoice",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4027 "Cdk.xs"
	{
	   setCDKSelectionChoice (object,cIndex,choice);
	}
#line 10446 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetModes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetModes)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, modes");
    {
	CDKSELECTION *	object;
	SV *	modes = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetModes",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4036 "Cdk.xs"
	{
	   int *	Modes;
	   int		modeLength;

	   MAKE_INT_ARRAY (0, modes, Modes, modeLength);
	   setCDKSelectionModes (object,Modes);
	   free (Modes);
	}
#line 10485 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetMode)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, mode, cIndex");
    {
	CDKSELECTION *	object;
	int	mode = (int)SvIV(ST(1))
;
	int	cIndex = (int)SvIV(ST(2))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetMode",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4051 "Cdk.xs"
	{
	   setCDKSelectionMode (object,cIndex,mode);
	}
#line 10521 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSELECTION *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetBox",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4060 "Cdk.xs"
	{
	   setCDKSelectionBox (object,Box);
	}
#line 10554 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetULChar",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4069 "Cdk.xs"
	{
	   setCDKSelectionULChar (object,character);
	}
#line 10587 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetURChar",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4078 "Cdk.xs"
	{
	   setCDKSelectionURChar (object,character);
	}
#line 10620 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetLLChar",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4087 "Cdk.xs"
	{
	   setCDKSelectionLLChar (object,character);
	}
#line 10653 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetLRChar",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4096 "Cdk.xs"
	{
	   setCDKSelectionLRChar (object,character);
	}
#line 10686 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetVerticalChar",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4105 "Cdk.xs"
	{
	   setCDKSelectionVerticalChar (object,character);
	}
#line 10719 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetHorizontalChar",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4114 "Cdk.xs"
	{
	   setCDKSelectionHorizontalChar (object,character);
	}
#line 10752 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSELECTION *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetBoxAttribute",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4123 "Cdk.xs"
	{
	   setCDKSelectionBoxAttribute (object,character);
	}
#line 10785 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKSELECTION *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::SetBackgroundColor",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4132 "Cdk.xs"
	{
	   setCDKSelectionBackgroundColor (object,color);
	}
#line 10819 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Register",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4140 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vSELECTION, object);
	}
#line 10851 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Unregister",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4148 "Cdk.xs"
	{
	   unregisterCDKObject (vSELECTION, object);
	}
#line 10883 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Raise",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4156 "Cdk.xs"
	{
	   raiseCDKObject (vSELECTION, object);
	}
#line 10915 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::Lower",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4164 "Cdk.xs"
	{
	   lowerCDKObject (vSELECTION, object);
	}
#line 10947 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Selection_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Selection_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSELECTIONPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Selection::GetWindow",
			"object", "CDKSELECTIONPtr",
			refstr, ST(0)
		);
	}
;
#line 4172 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 10980 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Viewer_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_New)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 8)
       croak_xs_usage(cv,  "buttons, height, width, buttonHighlight=A_REVERSE, xpos=CENTER, ypos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	buttons = ST(0)
;
	int	height = (int)SvIV(ST(1))
;
	int	width = (int)SvIV(ST(2))
;
	chtype	buttonHighlight = sv2chtype (ST(3));
	int	xpos = sv2int (ST(4));
	int	ypos = sv2int (ST(5));
	int	Box = sv2int (ST(6));
	int	shadow = sv2int (ST(7));
	CDKVIEWER *	RETVAL;
#line 4191 "Cdk.xs"
	{
	   CDKVIEWER *	viewerWidget = (CDKVIEWER *)NULL;
	   char **	Buttons;
	   int		buttonCount;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY (0, buttons, Buttons, buttonCount);

	   viewerWidget = newCDKViewer (GCDKSCREEN, xpos, ypos,
					height, width,
					(CDK_CONST char **)Buttons, buttonCount,
					buttonHighlight, Box, shadow);
	   free (Buttons);

	   /* Check the return type. */
	   if (viewerWidget == (CDKVIEWER *)NULL)
	   {
	      croak ("Cdk::Viewer Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = viewerWidget;
	   }
	}
#line 11038 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKVIEWERPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Viewer_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Activate)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Activate",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4224 "Cdk.xs"
	{
	   int value = activateCDKViewer (object, (chtype *)NULL);

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 11085 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Viewer_SetInfo); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetInfo)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "object, info, interpret=TRUE");
    {
	CDKVIEWER *	object;
	SV *	info = ST(1)
;
	int	interpret = sv2int (ST(2));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetInfo",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4243 "Cdk.xs"
	{
	   char **	Info;
	   int		infolen;

	   MAKE_CHAR_ARRAY(0, info, Info, infolen);
	   setCDKViewerInfo (object,
			     (CDK_CONST char **)Info,
			     infolen,
			     interpret);
	   free (Info);
	}
#line 11130 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetTitle); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetTitle)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKVIEWER *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetTitle",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4260 "Cdk.xs"
	{
	   setCDKViewerTitle (object,value);
	}
#line 11164 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKVIEWER *	object;
	chtype	value = (chtype)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetHighlight",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4269 "Cdk.xs"
	{
	   setCDKViewerHighlight (object,value);
	}
#line 11198 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetInfoLine); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetInfoLine)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKVIEWER *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetInfoLine",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4278 "Cdk.xs"
	{
	   setCDKViewerInfoLine (object,value);
	}
#line 11232 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKVIEWER *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetBox",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4287 "Cdk.xs"
	{
	   setCDKViewerBox (object,Box);
	}
#line 11265 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetULChar",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4296 "Cdk.xs"
	{
	   setCDKViewerULChar (object,character);
	}
#line 11298 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetURChar",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4305 "Cdk.xs"
	{
	   setCDKViewerURChar (object,character);
	}
#line 11331 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetLLChar",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4314 "Cdk.xs"
	{
	   setCDKViewerLLChar (object,character);
	}
#line 11364 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetLRChar",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4323 "Cdk.xs"
	{
	   setCDKViewerLRChar (object,character);
	}
#line 11397 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetVerticalChar",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4332 "Cdk.xs"
	{
	   setCDKViewerVerticalChar (object,character);
	}
#line 11430 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetHorizontalChar",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4341 "Cdk.xs"
	{
	   setCDKViewerHorizontalChar (object,character);
	}
#line 11463 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKVIEWER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetBoxAttribute",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4350 "Cdk.xs"
	{
	   setCDKViewerBoxAttribute (object,character);
	}
#line 11496 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKVIEWER *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::SetBackgroundColor",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4359 "Cdk.xs"
	{
	   setCDKViewerBackgroundColor (object,color);
	}
#line 11530 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKVIEWER *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Bind",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4369 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vVIEWER, object, key, PerlBindCB, function);
	}
#line 11566 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKVIEWER *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Draw",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4379 "Cdk.xs"
	{
	   drawCDKViewer (object,Box);
	}
#line 11599 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Erase",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4387 "Cdk.xs"
	{
	   eraseCDKViewer (object);
	}
#line 11631 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Register",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4395 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vVIEWER, object);
	}
#line 11663 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Unregister",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4403 "Cdk.xs"
	{
	   unregisterCDKObject (vVIEWER, object);
	}
#line 11695 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Raise",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4411 "Cdk.xs"
	{
	   raiseCDKObject (vVIEWER, object);
	}
#line 11727 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::Lower",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4419 "Cdk.xs"
	{
	   lowerCDKObject (vVIEWER, object);
	}
#line 11759 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Viewer_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Viewer_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKVIEWERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Viewer::GetWindow",
			"object", "CDKVIEWERPtr",
			refstr, ST(0)
		);
	}
;
#line 4427 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 11792 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Graph_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_New)
{
    dVAR; dXSARGS;
    if (items < 5 || items > 7)
       croak_xs_usage(cv,  "title, xtitle, ytitle, height, width, xpos=CENTER, ypos=CENTER");
    {
	SV *	title = ST(0)
;
	char *	xtitle = (char *)SvPV_nolen(ST(1))
;
	char *	ytitle = (char *)SvPV_nolen(ST(2))
;
	int	height = (int)SvIV(ST(3))
;
	int	width = (int)SvIV(ST(4))
;
	int	xpos = sv2int (ST(5));
	int	ypos = sv2int (ST(6));
	CDKGRAPH *	RETVAL;
#line 4445 "Cdk.xs"
	{
	   CDKGRAPH *	graphWidget = (CDKGRAPH *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   graphWidget = newCDKGraph (GCDKSCREEN,xpos,ypos,height,width,Title,xtitle,ytitle);

	   free (Title);

	   /* Check the return type. */
	   if (graphWidget == (CDKGRAPH *)NULL)
	   {
	      croak ("Cdk::Graph Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = graphWidget;
	   }
	}
#line 11848 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKGRAPHPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Graph_SetValues); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetValues)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "object, values, startAtZero=TRUE");
    {
	CDKGRAPH *	object;
	SV *	values = ST(1)
;
	int	startAtZero = sv2int (ST(2));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetValues",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4477 "Cdk.xs"
	{
	   int *	Values;
	   int		valueCount;

	   MAKE_INT_ARRAY (0, values, Values, valueCount);
	   RETVAL = setCDKGraphValues (object,Values,valueCount,startAtZero);
	   free (Values);
	}
#line 11896 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Graph_SetCharacters); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetCharacters)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKGRAPH *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetCharacters",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4493 "Cdk.xs"
	{
	   setCDKGraphCharacters (object,value);
	}
#line 11932 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetDisplayType); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetDisplayType)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKGRAPH *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetDisplayType",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4502 "Cdk.xs"
	{
	   EGraphDisplayType displayType = vLINE;

	   if (strEQ (value, "PLOT"))
	   {
	      displayType = vPLOT;
	   }

	   setCDKGraphDisplayType (object,displayType);
	}
#line 11973 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=FALSE");
    {
	CDKGRAPH *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetBox",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4518 "Cdk.xs"
	{
	   setCDKGraphBox (object,Box);
	}
#line 12006 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetULChar",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4527 "Cdk.xs"
	{
	   setCDKGraphULChar (object,character);
	}
#line 12039 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetURChar",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4536 "Cdk.xs"
	{
	   setCDKGraphURChar (object,character);
	}
#line 12072 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetLLChar",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4545 "Cdk.xs"
	{
	   setCDKGraphLLChar (object,character);
	}
#line 12105 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetLRChar",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4554 "Cdk.xs"
	{
	   setCDKGraphLRChar (object,character);
	}
#line 12138 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetVerticalChar",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4563 "Cdk.xs"
	{
	   setCDKGraphVerticalChar (object,character);
	}
#line 12171 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetHorizontalChar",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4572 "Cdk.xs"
	{
	   setCDKGraphHorizontalChar (object,character);
	}
#line 12204 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKGRAPH *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetBoxAttribute",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4581 "Cdk.xs"
	{
	   setCDKGraphBoxAttribute (object,character);
	}
#line 12237 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKGRAPH *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::SetBackgroundColor",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4590 "Cdk.xs"
	{
	   setCDKGraphBackgroundColor (object,color);
	}
#line 12271 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=FALSE");
    {
	CDKGRAPH *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::Draw",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4599 "Cdk.xs"
	{
	   drawCDKGraph (object,Box);
	}
#line 12304 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::Erase",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4607 "Cdk.xs"
	{
	   eraseCDKGraph (object);
	}
#line 12336 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::Register",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4615 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vGRAPH, object);
	}
#line 12368 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::Unregister",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4623 "Cdk.xs"
	{
	   unregisterCDKObject (vGRAPH, object);
	}
#line 12400 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::Raise",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4631 "Cdk.xs"
	{
	   raiseCDKObject (vGRAPH, object);
	}
#line 12432 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::Lower",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4639 "Cdk.xs"
	{
	   lowerCDKObject (vGRAPH, object);
	}
#line 12464 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Graph_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Graph_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKGRAPHPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Graph::GetWindow",
			"object", "CDKGRAPHPtr",
			refstr, ST(0)
		);
	}
;
#line 4647 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 12497 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Radio_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_New)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 12)
       croak_xs_usage(cv,  "title, list, height, width, xPos=CENTER, yPos=CENTER, sPos=RIGHT, choice=\"X\", defaultItem=0, highlight=A_REVERSE, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	SV *	list = ST(1)
;
	int	height = (int)SvIV(ST(2))
;
	int	width = (int)SvIV(ST(3))
;
	int	xPos = sv2int (ST(4));
	int	yPos = sv2int (ST(5));
	int	sPos = sv2int (ST(6));
	chtype	choice = sv2chtype (ST(7));
	int	defaultItem;
	chtype	highlight = sv2chtype (ST(9));
	int	Box = sv2int (ST(10));
	int	shadow = sv2int (ST(11));
	CDKRADIO *	RETVAL;

	if (items < 9)
	    defaultItem = 0;
	else {
	    defaultItem = (int)SvIV(ST(8))
;
	}
#line 4670 "Cdk.xs"
	{
	   CDKRADIO *	radioWidget = (CDKRADIO *)NULL;
	   char **	List;
	   char *	Title;
	   int listlen;

	   MAKE_CHAR_ARRAY(0, list, List, listlen);
	   MAKE_TITLE (title,Title);

	   radioWidget = newCDKRadio (GCDKSCREEN, xPos, yPos, sPos,
					height, width, Title,
					(CDK_CONST char **)List, listlen,
					choice, defaultItem,
					highlight, Box, shadow);
	   free (List);
	   free (Title);

	   /* Check the return type. */
	   if (radioWidget == (CDKRADIO *)NULL)
	   {
	      croak ("Cdk::Radio Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = radioWidget;
	   }
	}
#line 12568 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKRADIOPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Radio_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKRADIO *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Activate",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4704 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   int value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKRadio (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKRadio (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 12628 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Radio_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKRADIO *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Inject",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4735 "Cdk.xs"
	{
	   int selection = injectCDKRadio (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 12670 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Radio_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKRADIO *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Bind",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4752 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vRADIO, object, key, PerlBindCB, function);
	}
#line 12708 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKRADIO *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::PreProcess",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4762 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKRadioPreProcess (object, PerlProcessCB, function);
	}
#line 12746 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Radio_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKRADIO *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::PostProcess",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4775 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKRadioPostProcess (object, PerlProcessCB, function);
	}
#line 12786 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Radio_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKRADIO *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Draw",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4788 "Cdk.xs"
	{
	   drawCDKRadio (object,Box);
	}
#line 12821 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Erase",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4796 "Cdk.xs"
	{
	   eraseCDKRadio (object);
	}
#line 12853 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, highlight");
    {
	CDKRADIO *	object;
	chtype	highlight = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetHighlight",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4805 "Cdk.xs"
	{
	   setCDKRadioHighlight (object,highlight);
	}
#line 12886 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetChoiceCharacter); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetChoiceCharacter)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKRADIO *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetChoiceCharacter",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4814 "Cdk.xs"
	{
	   setCDKRadioChoiceCharacter (object,value);
	}
#line 12919 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetLeftBrace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetLeftBrace)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKRADIO *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetLeftBrace",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4823 "Cdk.xs"
	{
	   setCDKRadioLeftBrace (object,value);
	}
#line 12952 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetRightBrace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetRightBrace)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKRADIO *	object;
	chtype	value = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetRightBrace",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4832 "Cdk.xs"
	{
	   setCDKRadioRightBrace (object,value);
	}
#line 12985 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKRADIO *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetBox",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4841 "Cdk.xs"
	{
	   setCDKRadioBox (object,Box);
	}
#line 13018 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetULChar",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4850 "Cdk.xs"
	{
	   setCDKRadioULChar (object,character);
	}
#line 13051 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetURChar",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4859 "Cdk.xs"
	{
	   setCDKRadioURChar (object,character);
	}
#line 13084 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetLLChar",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4868 "Cdk.xs"
	{
	   setCDKRadioLLChar (object,character);
	}
#line 13117 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetLRChar",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4877 "Cdk.xs"
	{
	   setCDKRadioLRChar (object,character);
	}
#line 13150 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetVerticalChar",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4886 "Cdk.xs"
	{
	   setCDKRadioVerticalChar (object,character);
	}
#line 13183 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetHorizontalChar",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4895 "Cdk.xs"
	{
	   setCDKRadioHorizontalChar (object,character);
	}
#line 13216 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKRADIO *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetBoxAttribute",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4904 "Cdk.xs"
	{
	   setCDKRadioBoxAttribute (object,character);
	}
#line 13249 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKRADIO *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::SetBackgroundColor",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4913 "Cdk.xs"
	{
	   setCDKRadioBackgroundColor (object,color);
	}
#line 13283 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Register",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4921 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vRADIO, object);
	}
#line 13315 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Unregister",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4929 "Cdk.xs"
	{
	   unregisterCDKObject (vRADIO, object);
	}
#line 13347 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Raise",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4937 "Cdk.xs"
	{
	   raiseCDKObject (vRADIO, object);
	}
#line 13379 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::Lower",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4945 "Cdk.xs"
	{
	   lowerCDKObject (vRADIO, object);
	}
#line 13411 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Radio_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Radio_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKRADIOPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Radio::GetWindow",
			"object", "CDKRADIOPtr",
			refstr, ST(0)
		);
	}
;
#line 4953 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 13444 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_New)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 8)
       croak_xs_usage(cv,  "title, label, plate, cOverlay, xpos=CENTER, ypos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	char *	plate = (char *)SvPV_nolen(ST(2))
;
	char *	cOverlay = (char *)SvPV_nolen(ST(3))
;
	int	xpos = sv2int (ST(4));
	int	ypos = sv2int (ST(5));
	int	Box = sv2int (ST(6));
	int	shadow = sv2int (ST(7));
	CDKTEMPLATE *	RETVAL;
#line 4972 "Cdk.xs"
	{
	   CDKTEMPLATE * templateWidget = (CDKTEMPLATE *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   templateWidget = newCDKTemplate (GCDKSCREEN,xpos,ypos,
						Title,label,
						plate,cOverlay,
						Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (templateWidget == (CDKTEMPLATE *)NULL)
	   {
	      croak ("Cdk::Template Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = templateWidget;
	   }
	}
#line 13502 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKTEMPLATEPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKTEMPLATE *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Activate",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5004 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   char *value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKTemplate (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKTemplate (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 13562 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKTEMPLATE *	object;
	chtype	key = sv2chtype (ST(1));
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Inject",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5035 "Cdk.xs"
	{
	   char *value = injectCDKTemplate (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 13605 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKTEMPLATE *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Bind",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5053 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vTEMPLATE, object, key, PerlBindCB, function);
	}
#line 13643 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKTEMPLATE *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::PreProcess",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5063 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKTemplatePreProcess (object, PerlProcessCB, function);
	}
#line 13681 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKTEMPLATE *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::PostProcess",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5076 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKTemplatePostProcess (object, PerlProcessCB, function);
	}
#line 13721 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_Mix); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Mix)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Mix",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5088 "Cdk.xs"
	{
	   RETVAL = mixCDKTemplate (object);
	}
#line 13757 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKTEMPLATE *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Draw",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5099 "Cdk.xs"
	{
	   drawCDKTemplate (object, Box);
	}
#line 13792 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Erase",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5107 "Cdk.xs"
	{
	   eraseCDKTemplate (object);
	}
#line 13824 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKTEMPLATE *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetValue",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5116 "Cdk.xs"
	{
	   setCDKTemplateValue (object,value);
	}
#line 13858 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetMin); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetMin)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKTEMPLATE *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetMin",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5125 "Cdk.xs"
	{
	   setCDKTemplateMin (object,value);
	}
#line 13892 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKTEMPLATE *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetBox",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5134 "Cdk.xs"
	{
	   setCDKTemplateBox (object,Box);
	}
#line 13925 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetULChar",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5143 "Cdk.xs"
	{
	   setCDKTemplateULChar (object,character);
	}
#line 13958 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetURChar",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5152 "Cdk.xs"
	{
	   setCDKTemplateURChar (object,character);
	}
#line 13991 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetLLChar",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5161 "Cdk.xs"
	{
	   setCDKTemplateLLChar (object,character);
	}
#line 14024 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetLRChar",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5170 "Cdk.xs"
	{
	   setCDKTemplateLRChar (object,character);
	}
#line 14057 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetVerticalChar",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5179 "Cdk.xs"
	{
	   setCDKTemplateVerticalChar (object,character);
	}
#line 14090 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetHorizontalChar",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5188 "Cdk.xs"
	{
	   setCDKTemplateHorizontalChar (object,character);
	}
#line 14123 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKTEMPLATE *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetBoxAttribute",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5197 "Cdk.xs"
	{
	   setCDKTemplateBoxAttribute (object,character);
	}
#line 14156 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKTEMPLATE *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::SetBackgroundColor",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5206 "Cdk.xs"
	{
	   setCDKTemplateBackgroundColor (object,color);
	}
#line 14190 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Get)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Get",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5214 "Cdk.xs"
	{
	   RETVAL = object->info;
	}
#line 14224 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Template_Clean); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Clean)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Clean",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5224 "Cdk.xs"
	{
	   cleanCDKTemplate (object);
	}
#line 14258 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Register",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5232 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vTEMPLATE, object);
	}
#line 14290 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Unregister",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5240 "Cdk.xs"
	{
	   unregisterCDKObject (vTEMPLATE, object);
	}
#line 14322 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Raise",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5248 "Cdk.xs"
	{
	   raiseCDKObject (vTEMPLATE, object);
	}
#line 14354 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::Lower",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5256 "Cdk.xs"
	{
	   lowerCDKObject (vTEMPLATE, object);
	}
#line 14386 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Template_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Template_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKTEMPLATEPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Template::GetWindow",
			"object", "CDKTEMPLATEPtr",
			refstr, ST(0)
		);
	}
;
#line 5264 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 14419 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_New)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 8)
       croak_xs_usage(cv,  "title, savelines, height, width, xpos=CENTER, ypos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	int	savelines = (int)SvIV(ST(1))
;
	int	height = (int)SvIV(ST(2))
;
	int	width = (int)SvIV(ST(3))
;
	int	xpos = sv2int (ST(4));
	int	ypos = sv2int (ST(5));
	int	Box = sv2int (ST(6));
	int	shadow = sv2int (ST(7));
	CDKSWINDOW *	RETVAL;
#line 5282 "Cdk.xs"
	{
	   CDKSWINDOW *	swindowWidget = (CDKSWINDOW *)NULL;
	   char *	Title;

	   MAKE_TITLE (title,Title);

	   swindowWidget = newCDKSwindow (GCDKSCREEN,xpos,ypos,
						height,width,
						Title,savelines,
						Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (swindowWidget == (CDKSWINDOW *)NULL)
	   {
	      croak ("Cdk::Swindow Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = swindowWidget;
	   }
	}
#line 14474 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSWINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Activate",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5311 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      activateCDKSwindow (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      activateCDKSwindow (object, NULL);
	   }
	}
#line 14524 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKSWINDOW *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Inject",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5332 "Cdk.xs"
	{
	   int selection = injectCDKSwindow (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 14564 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKSWINDOW *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Bind",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5349 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vSWINDOW, object, key, PerlBindCB, function);
	}
#line 14602 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSWINDOW *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::PreProcess",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5359 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKSwindowPreProcess (object, PerlProcessCB, function);
	}
#line 14640 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSWINDOW *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::PostProcess",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5372 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKSwindowPostProcess (object, PerlProcessCB, function);
	}
#line 14680 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_SetContents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetContents)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, info");
    {
	CDKSWINDOW *	object;
	SV *	info = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetContents",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5385 "Cdk.xs"
	{
	   char **	Loginfo;
	   int		infolen;

	   MAKE_CHAR_ARRAY(0, info, Loginfo, infolen);
	   setCDKSwindowContents (object,
				  (CDK_CONST char **)Loginfo,
				  infolen);
	   free (Loginfo);
	}
#line 14723 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSWINDOW *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetBox",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5401 "Cdk.xs"
	{
	   setCDKSwindowBox (object,Box);
	}
#line 14756 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetULChar",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5410 "Cdk.xs"
	{
	   setCDKSwindowULChar (object,character);
	}
#line 14789 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetURChar",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5419 "Cdk.xs"
	{
	   setCDKSwindowURChar (object,character);
	}
#line 14822 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetLLChar",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5428 "Cdk.xs"
	{
	   setCDKSwindowLLChar (object,character);
	}
#line 14855 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetLRChar",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5437 "Cdk.xs"
	{
	   setCDKSwindowLRChar (object,character);
	}
#line 14888 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetVerticalChar",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5446 "Cdk.xs"
	{
	   setCDKSwindowVerticalChar (object,character);
	}
#line 14921 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetHorizontalChar",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5455 "Cdk.xs"
	{
	   setCDKSwindowHorizontalChar (object,character);
	}
#line 14954 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSWINDOW *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetBoxAttribute",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5464 "Cdk.xs"
	{
	   setCDKSwindowBoxAttribute (object,character);
	}
#line 14987 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKSWINDOW *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::SetBackgroundColor",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5473 "Cdk.xs"
	{
	   setCDKSwindowBackgroundColor (object,color);
	}
#line 15021 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Addline); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Addline)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, info, insertpos");
    {
	CDKSWINDOW *	object;
	char *	info = (char *)SvPV_nolen(ST(1))
;
	int	insertpos = sv2int (ST(2));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Addline",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5483 "Cdk.xs"
	{
	   addCDKSwindow (object, info, insertpos);
	}
#line 15056 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Trim); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Trim)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, start, finish");
    {
	CDKSWINDOW *	object;
	int	start = sv2int (ST(1));
	int	finish = sv2int (ST(2));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Trim",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5493 "Cdk.xs"
	{
	   trimCDKSwindow (object, start, finish);
	}
#line 15090 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Exec); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Exec)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "object, command, insertPos=BOTTOM");
    {
	CDKSWINDOW *	object;
	char *	command = (char *)SvPV_nolen(ST(1))
;
	int	insertPos = sv2int (ST(2));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Exec",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5503 "Cdk.xs"
	{
	   RETVAL = execCDKSwindow (object, command, insertPos);
	}
#line 15127 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Get)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Get",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5513 "Cdk.xs"
	{
	   int x;
	   char *temp;

	   /* Push each item onto the stack.		*/
	   for (x=0; x < object->listSize ; x++)
	   {
	      /* We need to convert from chtype to char */
	      temp = chtype2Char (object->list[x]);

	      /* Push it on the stack.			*/
	      XPUSHs (sv_2mortal(newSVpv(temp, strlen(temp))));
	      freeChar (temp);
	   }
	}
#line 15175 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Swindow_Save); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Save)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Save",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5533 "Cdk.xs"
	{
	   saveCDKSwindowInformation (object);
	}
#line 15208 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Load); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Load)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Load",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5541 "Cdk.xs"
	{
	   loadCDKSwindowInformation (object);
	}
#line 15240 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Dump); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Dump)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, filename");
    {
	CDKSWINDOW *	object;
	char *	filename = (char *)SvPV_nolen(ST(1))
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Dump",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5550 "Cdk.xs"
	{
	   RETVAL = dumpCDKSwindow (object, filename);
	}
#line 15276 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Swindow_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSWINDOW *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Draw",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5561 "Cdk.xs"
	{
	   drawCDKSwindow (object, Box);
	}
#line 15311 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Erase",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5569 "Cdk.xs"
	{
	   eraseCDKSwindow (object);
	}
#line 15343 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Clean); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Clean)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Clean",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5577 "Cdk.xs"
	{
	   cleanCDKSwindow (object);
	}
#line 15375 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Register",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5585 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vSWINDOW, object);
	}
#line 15407 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Unregister",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5593 "Cdk.xs"
	{
	   unregisterCDKObject (vSWINDOW, object);
	}
#line 15439 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Raise",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5601 "Cdk.xs"
	{
	   raiseCDKObject (vSWINDOW, object);
	}
#line 15471 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::Lower",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5609 "Cdk.xs"
	{
	   lowerCDKObject (vSWINDOW, object);
	}
#line 15503 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Swindow_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Swindow_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSWINDOWPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Swindow::GetWindow",
			"object", "CDKSWINDOWPtr",
			refstr, ST(0)
		);
	}
;
#line 5617 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 15536 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_New)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 8)
       croak_xs_usage(cv,  "title, label, itemlist, defaultItem=0, xpos=CENTER, ypos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	SV *	itemlist = ST(2)
;
	int	defaultItem;
	int	xpos = sv2int (ST(4));
	int	ypos = sv2int (ST(5));
	int	Box = sv2int (ST(6));
	int	shadow = sv2int (ST(7));
	CDKITEMLIST *	RETVAL;

	if (items < 4)
	    defaultItem = 0;
	else {
	    defaultItem = (int)SvIV(ST(3))
;
	}
#line 5635 "Cdk.xs"
	{
	   CDKITEMLIST * itemlistWidget = (CDKITEMLIST *)NULL;
	   char *	Title;
	   char **	Itemlist;
	   int		itemLength;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY (0, itemlist, Itemlist, itemLength);
	   MAKE_TITLE (title,Title);

	   itemlistWidget = newCDKItemlist (GCDKSCREEN, xpos, ypos,
					    Title, label,
					    (CDK_CONST char **)Itemlist, itemLength,
					    defaultItem, Box, shadow);
	   free (Itemlist);
	   free (Title);

	   /* Check the return type. */
	   if (itemlistWidget == (CDKITEMLIST *)NULL)
	   {
	      croak ("Cdk::Itemlist Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = itemlistWidget;
	   }
	}
#line 15604 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKITEMLISTPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKITEMLIST *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Activate",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5671 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   int value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKItemlist (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKItemlist (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 15664 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKITEMLIST *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Inject",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5702 "Cdk.xs"
	{
	   int selection = injectCDKItemlist (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 15706 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKITEMLIST *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Bind",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5719 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vITEMLIST, object, key, PerlBindCB, function);
	}
#line 15744 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKITEMLIST *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::PreProcess",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5729 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKItemlistPreProcess (object, PerlProcessCB, function);
	}
#line 15782 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKITEMLIST *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::PostProcess",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5742 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKItemlistPostProcess (object, PerlProcessCB, function);
	}
#line 15822 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_SetValues); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetValues)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, values");
    {
	CDKITEMLIST *	object;
	SV *	values = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetValues",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5755 "Cdk.xs"
	{
	   char **	Values;
	   int		valueLength;

	   MAKE_CHAR_ARRAY(0, values, Values, valueLength);
	   setCDKItemlistValues (object,
				 (CDK_CONST char **)Values,
				 valueLength,
				 object->defaultItem);
	   free (Values);
	}
#line 15866 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetDefaultItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetDefaultItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKITEMLIST *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetDefaultItem",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5772 "Cdk.xs"
	{
	   setCDKItemlistDefaultItem (object,value);
	}
#line 15900 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetCurrentItem); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetCurrentItem)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKITEMLIST *	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetCurrentItem",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5781 "Cdk.xs"
	{
	   setCDKItemlistCurrentItem (object,value);
	}
#line 15934 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKITEMLIST *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetBox",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5790 "Cdk.xs"
	{
	   setCDKItemlistBox (object,Box);
	}
#line 15967 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetULChar",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5799 "Cdk.xs"
	{
	   setCDKItemlistULChar (object,character);
	}
#line 16000 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetURChar",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5808 "Cdk.xs"
	{
	   setCDKItemlistURChar (object,character);
	}
#line 16033 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetLLChar",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5817 "Cdk.xs"
	{
	   setCDKItemlistLLChar (object,character);
	}
#line 16066 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetLRChar",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5826 "Cdk.xs"
	{
	   setCDKItemlistLRChar (object,character);
	}
#line 16099 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetVerticalChar",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5835 "Cdk.xs"
	{
	   setCDKItemlistVerticalChar (object,character);
	}
#line 16132 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetHorizontalChar",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5844 "Cdk.xs"
	{
	   setCDKItemlistHorizontalChar (object,character);
	}
#line 16165 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKITEMLIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetBoxAttribute",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5853 "Cdk.xs"
	{
	   setCDKItemlistBoxAttribute (object,character);
	}
#line 16198 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKITEMLIST *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::SetBackgroundColor",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5862 "Cdk.xs"
	{
	   setCDKItemlistBackgroundColor (object,color);
	}
#line 16232 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Get)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Get",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5870 "Cdk.xs"
	{
	   RETVAL = chtype2Char (object->item[object->currentItem]);
	}
#line 16266 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Itemlist_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKITEMLIST *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Draw",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5881 "Cdk.xs"
	{
	   drawCDKItemlist (object,Box);
	}
#line 16301 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Erase",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5889 "Cdk.xs"
	{
	   eraseCDKItemlist (object);
	}
#line 16333 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Register",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5897 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN,vITEMLIST,object);
	}
#line 16365 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Unregister",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5905 "Cdk.xs"
	{
	   unregisterCDKObject (vITEMLIST, object);
	}
#line 16397 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Raise",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5913 "Cdk.xs"
	{
	   raiseCDKObject (vITEMLIST, object);
	}
#line 16429 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::Lower",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5921 "Cdk.xs"
	{
	   lowerCDKObject (vITEMLIST, object);
	}
#line 16461 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Itemlist_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Itemlist_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKITEMLISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Itemlist::GetWindow",
			"object", "CDKITEMLISTPtr",
			refstr, ST(0)
		);
	}
;
#line 5929 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 16494 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Fselect_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_New)
{
    dVAR; dXSARGS;
    if (items < 4 || items > 15)
       croak_xs_usage(cv,  "title, label, height, width, dAttrib=\"</N>\", fAttrib=\"</N>\", lAttrib=\"</N>\", sAttrib=\"</N>\", highlight=\"</R>\", fieldAttribute=A_NORMAL, filler=\".\", xPos=CENTER, yPos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	int	height = (int)SvIV(ST(2))
;
	int	width = (int)SvIV(ST(3))
;
	const char *	dAttrib;
	const char *	fAttrib;
	const char *	lAttrib;
	const char *	sAttrib;
	chtype	highlight = sv2chtype (ST(8));
	chtype	fieldAttribute = sv2chtype (ST(9));
	chtype	filler = sv2chtype (ST(10));
	int	xPos = sv2int (ST(11));
	int	yPos = sv2int (ST(12));
	int	Box = sv2int (ST(13));
	int	shadow = sv2int (ST(14));
	CDKFSELECT *	RETVAL;

	if (items < 5)
	    dAttrib = "</N>";
	else {
	    dAttrib = (const char *)SvPV_nolen(ST(4))
;
	}

	if (items < 6)
	    fAttrib = "</N>";
	else {
	    fAttrib = (const char *)SvPV_nolen(ST(5))
;
	}

	if (items < 7)
	    lAttrib = "</N>";
	else {
	    lAttrib = (const char *)SvPV_nolen(ST(6))
;
	}

	if (items < 8)
	    sAttrib = "</N>";
	else {
	    sAttrib = (const char *)SvPV_nolen(ST(7))
;
	}
#line 5954 "Cdk.xs"
	{
	   CDKFSELECT * fselectWidget = (CDKFSELECT *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   fselectWidget = newCDKFselect (GCDKSCREEN,xPos,yPos,
						height,width,
						Title,label,
						fieldAttribute,filler,highlight,
						dAttrib,fAttrib,lAttrib,sAttrib,
						Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (fselectWidget == (CDKFSELECT *)NULL)
	   {
	      croak ("Cdk::Fselect Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = fselectWidget;
	   }
	}
#line 16589 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKFSELECTPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Fselect_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKFSELECT *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Activate",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 5988 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   char *value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKFselect (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKFselect (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 16649 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Fselect_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKFSELECT *	object;
	chtype	key = sv2chtype (ST(1));
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Inject",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6019 "Cdk.xs"
	{
	   char *value = injectCDKFselect (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 16692 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Fselect_SetDirectory); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetDirectory)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetDirectory",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6036 "Cdk.xs"
	{
	   setCDKFselectDirectory (object,value);
	}
#line 16728 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetFillerChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetFillerChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	chtype	value = (chtype)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetFillerChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6045 "Cdk.xs"
	{
	   setCDKFselectFillerChar (object,value);
	}
#line 16762 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	chtype	value = (chtype)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetHighlight",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6054 "Cdk.xs"
	{
	   setCDKFselectHighlight (object,value);
	}
#line 16796 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetDirAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetDirAttribute)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetDirAttribute",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6063 "Cdk.xs"
	{
	   setCDKFselectDirAttribute (object,value);
	}
#line 16830 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetLinkAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetLinkAttribute)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetLinkAttribute",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6072 "Cdk.xs"
	{
	   setCDKFselectLinkAttribute (object,value);
	}
#line 16864 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetFileAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetFileAttribute)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetFileAttribute",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6081 "Cdk.xs"
	{
	   setCDKFselectFileAttribute (object,value);
	}
#line 16898 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetSocketkAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetSocketkAttribute)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKFSELECT *	object;
	char *	value = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetSocketkAttribute",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6090 "Cdk.xs"
	{
	   setCDKFselectSocketAttribute (object,value);
	}
#line 16932 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKFSELECT *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetBox",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6099 "Cdk.xs"
	{
	   setCDKFselectBox (object,Box);
	}
#line 16965 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetULChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6108 "Cdk.xs"
	{
	   setCDKFselectULChar (object,character);
	}
#line 16998 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetURChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6117 "Cdk.xs"
	{
	   setCDKFselectURChar (object,character);
	}
#line 17031 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetLLChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6126 "Cdk.xs"
	{
	   setCDKFselectLLChar (object,character);
	}
#line 17064 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetLRChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6135 "Cdk.xs"
	{
	   setCDKFselectLRChar (object,character);
	}
#line 17097 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetVerticalChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6144 "Cdk.xs"
	{
	   setCDKFselectVerticalChar (object,character);
	}
#line 17130 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetHorizontalChar",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6153 "Cdk.xs"
	{
	   setCDKFselectHorizontalChar (object,character);
	}
#line 17163 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKFSELECT *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetBoxAttribute",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6162 "Cdk.xs"
	{
	   setCDKFselectBoxAttribute (object,character);
	}
#line 17196 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKFSELECT *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::SetBackgroundColor",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6171 "Cdk.xs"
	{
	   setCDKFselectBackgroundColor (object,color);
	}
#line 17230 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKFSELECT *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Bind",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6181 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vFSELECT, object, key, PerlBindCB, function);
	}
#line 17266 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKFSELECT *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::PreProcess",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6191 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKFselectPreProcess (object, PerlProcessCB, function);
	}
#line 17304 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Fselect_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKFSELECT *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::PostProcess",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6204 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKFselectPostProcess (object, PerlProcessCB, function);
	}
#line 17344 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Fselect_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKFSELECT *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Draw",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6217 "Cdk.xs"
	{
	   drawCDKFselect (object,Box);
	}
#line 17379 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Erase",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6225 "Cdk.xs"
	{
	   eraseCDKFselect (object);
	}
#line 17411 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Register",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6233 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN,vFSELECT,object);
	}
#line 17443 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Unregister",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6241 "Cdk.xs"
	{
	   unregisterCDKObject (vFSELECT, object);
	}
#line 17475 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Raise",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6249 "Cdk.xs"
	{
	   raiseCDKObject (vFSELECT, object);
	}
#line 17507 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::Lower",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6257 "Cdk.xs"
	{
	   lowerCDKObject (vFSELECT, object);
	}
#line 17539 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Fselect_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Fselect_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKFSELECTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Fselect::GetWindow",
			"object", "CDKFSELECTPtr",
			refstr, ST(0)
		);
	}
;
#line 6265 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 17572 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Slider_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_New)
{
    dVAR; dXSARGS;
    if (items != 13)
       croak_xs_usage(cv,  "title, label, start, low, high, inc, fastInc, fieldWidth, xPos, yPos, filler, Box, shadow");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	int	start = (int)SvIV(ST(2))
;
	int	low = (int)SvIV(ST(3))
;
	int	high = (int)SvIV(ST(4))
;
	int	inc = (int)SvIV(ST(5))
;
	int	fastInc = (int)SvIV(ST(6))
;
	int	fieldWidth = (int)SvIV(ST(7))
;
	int	xPos = sv2int (ST(8));
	int	yPos = sv2int (ST(9));
	chtype	filler = sv2chtype (ST(10));
	int	Box = sv2int (ST(11));
	int	shadow = sv2int (ST(12));
	CDKSLIDER *	RETVAL;
#line 6288 "Cdk.xs"
	{
	   CDKSLIDER *	sliderWidget = (CDKSLIDER *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   sliderWidget = newCDKSlider (GCDKSCREEN,
					xPos,yPos,
					Title, label,
					filler,fieldWidth,
					start,low,high,
					inc,fastInc,
					Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (sliderWidget == (CDKSLIDER *)NULL)
	   {
	      croak ("Cdk::Slider Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = sliderWidget;
	   }
	}
#line 17642 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKSLIDERPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Slider_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKSLIDER *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Activate",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6323 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   int value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKSlider (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKSlider (object, (chtype *)NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 17702 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Slider_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKSLIDER *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Inject",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6354 "Cdk.xs"
	{
	   int value = injectCDKSlider (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 17745 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Slider_SetValue); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetValue)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, value");
    {
	CDKSLIDER*	object;
	int	value = (int)SvIV(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetValue",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6371 "Cdk.xs"
	{
	   setCDKSliderValue (object,value);
	}
#line 17781 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetLowHigh); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetLowHigh)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, low, high");
    {
	CDKSLIDER *	object;
	int	low = (int)SvIV(ST(1))
;
	int	high = (int)SvIV(ST(2))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetLowHigh",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6381 "Cdk.xs"
	{
	   setCDKSliderLowHigh (object,low,high);
	}
#line 17817 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSLIDER *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetBox",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6390 "Cdk.xs"
	{
	   setCDKSliderBox (object,Box);
	}
#line 17850 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetULChar",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6399 "Cdk.xs"
	{
	   setCDKSliderULChar (object,character);
	}
#line 17883 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetURChar",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6408 "Cdk.xs"
	{
	   setCDKSliderURChar (object,character);
	}
#line 17916 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetLLChar",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6417 "Cdk.xs"
	{
	   setCDKSliderLLChar (object,character);
	}
#line 17949 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetLRChar",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6426 "Cdk.xs"
	{
	   setCDKSliderLRChar (object,character);
	}
#line 17982 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetVerticalChar",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6435 "Cdk.xs"
	{
	   setCDKSliderVerticalChar (object,character);
	}
#line 18015 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetHorizontalChar",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6444 "Cdk.xs"
	{
	   setCDKSliderHorizontalChar (object,character);
	}
#line 18048 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKSLIDER *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetBoxAttribute",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6453 "Cdk.xs"
	{
	   setCDKSliderBoxAttribute (object,character);
	}
#line 18081 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKSLIDER *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::SetBackgroundColor",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6462 "Cdk.xs"
	{
	   setCDKSliderBackgroundColor (object,color);
	}
#line 18115 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKSLIDER *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Bind",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6472 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vSLIDER, object, key, PerlBindCB, function);
	}
#line 18151 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSLIDER *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::PreProcess",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6482 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKSliderPreProcess (object, PerlProcessCB, function);
	}
#line 18189 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Slider_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKSLIDER *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::PostProcess",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6495 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKSliderPostProcess (object, PerlProcessCB, function);
	}
#line 18229 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Slider_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKSLIDER *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Draw",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6508 "Cdk.xs"
	{
	   drawCDKSlider (object,Box);
	}
#line 18264 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Erase",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6516 "Cdk.xs"
	{
	   eraseCDKSlider (object);
	}
#line 18296 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Register",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6524 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN,vSLIDER,object);
	}
#line 18328 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Unregister",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6532 "Cdk.xs"
	{
	   unregisterCDKObject (vSLIDER, object);
	}
#line 18360 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Raise",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6540 "Cdk.xs"
	{
	   raiseCDKObject (vSLIDER, object);
	}
#line 18392 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::Lower",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6548 "Cdk.xs"
	{
	   lowerCDKObject (vSLIDER, object);
	}
#line 18424 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Slider_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Slider_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKSLIDERPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Slider::GetWindow",
			"object", "CDKSLIDERPtr",
			refstr, ST(0)
		);
	}
;
#line 6556 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 18457 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Alphalist_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_New)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "title, label, list, height, width, xPos, yPos, highlight, filler, Box, shadow");
    {
	SV *	title = ST(0)
;
	char *	label = (char *)SvPV_nolen(ST(1))
;
	SV *	list = ST(2)
;
	int	height = (int)SvIV(ST(3))
;
	int	width = (int)SvIV(ST(4))
;
	chtype	highlight = sv2chtype (ST(7));
	chtype	filler = sv2chtype (ST(8));
	int	xPos = sv2int (ST(5));
	int	yPos = sv2int (ST(6));
	int	Box = sv2int (ST(9));
	int	shadow = sv2int (ST(10));
	CDKALPHALIST *	RETVAL;
#line 6577 "Cdk.xs"
	{
	   CDKALPHALIST * alphalistWidget = (CDKALPHALIST *)NULL;
	   char **	List;
	   char *	Title;
	   int listSize;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY(0, list, List, listSize);
	   MAKE_TITLE (title,Title);

	   alphalistWidget = newCDKAlphalist (GCDKSCREEN, xPos, yPos,
					      height, width,
					      Title, label,
					      (CDK_CONST char **)List, listSize,
					      filler, highlight,
					      Box, shadow);
	   free (List);
	   free (Title);

	   /* Check the return type. */
	   if (alphalistWidget == (CDKALPHALIST *)NULL)
	   {
	      croak ("Cdk::Alphalist Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = alphalistWidget;
	   }
	}
#line 18525 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKALPHALISTPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Alphalist_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Activate",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6615 "Cdk.xs"
	{
	   SV *sv = (SV *)&PL_sv_undef;
	   chtype *	Keys;
	   int arrayLen;
	   char *value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKAlphalist (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKAlphalist (object, NULL);
	   }

	   if (object->exitType == vNORMAL)
	   {
	      sv = newSVpv (value, strlen (value));
	   }
	   XPUSHs (sv);
	}
#line 18585 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Alphalist_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKALPHALIST *	object;
	chtype	key = sv2chtype (ST(1));
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Inject",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6644 "Cdk.xs"
	{
	   char *value = injectCDKAlphalist (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 18627 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Alphalist_SetContents); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetContents)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, list");
    {
	CDKALPHALIST*	object;
	SV *	list = ST(1)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetContents",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6661 "Cdk.xs"
	{
	   char **	List;
	   int		listSize;

	   MAKE_CHAR_ARRAY(0, list, List, listSize);
	   setCDKAlphalistContents (object, (CDK_CONST char **) List, listSize);
	   free (List);
	}
#line 18668 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetFillerChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetFillerChar)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, filler");
    {
	CDKALPHALIST*	object;
	chtype	filler = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetFillerChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6675 "Cdk.xs"
	{
	   setCDKAlphalistFillerChar (object,filler);
	}
#line 18701 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetHighlight)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, highlight");
    {
	CDKALPHALIST*	object;
	chtype	highlight = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetHighlight",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6684 "Cdk.xs"
	{
	   setCDKAlphalistHighlight (object,highlight);
	}
#line 18734 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKALPHALIST *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetBox",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6693 "Cdk.xs"
	{
	   setCDKAlphalistBox (object,Box);
	}
#line 18767 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetULChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6702 "Cdk.xs"
	{
	   setCDKAlphalistULChar (object,character);
	}
#line 18800 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetURChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6711 "Cdk.xs"
	{
	   setCDKAlphalistURChar (object,character);
	}
#line 18833 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetLLChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6720 "Cdk.xs"
	{
	   setCDKAlphalistLLChar (object,character);
	}
#line 18866 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetLRChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6729 "Cdk.xs"
	{
	   setCDKAlphalistLRChar (object,character);
	}
#line 18899 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetVerticalChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6738 "Cdk.xs"
	{
	   setCDKAlphalistVerticalChar (object,character);
	}
#line 18932 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetHorizontalChar",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6747 "Cdk.xs"
	{
	   setCDKAlphalistHorizontalChar (object,character);
	}
#line 18965 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKALPHALIST *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetBoxAttribute",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6756 "Cdk.xs"
	{
	   setCDKAlphalistBoxAttribute (object,character);
	}
#line 18998 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKALPHALIST *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::SetBackgroundColor",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6765 "Cdk.xs"
	{
	   setCDKAlphalistBackgroundColor (object,color);
	}
#line 19032 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_Get); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Get)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;
	char *	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Get",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6773 "Cdk.xs"
	{
	   RETVAL = object->entryField->info;
	}
#line 19066 "Cdk.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Alphalist_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKALPHALIST *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Bind",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6785 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vALPHALIST, object, key, PerlBindCB, function);
	}
#line 19104 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKALPHALIST *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::PreProcess",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6795 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKAlphalistPreProcess (object, PerlProcessCB, function);
	}
#line 19142 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Alphalist_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKALPHALIST *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::PostProcess",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6808 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKAlphalistPostProcess (object, PerlProcessCB, function);
	}
#line 19182 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Alphalist_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKALPHALIST *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Draw",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6821 "Cdk.xs"
	{
	   drawCDKAlphalist (object,Box);
	}
#line 19217 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Erase",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6829 "Cdk.xs"
	{
	   eraseCDKAlphalist (object);
	}
#line 19249 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Register",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6837 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN,vALPHALIST,object);
	}
#line 19281 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Unregister",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6845 "Cdk.xs"
	{
	   unregisterCDKObject (vALPHALIST, object);
	}
#line 19313 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Raise",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6853 "Cdk.xs"
	{
	   raiseCDKObject (vALPHALIST, object);
	}
#line 19345 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::Lower",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6861 "Cdk.xs"
	{
	   lowerCDKObject (vALPHALIST, object);
	}
#line 19377 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Alphalist_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Alphalist_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKALPHALISTPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Alphalist::GetWindow",
			"object", "CDKALPHALISTPtr",
			refstr, ST(0)
		);
	}
;
#line 6869 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 19410 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Calendar_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_New)
{
    dVAR; dXSARGS;
    if (items < 8 || items > 12)
       croak_xs_usage(cv,  "title, day, month, year, dayAttrib, monthAttrib, yearAttrib, highlight, xPos=CENTER, yPos=CENTER, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	int	day = (int)SvIV(ST(1))
;
	int	month = (int)SvIV(ST(2))
;
	int	year = (int)SvIV(ST(3))
;
	chtype	dayAttrib = sv2chtype (ST(4));
	chtype	monthAttrib = sv2chtype (ST(5));
	chtype	yearAttrib = sv2chtype (ST(6));
	chtype	highlight = sv2chtype (ST(7));
	int	xPos = sv2int (ST(8));
	int	yPos = sv2int (ST(9));
	int	Box = sv2int (ST(10));
	int	shadow = sv2int (ST(11));
	CDKCALENDAR *	RETVAL;
#line 6892 "Cdk.xs"
	{
	   CDKCALENDAR * calendarWidget = (CDKCALENDAR *)NULL;
	   char *	Title;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_TITLE (title,Title);

	   calendarWidget = newCDKCalendar (GCDKSCREEN,xPos,yPos,Title,
						day,month,year,
						dayAttrib,monthAttrib,yearAttrib,
						highlight,Box,shadow);
	   free (Title);

	   /* Check the return type. */
	   if (calendarWidget == (CDKCALENDAR *)NULL)
	   {
	      croak ("Cdk::Calendar Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = calendarWidget;
	   }
	}
#line 19472 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKCALENDARPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Calendar_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Activate",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 6924 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      activateCDKCalendar (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      activateCDKCalendar (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }

	   XPUSHs (sv_2mortal(newSViv(object->day)));
	   XPUSHs (sv_2mortal(newSViv(object->month)));
	   XPUSHs (sv_2mortal(newSViv(object->year)));
	}
#line 19534 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Calendar_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKCALENDAR *	object;
	chtype	key = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Inject",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 6955 "Cdk.xs"
	{
	   (void) injectCDKCalendar (object,key);
	   if (object->exitType == vESCAPE_HIT ||
	       object->exitType == vEARLY_EXIT)
	   {
	      XSRETURN_UNDEF;
	   }

	   XPUSHs (sv_2mortal(newSViv(object->day)));
	   XPUSHs (sv_2mortal(newSViv(object->month)));
	   XPUSHs (sv_2mortal(newSViv(object->year)));
	}
#line 19579 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Calendar_SetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_SetDate)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "object, day, month, year");
    {
	CDKCALENDAR *	object;
	int	day = (int)SvIV(ST(1))
;
	int	month = (int)SvIV(ST(2))
;
	int	year = (int)SvIV(ST(3))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::SetDate",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 6975 "Cdk.xs"
	{
	   setCDKCalendarDate (object,day,month,year);
	}
#line 19618 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_GetDate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_GetDate)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::GetDate",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 6983 "Cdk.xs"
	{
	   XPUSHs (sv_2mortal(newSViv(object->day)));
	   XPUSHs (sv_2mortal(newSViv(object->month)));
	   XPUSHs (sv_2mortal(newSViv(object->year)));
	}
#line 19654 "Cdk.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Cdk__Calendar_SetMarker); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_SetMarker)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "object, day, month, year, marker");
    {
	CDKCALENDAR *	object;
	int	day = (int)SvIV(ST(1))
;
	int	month = (int)SvIV(ST(2))
;
	int	year = (int)SvIV(ST(3))
;
	chtype	marker = sv2chtype (ST(4));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::SetMarker",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 6997 "Cdk.xs"
	{
	   setCDKCalendarMarker (object,day,month,year,marker);
	}
#line 19694 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_RemoveMarker); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_RemoveMarker)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "object, day, month, year");
    {
	CDKCALENDAR *	object;
	int	day = (int)SvIV(ST(1))
;
	int	month = (int)SvIV(ST(2))
;
	int	year = (int)SvIV(ST(3))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::RemoveMarker",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7008 "Cdk.xs"
	{
	   removeCDKCalendarMarker (object,day,month,year);
	}
#line 19732 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_SetDayAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_SetDayAttribute)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, attribute");
    {
	CDKCALENDAR *	object;
	chtype	attribute = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::SetDayAttribute",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7017 "Cdk.xs"
	{
	   setCDKCalendarDayAttribute (object, attribute);
	}
#line 19765 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKCALENDAR *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Bind",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7027 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vCALENDAR, object, key, PerlBindCB, function);
	}
#line 19801 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKCALENDAR *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::PreProcess",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7037 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKCalendarPreProcess (object, PerlProcessCB, function);
	}
#line 19839 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Calendar_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKCALENDAR *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::PostProcess",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7050 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKCalendarPostProcess (object, PerlProcessCB, function);
	}
#line 19879 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Calendar_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKCALENDAR *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Draw",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7063 "Cdk.xs"
	{
	   drawCDKCalendar (object,Box);
	}
#line 19914 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Erase",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7071 "Cdk.xs"
	{
	   eraseCDKCalendar(object);
	}
#line 19946 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Set); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Set)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "object, year, month, day, yearAttrib, monthAttrib, dayAttrib, highlight, Box");
    {
	CDKCALENDAR *	object;
	int	day = (int)SvIV(ST(3))
;
	int	month = (int)SvIV(ST(2))
;
	int	year = (int)SvIV(ST(1))
;
	chtype	dayAttrib = sv2chtype (ST(6));
	chtype	monthAttrib = sv2chtype (ST(5));
	chtype	yearAttrib = sv2chtype (ST(4));
	chtype	highlight = sv2chtype (ST(7));
	int	Box = sv2int (ST(8));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Set",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7087 "Cdk.xs"
	{
	   setCDKCalendar (object,day,month,year,yearAttrib,monthAttrib,dayAttrib,highlight,Box);
	}
#line 19989 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Register",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7095 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vCALENDAR, object);
	}
#line 20021 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Unregister",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7103 "Cdk.xs"
	{
	   unregisterCDKObject (vCALENDAR, object);
	}
#line 20053 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Raise",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7111 "Cdk.xs"
	{
	   raiseCDKObject (vCALENDAR, object);
	}
#line 20085 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::Lower",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7119 "Cdk.xs"
	{
	   lowerCDKObject (vCALENDAR, object);
	}
#line 20117 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Calendar_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Calendar_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKCALENDARPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Calendar::GetWindow",
			"object", "CDKCALENDARPtr",
			refstr, ST(0)
		);
	}
;
#line 7127 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 20150 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Buttonbox_New); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_New)
{
    dVAR; dXSARGS;
    if (items < 6 || items > 11)
       croak_xs_usage(cv,  "title, buttons, rows, cols, height, width, xPos=CENTER, yPos=CENTER, highlight=A_REVERSE, Box=TRUE, shadow=FALSE");
    {
	SV *	title = ST(0)
;
	SV *	buttons = ST(1)
;
	int	rows = (int)SvIV(ST(2))
;
	int	cols = (int)SvIV(ST(3))
;
	int	height = (int)SvIV(ST(4))
;
	int	width = (int)SvIV(ST(5))
;
	int	xPos = sv2int (ST(6));
	int	yPos = sv2int (ST(7));
	chtype	highlight = sv2chtype (ST(8));
	int	Box = sv2int (ST(9));
	int	shadow = sv2int (ST(10));
	CDKBUTTONBOX *	RETVAL;
#line 7149 "Cdk.xs"
	{
	   CDKBUTTONBOX *	widget = (CDKBUTTONBOX *)NULL;
	   char **		Buttons;
	   char *		Title;
	   int			buttonCount;

	   checkCdkInit();
	   RETVAL = 0;

	   MAKE_CHAR_ARRAY (0, buttons, Buttons, buttonCount);
	   MAKE_TITLE (title,Title);

	   widget = newCDKButtonbox (GCDKSCREEN, xPos, yPos,
					height, width, Title,
					rows, cols,
					(CDK_CONST char **)Buttons, buttonCount,
					highlight, Box, shadow);
	   free (Buttons);
	   free (Title);

	   /* Check the return type. */
	   if (widget == (CDKBUTTONBOX *)NULL)
	   {
	      croak ("Cdk::Buttonbox Could not create widget. Is the window too small?\n");
	   }
	   else
	   {
	      RETVAL = widget;
	   }
	}
#line 20218 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "CDKBUTTONBOXPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Buttonbox_Activate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Activate)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "object, ...");
    {
	CDKBUTTONBOX *	object;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Activate",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7186 "Cdk.xs"
	{
	   chtype *	Keys;
	   int arrayLen;
	   int value;

	   if (items > 1)
	   {
	      MAKE_CHTYPE_ARRAY(0, ST(1), Keys, arrayLen);
	      value = activateCDKButtonbox (object, Keys);
	      free (Keys);
	   }
	   else
	   {
	      value = activateCDKButtonbox (object, NULL);
	   }

	   if (object->exitType == vEARLY_EXIT ||
	       object->exitType == vESCAPE_HIT)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = value;
	}
#line 20278 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Buttonbox_Inject); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Inject)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, key");
    {
	CDKBUTTONBOX *	object;
	chtype	key = sv2chtype (ST(1));
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Inject",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7217 "Cdk.xs"
	{
	   int selection = injectCDKButtonbox (object,key);
	   if (selection == -1)
	   {
	      XSRETURN_UNDEF;
	   }
	   RETVAL = selection;
	}
#line 20320 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Buttonbox_Bind); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Bind)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "object, key, functionRef");
    {
	CDKBUTTONBOX *	object;
	chtype	key = sv2chtype (ST(1));
	SV *	functionRef = ST(2)
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Bind",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7234 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   bindCDKObject (vBUTTONBOX, object, key, PerlBindCB, function);
	}
#line 20358 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_PreProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_PreProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKBUTTONBOX *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::PreProcess",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7244 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKButtonboxPreProcess (object, PerlProcessCB, function);
	}
#line 20396 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Buttonbox_PostProcess); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_PostProcess)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, functionRef");
    {
	CDKBUTTONBOX *	object;
	SV *	functionRef = ST(1)
;
	int	RETVAL;
	dXSTARG;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::PostProcess",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7257 "Cdk.xs"
	{
	   SV *function = newSVsv (functionRef);
	   RETVAL = 0;
	   setCDKButtonboxPostProcess (object, PerlProcessCB, function);
	}
#line 20436 "Cdk.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Cdk__Buttonbox_Draw); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Draw)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKBUTTONBOX *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Draw",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7270 "Cdk.xs"
	{
	   drawCDKButtonbox (object,Box);
	}
#line 20471 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_Erase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Erase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Erase",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7278 "Cdk.xs"
	{
	   eraseCDKButtonbox (object);
	}
#line 20503 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetHighlight); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetHighlight)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, highlight=A_REVERSE");
    {
	CDKBUTTONBOX *	object;
	chtype	highlight = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetHighlight",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7287 "Cdk.xs"
	{
	   setCDKButtonboxHighlight (object,highlight);
	}
#line 20536 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetBox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetBox)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, Box=TRUE");
    {
	CDKBUTTONBOX *	object;
	int	Box = sv2int (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetBox",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7296 "Cdk.xs"
	{
	   setCDKButtonboxBox (object,Box);
	}
#line 20569 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetULChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetULChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_ULCORNER");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetULChar",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7305 "Cdk.xs"
	{
	   setCDKButtonboxULChar (object,character);
	}
#line 20602 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetURChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetURChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_URCORNER");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetURChar",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7314 "Cdk.xs"
	{
	   setCDKButtonboxURChar (object,character);
	}
#line 20635 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetLLChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetLLChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LLCORNER");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetLLChar",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7323 "Cdk.xs"
	{
	   setCDKButtonboxLLChar (object,character);
	}
#line 20668 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetLRChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetLRChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_LRCORNER");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetLRChar",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7332 "Cdk.xs"
	{
	   setCDKButtonboxLRChar (object,character);
	}
#line 20701 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetVerticalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetVerticalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_VLINE");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetVerticalChar",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7341 "Cdk.xs"
	{
	   setCDKButtonboxVerticalChar (object,character);
	}
#line 20734 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetHorizontalChar); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetHorizontalChar)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetHorizontalChar",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7350 "Cdk.xs"
	{
	   setCDKButtonboxHorizontalChar (object,character);
	}
#line 20767 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetBoxAttribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetBoxAttribute)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "object, character=ACS_HLINE");
    {
	CDKBUTTONBOX *	object;
	chtype	character = sv2chtype (ST(1));

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetBoxAttribute",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7359 "Cdk.xs"
	{
	   setCDKButtonboxBoxAttribute (object,character);
	}
#line 20800 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_SetBackgroundColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_SetBackgroundColor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, color");
    {
	CDKBUTTONBOX *	object;
	char *	color = (char *)SvPV_nolen(ST(1))
;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::SetBackgroundColor",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7368 "Cdk.xs"
	{
	   setCDKButtonboxBackgroundColor (object,color);
	}
#line 20834 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_Register); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Register)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Register",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7376 "Cdk.xs"
	{
	   registerCDKObject (GCDKSCREEN, vBUTTONBOX, object);
	}
#line 20866 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_Unregister); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Unregister)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Unregister",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7384 "Cdk.xs"
	{
	   unregisterCDKObject (vBUTTONBOX, object);
	}
#line 20898 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_Raise); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Raise)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Raise",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7392 "Cdk.xs"
	{
	   raiseCDKObject (vBUTTONBOX, object);
	}
#line 20930 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_Lower); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_Lower)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::Lower",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7400 "Cdk.xs"
	{
	   lowerCDKObject (vBUTTONBOX, object);
	}
#line 20962 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Cdk__Buttonbox_GetWindow); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Cdk__Buttonbox_GetWindow)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;
	WINDOW *	RETVAL;

	if (SvROK(ST(0)) && sv_derived_from(ST(0), "CDKBUTTONBOXPtr")) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else {
		const char* refstr = SvROK(ST(0)) ? "" : SvOK(ST(0)) ? "scalar " : "undef";
	    Perl_croak_nocontext("%s: Expected %s to be of type %s; got %s%" SVf " instead",
			"Cdk::Buttonbox::GetWindow",
			"object", "CDKBUTTONBOXPtr",
			refstr, ST(0)
		);
	}
;
#line 7408 "Cdk.xs"
	{
	   RETVAL = object->win;
	}
#line 20995 "Cdk.c"
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    sv_setref_pv(RETVALSV, "WINDOWPtr", (void*)RETVAL);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_CDKLABELPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKLABELPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKLABEL *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKLABEL *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKLABELPtr::DESTROY",
			"object")
;
#line 7419 "Cdk.xs"
	{
	   destroyCDKLabel (object);
	}
#line 21029 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKBUTTONBOXPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKBUTTONBOXPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKBUTTONBOX *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKBUTTONBOX *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKBUTTONBOXPtr::DESTROY",
			"object")
;
#line 7428 "Cdk.xs"
	{
	   destroyCDKButtonbox (object);
	}
#line 21057 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKDIALOGPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKDIALOGPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKDIALOG *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKDIALOG *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKDIALOGPtr::DESTROY",
			"object")
;
#line 7437 "Cdk.xs"
	{
	   destroyCDKDialog (object);
	}
#line 21085 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKENTRYPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKENTRYPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKENTRY *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKENTRY *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKENTRYPtr::DESTROY",
			"object")
;
#line 7446 "Cdk.xs"
	{
	   destroyCDKEntry (object);
	}
#line 21113 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKSCROLLPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKSCROLLPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCROLL *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCROLL *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKSCROLLPtr::DESTROY",
			"object")
;
#line 7455 "Cdk.xs"
	{
	   destroyCDKScroll (object);
	}
#line 21141 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKSCALEPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKSCALEPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSCALE *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSCALE *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKSCALEPtr::DESTROY",
			"object")
;
#line 7464 "Cdk.xs"
	{
	   destroyCDKScale (object);
	}
#line 21169 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKHISTOGRAMPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKHISTOGRAMPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKHISTOGRAM *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKHISTOGRAM *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKHISTOGRAMPtr::DESTROY",
			"object")
;
#line 7473 "Cdk.xs"
	{
	   destroyCDKHistogram (object);
	}
#line 21197 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKMENUPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKMENUPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENU *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENU *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKMENUPtr::DESTROY",
			"object")
;
#line 7482 "Cdk.xs"
	{
	   destroyCDKMenu (object);
	}
#line 21225 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKMENTRYPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKMENTRYPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMENTRY *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMENTRY *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKMENTRYPtr::DESTROY",
			"object")
;
#line 7491 "Cdk.xs"
	{
	   destroyCDKMentry (object);
	}
#line 21253 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKMATRIXPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKMATRIXPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMATRIX *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMATRIX *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKMATRIXPtr::DESTROY",
			"object")
;
#line 7500 "Cdk.xs"
	{
	   destroyCDKMatrix (object);
	}
#line 21281 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKMARQUEEPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKMARQUEEPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKMARQUEE *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKMARQUEE *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKMARQUEEPtr::DESTROY",
			"object")
;
#line 7509 "Cdk.xs"
	{
	   destroyCDKMarquee (object);
	}
#line 21309 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKSELECTIONPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKSELECTIONPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSELECTION *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSELECTION *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKSELECTIONPtr::DESTROY",
			"object")
;
#line 7518 "Cdk.xs"
	{
	   destroyCDKSelection (object);
	}
#line 21337 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKVIEWERPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKVIEWERPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKVIEWER *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKVIEWER *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKVIEWERPtr::DESTROY",
			"object")
;
#line 7527 "Cdk.xs"
	{
	   destroyCDKViewer (object);
	}
#line 21365 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKGRAPHPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKGRAPHPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKGRAPH *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKGRAPH *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKGRAPHPtr::DESTROY",
			"object")
;
#line 7536 "Cdk.xs"
	{
	   destroyCDKGraph (object);
	}
#line 21393 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKRADIOPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKRADIOPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKRADIO *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKRADIO *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKRADIOPtr::DESTROY",
			"object")
;
#line 7545 "Cdk.xs"
	{
	   destroyCDKRadio (object);
	}
#line 21421 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKTEMPLATEPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKTEMPLATEPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKTEMPLATE *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKTEMPLATE *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKTEMPLATEPtr::DESTROY",
			"object")
;
#line 7554 "Cdk.xs"
	{
	   destroyCDKTemplate (object);
	}
#line 21449 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKSWINDOWPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKSWINDOWPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSWINDOW *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSWINDOW *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKSWINDOWPtr::DESTROY",
			"object")
;
#line 7563 "Cdk.xs"
	{
	   destroyCDKSwindow (object);
	}
#line 21477 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKITEMLISTPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKITEMLISTPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKITEMLIST *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKITEMLIST *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKITEMLISTPtr::DESTROY",
			"object")
;
#line 7572 "Cdk.xs"
	{
	   destroyCDKItemlist (object);
	}
#line 21505 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKFSELECTPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKFSELECTPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKFSELECT *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKFSELECT *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKFSELECTPtr::DESTROY",
			"object")
;
#line 7581 "Cdk.xs"
	{
	   destroyCDKFselect (object);
	}
#line 21533 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKSLIDERPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKSLIDERPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKSLIDER *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKSLIDER *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKSLIDERPtr::DESTROY",
			"object")
;
#line 7590 "Cdk.xs"
	{
	   destroyCDKSlider (object);
	}
#line 21561 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKALPHALISTPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKALPHALISTPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKALPHALIST *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKALPHALIST *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKALPHALISTPtr::DESTROY",
			"object")
;
#line 7599 "Cdk.xs"
	{
	   destroyCDKAlphalist (object);
	}
#line 21589 "Cdk.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_CDKCALENDARPtr_DESTROY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_CDKCALENDARPtr_DESTROY)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "object");
    {
	CDKCALENDAR *	object;

	if (SvROK(ST(0))) {
	    IV tmp = SvIV((SV*)SvRV(ST(0)));
	    object = INT2PTR(CDKCALENDAR *,tmp);
	}
	else
	    Perl_croak_nocontext("%s: %s is not a reference",
			"CDKCALENDARPtr::DESTROY",
			"object")
;
#line 7608 "Cdk.xs"
	{
	   destroyCDKCalendar (object);
	}
#line 21617 "Cdk.c"
    }
    XSRETURN_EMPTY;
}

#ifdef __cplusplus
extern "C" {
#endif
XS_EXTERNAL(boot_Cdk); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Cdk)
{
#if PERL_VERSION_LE(5, 21, 5)
    dVAR; dXSARGS;
#else
    dVAR; dXSBOOTARGSXSAPIVERCHK;
#endif
#if PERL_VERSION_LE(5, 8, 999) /* PERL_VERSION_LT is 5.33+ */
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(file);

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#if PERL_VERSION_LE(5, 21, 5)
    XS_VERSION_BOOTCHECK;
#  ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#  endif
#endif

        newXS_deffile("Cdk::getVersion", XS_Cdk_getVersion);
        newXS_deffile("Cdk::constant", XS_Cdk_constant);
        newXS_deffile("Cdk::Beep", XS_Cdk_Beep);
        newXS_deffile("Cdk::init", XS_Cdk_init);
        newXS_deffile("Cdk::getColor", XS_Cdk_getColor);
        newXS_deffile("Cdk::end", XS_Cdk_end);
        newXS_deffile("Cdk::getCdkScreen", XS_Cdk_getCdkScreen);
        newXS_deffile("Cdk::getCdkScreenDim", XS_Cdk_getCdkScreenDim);
        newXS_deffile("Cdk::getCdkWindow", XS_Cdk_getCdkWindow);
        newXS_deffile("Cdk::refreshCdkScreen", XS_Cdk_refreshCdkScreen);
        newXS_deffile("Cdk::eraseCdkScreen", XS_Cdk_eraseCdkScreen);
        newXS_deffile("Cdk::destroyCdkScreen", XS_Cdk_destroyCdkScreen);
        newXS_deffile("Cdk::DrawMesg", XS_Cdk_DrawMesg);
        newXS_deffile("Cdk::getch", XS_Cdk_getch);
        newXS_deffile("Cdk::raw", XS_Cdk_raw);
        newXS_deffile("Cdk::noraw", XS_Cdk_noraw);
        newXS_deffile("Cdk::Label::New", XS_Cdk__Label_New);
        newXS_deffile("Cdk::Label::SetMessage", XS_Cdk__Label_SetMessage);
        newXS_deffile("Cdk::Label::SetBox", XS_Cdk__Label_SetBox);
        newXS_deffile("Cdk::Label::SetULChar", XS_Cdk__Label_SetULChar);
        newXS_deffile("Cdk::Label::SetURChar", XS_Cdk__Label_SetURChar);
        newXS_deffile("Cdk::Label::SetLLChar", XS_Cdk__Label_SetLLChar);
        newXS_deffile("Cdk::Label::SetLRChar", XS_Cdk__Label_SetLRChar);
        newXS_deffile("Cdk::Label::SetVerticalChar", XS_Cdk__Label_SetVerticalChar);
        newXS_deffile("Cdk::Label::SetHorizontalChar", XS_Cdk__Label_SetHorizontalChar);
        newXS_deffile("Cdk::Label::SetBoxAttribute", XS_Cdk__Label_SetBoxAttribute);
        newXS_deffile("Cdk::Label::SetBackgroundColor", XS_Cdk__Label_SetBackgroundColor);
        newXS_deffile("Cdk::Label::Draw", XS_Cdk__Label_Draw);
        newXS_deffile("Cdk::Label::Erase", XS_Cdk__Label_Erase);
        newXS_deffile("Cdk::Label::Wait", XS_Cdk__Label_Wait);
        newXS_deffile("Cdk::Label::Register", XS_Cdk__Label_Register);
        newXS_deffile("Cdk::Label::Unregister", XS_Cdk__Label_Unregister);
        newXS_deffile("Cdk::Label::Raise", XS_Cdk__Label_Raise);
        newXS_deffile("Cdk::Label::Lower", XS_Cdk__Label_Lower);
        newXS_deffile("Cdk::Label::GetWindow", XS_Cdk__Label_GetWindow);
        newXS_deffile("Cdk::Dialog::New", XS_Cdk__Dialog_New);
        newXS_deffile("Cdk::Dialog::Activate", XS_Cdk__Dialog_Activate);
        newXS_deffile("Cdk::Dialog::Inject", XS_Cdk__Dialog_Inject);
        newXS_deffile("Cdk::Dialog::Bind", XS_Cdk__Dialog_Bind);
        newXS_deffile("Cdk::Dialog::PreProcess", XS_Cdk__Dialog_PreProcess);
        newXS_deffile("Cdk::Dialog::PostProcess", XS_Cdk__Dialog_PostProcess);
        newXS_deffile("Cdk::Dialog::Draw", XS_Cdk__Dialog_Draw);
        newXS_deffile("Cdk::Dialog::Erase", XS_Cdk__Dialog_Erase);
        newXS_deffile("Cdk::Dialog::SetHighlight", XS_Cdk__Dialog_SetHighlight);
        newXS_deffile("Cdk::Dialog::SetSeparator", XS_Cdk__Dialog_SetSeparator);
        newXS_deffile("Cdk::Dialog::SetBox", XS_Cdk__Dialog_SetBox);
        newXS_deffile("Cdk::Dialog::SetULChar", XS_Cdk__Dialog_SetULChar);
        newXS_deffile("Cdk::Dialog::SetURChar", XS_Cdk__Dialog_SetURChar);
        newXS_deffile("Cdk::Dialog::SetLLChar", XS_Cdk__Dialog_SetLLChar);
        newXS_deffile("Cdk::Dialog::SetLRChar", XS_Cdk__Dialog_SetLRChar);
        newXS_deffile("Cdk::Dialog::SetVerticalChar", XS_Cdk__Dialog_SetVerticalChar);
        newXS_deffile("Cdk::Dialog::SetHorizontalChar", XS_Cdk__Dialog_SetHorizontalChar);
        newXS_deffile("Cdk::Dialog::SetBoxAttribute", XS_Cdk__Dialog_SetBoxAttribute);
        newXS_deffile("Cdk::Dialog::SetBackgroundColor", XS_Cdk__Dialog_SetBackgroundColor);
        newXS_deffile("Cdk::Dialog::Register", XS_Cdk__Dialog_Register);
        newXS_deffile("Cdk::Dialog::Unregister", XS_Cdk__Dialog_Unregister);
        newXS_deffile("Cdk::Dialog::Raise", XS_Cdk__Dialog_Raise);
        newXS_deffile("Cdk::Dialog::Lower", XS_Cdk__Dialog_Lower);
        newXS_deffile("Cdk::Dialog::GetWindow", XS_Cdk__Dialog_GetWindow);
        newXS_deffile("Cdk::Scroll::New", XS_Cdk__Scroll_New);
        newXS_deffile("Cdk::Scroll::Activate", XS_Cdk__Scroll_Activate);
        newXS_deffile("Cdk::Scroll::Inject", XS_Cdk__Scroll_Inject);
        newXS_deffile("Cdk::Scroll::Add", XS_Cdk__Scroll_Add);
        newXS_deffile("Cdk::Scroll::Delete", XS_Cdk__Scroll_Delete);
        newXS_deffile("Cdk::Scroll::Bind", XS_Cdk__Scroll_Bind);
        newXS_deffile("Cdk::Scroll::PreProcess", XS_Cdk__Scroll_PreProcess);
        newXS_deffile("Cdk::Scroll::PostProcess", XS_Cdk__Scroll_PostProcess);
        newXS_deffile("Cdk::Scroll::Draw", XS_Cdk__Scroll_Draw);
        newXS_deffile("Cdk::Scroll::Erase", XS_Cdk__Scroll_Erase);
        newXS_deffile("Cdk::Scroll::Info", XS_Cdk__Scroll_Info);
        newXS_deffile("Cdk::Scroll::SetItems", XS_Cdk__Scroll_SetItems);
        newXS_deffile("Cdk::Scroll::SetHighlight", XS_Cdk__Scroll_SetHighlight);
        newXS_deffile("Cdk::Scroll::SetBox", XS_Cdk__Scroll_SetBox);
        newXS_deffile("Cdk::Scroll::SetULChar", XS_Cdk__Scroll_SetULChar);
        newXS_deffile("Cdk::Scroll::SetURChar", XS_Cdk__Scroll_SetURChar);
        newXS_deffile("Cdk::Scroll::SetLLChar", XS_Cdk__Scroll_SetLLChar);
        newXS_deffile("Cdk::Scroll::SetLRChar", XS_Cdk__Scroll_SetLRChar);
        newXS_deffile("Cdk::Scroll::SetVerticalChar", XS_Cdk__Scroll_SetVerticalChar);
        newXS_deffile("Cdk::Scroll::SetHorizontalChar", XS_Cdk__Scroll_SetHorizontalChar);
        newXS_deffile("Cdk::Scroll::SetBoxAttribute", XS_Cdk__Scroll_SetBoxAttribute);
        newXS_deffile("Cdk::Scroll::SetBackgroundColor", XS_Cdk__Scroll_SetBackgroundColor);
        newXS_deffile("Cdk::Scroll::Register", XS_Cdk__Scroll_Register);
        newXS_deffile("Cdk::Scroll::Unregister", XS_Cdk__Scroll_Unregister);
        newXS_deffile("Cdk::Scroll::Raise", XS_Cdk__Scroll_Raise);
        newXS_deffile("Cdk::Scroll::Lower", XS_Cdk__Scroll_Lower);
        newXS_deffile("Cdk::Scroll::GetWindow", XS_Cdk__Scroll_GetWindow);
        newXS_deffile("Cdk::Scale::New", XS_Cdk__Scale_New);
        newXS_deffile("Cdk::Scale::Activate", XS_Cdk__Scale_Activate);
        newXS_deffile("Cdk::Scale::Inject", XS_Cdk__Scale_Inject);
        newXS_deffile("Cdk::Scale::Bind", XS_Cdk__Scale_Bind);
        newXS_deffile("Cdk::Scale::PreProcess", XS_Cdk__Scale_PreProcess);
        newXS_deffile("Cdk::Scale::PostProcess", XS_Cdk__Scale_PostProcess);
        newXS_deffile("Cdk::Scale::Draw", XS_Cdk__Scale_Draw);
        newXS_deffile("Cdk::Scale::Erase", XS_Cdk__Scale_Erase);
        newXS_deffile("Cdk::Scale::SetValue", XS_Cdk__Scale_SetValue);
        newXS_deffile("Cdk::Scale::SetLowHigh", XS_Cdk__Scale_SetLowHigh);
        newXS_deffile("Cdk::Scale::SetBox", XS_Cdk__Scale_SetBox);
        newXS_deffile("Cdk::Scale::SetULChar", XS_Cdk__Scale_SetULChar);
        newXS_deffile("Cdk::Scale::SetURChar", XS_Cdk__Scale_SetURChar);
        newXS_deffile("Cdk::Scale::SetLLChar", XS_Cdk__Scale_SetLLChar);
        newXS_deffile("Cdk::Scale::SetLRChar", XS_Cdk__Scale_SetLRChar);
        newXS_deffile("Cdk::Scale::SetVerticalChar", XS_Cdk__Scale_SetVerticalChar);
        newXS_deffile("Cdk::Scale::SetHorizontalChar", XS_Cdk__Scale_SetHorizontalChar);
        newXS_deffile("Cdk::Scale::SetBoxAttribute", XS_Cdk__Scale_SetBoxAttribute);
        newXS_deffile("Cdk::Scale::SetBackgroundColor", XS_Cdk__Scale_SetBackgroundColor);
        newXS_deffile("Cdk::Scale::Register", XS_Cdk__Scale_Register);
        newXS_deffile("Cdk::Scale::Unregister", XS_Cdk__Scale_Unregister);
        newXS_deffile("Cdk::Scale::Raise", XS_Cdk__Scale_Raise);
        newXS_deffile("Cdk::Scale::Lower", XS_Cdk__Scale_Lower);
        newXS_deffile("Cdk::Scale::GetWindow", XS_Cdk__Scale_GetWindow);
        newXS_deffile("Cdk::Histogram::New", XS_Cdk__Histogram_New);
        newXS_deffile("Cdk::Histogram::SetDisplayType", XS_Cdk__Histogram_SetDisplayType);
        newXS_deffile("Cdk::Histogram::SetValue", XS_Cdk__Histogram_SetValue);
        newXS_deffile("Cdk::Histogram::SetFillerChar", XS_Cdk__Histogram_SetFillerChar);
        newXS_deffile("Cdk::Histogram::SetStatsPos", XS_Cdk__Histogram_SetStatsPos);
        newXS_deffile("Cdk::Histogram::SetStatsAttr", XS_Cdk__Histogram_SetStatsAttr);
        newXS_deffile("Cdk::Histogram::SetBox", XS_Cdk__Histogram_SetBox);
        newXS_deffile("Cdk::Histogram::SetULChar", XS_Cdk__Histogram_SetULChar);
        newXS_deffile("Cdk::Histogram::SetURChar", XS_Cdk__Histogram_SetURChar);
        newXS_deffile("Cdk::Histogram::SetLLChar", XS_Cdk__Histogram_SetLLChar);
        newXS_deffile("Cdk::Histogram::SetLRChar", XS_Cdk__Histogram_SetLRChar);
        newXS_deffile("Cdk::Histogram::SetVerticalChar", XS_Cdk__Histogram_SetVerticalChar);
        newXS_deffile("Cdk::Histogram::SetHorizontalChar", XS_Cdk__Histogram_SetHorizontalChar);
        newXS_deffile("Cdk::Histogram::SetBoxAttribute", XS_Cdk__Histogram_SetBoxAttribute);
        newXS_deffile("Cdk::Histogram::SetBackgroundColor", XS_Cdk__Histogram_SetBackgroundColor);
        newXS_deffile("Cdk::Histogram::Draw", XS_Cdk__Histogram_Draw);
        newXS_deffile("Cdk::Histogram::Erase", XS_Cdk__Histogram_Erase);
        newXS_deffile("Cdk::Histogram::Register", XS_Cdk__Histogram_Register);
        newXS_deffile("Cdk::Histogram::Unregister", XS_Cdk__Histogram_Unregister);
        newXS_deffile("Cdk::Histogram::Raise", XS_Cdk__Histogram_Raise);
        newXS_deffile("Cdk::Histogram::Lower", XS_Cdk__Histogram_Lower);
        newXS_deffile("Cdk::Histogram::GetWindow", XS_Cdk__Histogram_GetWindow);
        newXS_deffile("Cdk::Menu::New", XS_Cdk__Menu_New);
        newXS_deffile("Cdk::Menu::Activate", XS_Cdk__Menu_Activate);
        newXS_deffile("Cdk::Menu::Inject", XS_Cdk__Menu_Inject);
        newXS_deffile("Cdk::Menu::Bind", XS_Cdk__Menu_Bind);
        newXS_deffile("Cdk::Menu::PreProcess", XS_Cdk__Menu_PreProcess);
        newXS_deffile("Cdk::Menu::PostProcess", XS_Cdk__Menu_PostProcess);
        newXS_deffile("Cdk::Menu::Draw", XS_Cdk__Menu_Draw);
        newXS_deffile("Cdk::Menu::Erase", XS_Cdk__Menu_Erase);
        newXS_deffile("Cdk::Menu::SetCurrentItem", XS_Cdk__Menu_SetCurrentItem);
        newXS_deffile("Cdk::Menu::SetTitleHighlight", XS_Cdk__Menu_SetTitleHighlight);
        newXS_deffile("Cdk::Menu::SetSubTitleHighlight", XS_Cdk__Menu_SetSubTitleHighlight);
        newXS_deffile("Cdk::Menu::SetBackgroundColor", XS_Cdk__Menu_SetBackgroundColor);
        newXS_deffile("Cdk::Menu::Register", XS_Cdk__Menu_Register);
        newXS_deffile("Cdk::Menu::Unregister", XS_Cdk__Menu_Unregister);
        newXS_deffile("Cdk::Menu::Raise", XS_Cdk__Menu_Raise);
        newXS_deffile("Cdk::Menu::Lower", XS_Cdk__Menu_Lower);
        newXS_deffile("Cdk::Entry::New", XS_Cdk__Entry_New);
        newXS_deffile("Cdk::Entry::Activate", XS_Cdk__Entry_Activate);
        newXS_deffile("Cdk::Entry::Inject", XS_Cdk__Entry_Inject);
        newXS_deffile("Cdk::Entry::Bind", XS_Cdk__Entry_Bind);
        newXS_deffile("Cdk::Entry::PreProcess", XS_Cdk__Entry_PreProcess);
        newXS_deffile("Cdk::Entry::PostProcess", XS_Cdk__Entry_PostProcess);
        newXS_deffile("Cdk::Entry::Draw", XS_Cdk__Entry_Draw);
        newXS_deffile("Cdk::Entry::Erase", XS_Cdk__Entry_Erase);
        newXS_deffile("Cdk::Entry::SetValue", XS_Cdk__Entry_SetValue);
        newXS_deffile("Cdk::Entry::SetMin", XS_Cdk__Entry_SetMin);
        newXS_deffile("Cdk::Entry::SetMax", XS_Cdk__Entry_SetMax);
        newXS_deffile("Cdk::Entry::SetFillerChar", XS_Cdk__Entry_SetFillerChar);
        newXS_deffile("Cdk::Entry::SetHiddenChar", XS_Cdk__Entry_SetHiddenChar);
        newXS_deffile("Cdk::Entry::SetBox", XS_Cdk__Entry_SetBox);
        newXS_deffile("Cdk::Entry::SetULChar", XS_Cdk__Entry_SetULChar);
        newXS_deffile("Cdk::Entry::SetURChar", XS_Cdk__Entry_SetURChar);
        newXS_deffile("Cdk::Entry::SetLLChar", XS_Cdk__Entry_SetLLChar);
        newXS_deffile("Cdk::Entry::SetLRChar", XS_Cdk__Entry_SetLRChar);
        newXS_deffile("Cdk::Entry::SetVerticalChar", XS_Cdk__Entry_SetVerticalChar);
        newXS_deffile("Cdk::Entry::SetHorizontalChar", XS_Cdk__Entry_SetHorizontalChar);
        newXS_deffile("Cdk::Entry::SetBoxAttribute", XS_Cdk__Entry_SetBoxAttribute);
        newXS_deffile("Cdk::Entry::SetBackgroundColor", XS_Cdk__Entry_SetBackgroundColor);
        newXS_deffile("Cdk::Entry::Get", XS_Cdk__Entry_Get);
        newXS_deffile("Cdk::Entry::Clean", XS_Cdk__Entry_Clean);
        newXS_deffile("Cdk::Entry::Register", XS_Cdk__Entry_Register);
        newXS_deffile("Cdk::Entry::Unregister", XS_Cdk__Entry_Unregister);
        newXS_deffile("Cdk::Entry::Raise", XS_Cdk__Entry_Raise);
        newXS_deffile("Cdk::Entry::Lower", XS_Cdk__Entry_Lower);
        newXS_deffile("Cdk::Entry::GetWindow", XS_Cdk__Entry_GetWindow);
        newXS_deffile("Cdk::Mentry::New", XS_Cdk__Mentry_New);
        newXS_deffile("Cdk::Mentry::Activate", XS_Cdk__Mentry_Activate);
        newXS_deffile("Cdk::Mentry::Inject", XS_Cdk__Mentry_Inject);
        newXS_deffile("Cdk::Mentry::Bind", XS_Cdk__Mentry_Bind);
        newXS_deffile("Cdk::Mentry::PreProcess", XS_Cdk__Mentry_PreProcess);
        newXS_deffile("Cdk::Mentry::PostProcess", XS_Cdk__Mentry_PostProcess);
        newXS_deffile("Cdk::Mentry::Draw", XS_Cdk__Mentry_Draw);
        newXS_deffile("Cdk::Mentry::Erase", XS_Cdk__Mentry_Erase);
        newXS_deffile("Cdk::Mentry::SetValue", XS_Cdk__Mentry_SetValue);
        newXS_deffile("Cdk::Mentry::SetMin", XS_Cdk__Mentry_SetMin);
        newXS_deffile("Cdk::Mentry::SetFillerChar", XS_Cdk__Mentry_SetFillerChar);
        newXS_deffile("Cdk::Mentry::SetBox", XS_Cdk__Mentry_SetBox);
        newXS_deffile("Cdk::Mentry::SetULChar", XS_Cdk__Mentry_SetULChar);
        newXS_deffile("Cdk::Mentry::SetURChar", XS_Cdk__Mentry_SetURChar);
        newXS_deffile("Cdk::Mentry::SetLLChar", XS_Cdk__Mentry_SetLLChar);
        newXS_deffile("Cdk::Mentry::SetLRChar", XS_Cdk__Mentry_SetLRChar);
        newXS_deffile("Cdk::Mentry::SetVerticalChar", XS_Cdk__Mentry_SetVerticalChar);
        newXS_deffile("Cdk::Mentry::SetHorizontalChar", XS_Cdk__Mentry_SetHorizontalChar);
        newXS_deffile("Cdk::Mentry::SetBoxAttribute", XS_Cdk__Mentry_SetBoxAttribute);
        newXS_deffile("Cdk::Mentry::SetBackgroundColor", XS_Cdk__Mentry_SetBackgroundColor);
        newXS_deffile("Cdk::Mentry::Get", XS_Cdk__Mentry_Get);
        newXS_deffile("Cdk::Mentry::Clean", XS_Cdk__Mentry_Clean);
        newXS_deffile("Cdk::Mentry::Register", XS_Cdk__Mentry_Register);
        newXS_deffile("Cdk::Mentry::Unregister", XS_Cdk__Mentry_Unregister);
        newXS_deffile("Cdk::Mentry::Raise", XS_Cdk__Mentry_Raise);
        newXS_deffile("Cdk::Mentry::Lower", XS_Cdk__Mentry_Lower);
        newXS_deffile("Cdk::Mentry::GetWindow", XS_Cdk__Mentry_GetWindow);
        newXS_deffile("Cdk::Matrix::New", XS_Cdk__Matrix_New);
        newXS_deffile("Cdk::Matrix::Activate", XS_Cdk__Matrix_Activate);
        newXS_deffile("Cdk::Matrix::Inject", XS_Cdk__Matrix_Inject);
        newXS_deffile("Cdk::Matrix::Bind", XS_Cdk__Matrix_Bind);
        newXS_deffile("Cdk::Matrix::PreProcess", XS_Cdk__Matrix_PreProcess);
        newXS_deffile("Cdk::Matrix::PostProcess", XS_Cdk__Matrix_PostProcess);
        newXS_deffile("Cdk::Matrix::GetDim", XS_Cdk__Matrix_GetDim);
        newXS_deffile("Cdk::Matrix::Draw", XS_Cdk__Matrix_Draw);
        newXS_deffile("Cdk::Matrix::Erase", XS_Cdk__Matrix_Erase);
        newXS_deffile("Cdk::Matrix::Set", XS_Cdk__Matrix_Set);
        newXS_deffile("Cdk::Matrix::SetCell", XS_Cdk__Matrix_SetCell);
        newXS_deffile("Cdk::Matrix::GetCell", XS_Cdk__Matrix_GetCell);
        newXS_deffile("Cdk::Matrix::GetRow", XS_Cdk__Matrix_GetRow);
        newXS_deffile("Cdk::Matrix::GetCol", XS_Cdk__Matrix_GetCol);
        newXS_deffile("Cdk::Matrix::SetBoxAttribute", XS_Cdk__Matrix_SetBoxAttribute);
        newXS_deffile("Cdk::Matrix::SetULChar", XS_Cdk__Matrix_SetULChar);
        newXS_deffile("Cdk::Matrix::SetURChar", XS_Cdk__Matrix_SetURChar);
        newXS_deffile("Cdk::Matrix::SetLLChar", XS_Cdk__Matrix_SetLLChar);
        newXS_deffile("Cdk::Matrix::SetLRChar", XS_Cdk__Matrix_SetLRChar);
        newXS_deffile("Cdk::Matrix::SetVerticalChar", XS_Cdk__Matrix_SetVerticalChar);
        newXS_deffile("Cdk::Matrix::SetHorizontalChar", XS_Cdk__Matrix_SetHorizontalChar);
        newXS_deffile("Cdk::Matrix::SetBackgroundColor", XS_Cdk__Matrix_SetBackgroundColor);
        newXS_deffile("Cdk::Matrix::Clean", XS_Cdk__Matrix_Clean);
        newXS_deffile("Cdk::Matrix::Raise", XS_Cdk__Matrix_Raise);
        newXS_deffile("Cdk::Matrix::Lower", XS_Cdk__Matrix_Lower);
        newXS_deffile("Cdk::Matrix::GetWindow", XS_Cdk__Matrix_GetWindow);
        newXS_deffile("Cdk::Matrix::Register", XS_Cdk__Matrix_Register);
        newXS_deffile("Cdk::Matrix::Unregister", XS_Cdk__Matrix_Unregister);
        newXS_deffile("Cdk::Marquee::New", XS_Cdk__Marquee_New);
        newXS_deffile("Cdk::Marquee::Activate", XS_Cdk__Marquee_Activate);
        newXS_deffile("Cdk::Marquee::Deactivate", XS_Cdk__Marquee_Deactivate);
        newXS_deffile("Cdk::Marquee::SetBoxAttribute", XS_Cdk__Marquee_SetBoxAttribute);
        newXS_deffile("Cdk::Marquee::SetULChar", XS_Cdk__Marquee_SetULChar);
        newXS_deffile("Cdk::Marquee::SetURChar", XS_Cdk__Marquee_SetURChar);
        newXS_deffile("Cdk::Marquee::SetLLChar", XS_Cdk__Marquee_SetLLChar);
        newXS_deffile("Cdk::Marquee::SetLRChar", XS_Cdk__Marquee_SetLRChar);
        newXS_deffile("Cdk::Marquee::SetVerticalChar", XS_Cdk__Marquee_SetVerticalChar);
        newXS_deffile("Cdk::Marquee::SetHorizontalChar", XS_Cdk__Marquee_SetHorizontalChar);
        newXS_deffile("Cdk::Marquee::SetBackgroundColor", XS_Cdk__Marquee_SetBackgroundColor);
        newXS_deffile("Cdk::Marquee::Bind", XS_Cdk__Marquee_Bind);
        newXS_deffile("Cdk::Marquee::Draw", XS_Cdk__Marquee_Draw);
        newXS_deffile("Cdk::Marquee::Erase", XS_Cdk__Marquee_Erase);
        newXS_deffile("Cdk::Marquee::Register", XS_Cdk__Marquee_Register);
        newXS_deffile("Cdk::Marquee::Unregister", XS_Cdk__Marquee_Unregister);
        newXS_deffile("Cdk::Marquee::Raise", XS_Cdk__Marquee_Raise);
        newXS_deffile("Cdk::Marquee::Lower", XS_Cdk__Marquee_Lower);
        newXS_deffile("Cdk::Marquee::GetWindow", XS_Cdk__Marquee_GetWindow);
        newXS_deffile("Cdk::Selection::New", XS_Cdk__Selection_New);
        newXS_deffile("Cdk::Selection::Activate", XS_Cdk__Selection_Activate);
        newXS_deffile("Cdk::Selection::Inject", XS_Cdk__Selection_Inject);
        newXS_deffile("Cdk::Selection::Bind", XS_Cdk__Selection_Bind);
        newXS_deffile("Cdk::Selection::PreProcess", XS_Cdk__Selection_PreProcess);
        newXS_deffile("Cdk::Selection::PostProcess", XS_Cdk__Selection_PostProcess);
        newXS_deffile("Cdk::Selection::Draw", XS_Cdk__Selection_Draw);
        newXS_deffile("Cdk::Selection::Erase", XS_Cdk__Selection_Erase);
        newXS_deffile("Cdk::Selection::SetHighlight", XS_Cdk__Selection_SetHighlight);
        newXS_deffile("Cdk::Selection::SetChoices", XS_Cdk__Selection_SetChoices);
        newXS_deffile("Cdk::Selection::SetChoice", XS_Cdk__Selection_SetChoice);
        newXS_deffile("Cdk::Selection::SetModes", XS_Cdk__Selection_SetModes);
        newXS_deffile("Cdk::Selection::SetMode", XS_Cdk__Selection_SetMode);
        newXS_deffile("Cdk::Selection::SetBox", XS_Cdk__Selection_SetBox);
        newXS_deffile("Cdk::Selection::SetULChar", XS_Cdk__Selection_SetULChar);
        newXS_deffile("Cdk::Selection::SetURChar", XS_Cdk__Selection_SetURChar);
        newXS_deffile("Cdk::Selection::SetLLChar", XS_Cdk__Selection_SetLLChar);
        newXS_deffile("Cdk::Selection::SetLRChar", XS_Cdk__Selection_SetLRChar);
        newXS_deffile("Cdk::Selection::SetVerticalChar", XS_Cdk__Selection_SetVerticalChar);
        newXS_deffile("Cdk::Selection::SetHorizontalChar", XS_Cdk__Selection_SetHorizontalChar);
        newXS_deffile("Cdk::Selection::SetBoxAttribute", XS_Cdk__Selection_SetBoxAttribute);
        newXS_deffile("Cdk::Selection::SetBackgroundColor", XS_Cdk__Selection_SetBackgroundColor);
        newXS_deffile("Cdk::Selection::Register", XS_Cdk__Selection_Register);
        newXS_deffile("Cdk::Selection::Unregister", XS_Cdk__Selection_Unregister);
        newXS_deffile("Cdk::Selection::Raise", XS_Cdk__Selection_Raise);
        newXS_deffile("Cdk::Selection::Lower", XS_Cdk__Selection_Lower);
        newXS_deffile("Cdk::Selection::GetWindow", XS_Cdk__Selection_GetWindow);
        newXS_deffile("Cdk::Viewer::New", XS_Cdk__Viewer_New);
        newXS_deffile("Cdk::Viewer::Activate", XS_Cdk__Viewer_Activate);
        newXS_deffile("Cdk::Viewer::SetInfo", XS_Cdk__Viewer_SetInfo);
        newXS_deffile("Cdk::Viewer::SetTitle", XS_Cdk__Viewer_SetTitle);
        newXS_deffile("Cdk::Viewer::SetHighlight", XS_Cdk__Viewer_SetHighlight);
        newXS_deffile("Cdk::Viewer::SetInfoLine", XS_Cdk__Viewer_SetInfoLine);
        newXS_deffile("Cdk::Viewer::SetBox", XS_Cdk__Viewer_SetBox);
        newXS_deffile("Cdk::Viewer::SetULChar", XS_Cdk__Viewer_SetULChar);
        newXS_deffile("Cdk::Viewer::SetURChar", XS_Cdk__Viewer_SetURChar);
        newXS_deffile("Cdk::Viewer::SetLLChar", XS_Cdk__Viewer_SetLLChar);
        newXS_deffile("Cdk::Viewer::SetLRChar", XS_Cdk__Viewer_SetLRChar);
        newXS_deffile("Cdk::Viewer::SetVerticalChar", XS_Cdk__Viewer_SetVerticalChar);
        newXS_deffile("Cdk::Viewer::SetHorizontalChar", XS_Cdk__Viewer_SetHorizontalChar);
        newXS_deffile("Cdk::Viewer::SetBoxAttribute", XS_Cdk__Viewer_SetBoxAttribute);
        newXS_deffile("Cdk::Viewer::SetBackgroundColor", XS_Cdk__Viewer_SetBackgroundColor);
        newXS_deffile("Cdk::Viewer::Bind", XS_Cdk__Viewer_Bind);
        newXS_deffile("Cdk::Viewer::Draw", XS_Cdk__Viewer_Draw);
        newXS_deffile("Cdk::Viewer::Erase", XS_Cdk__Viewer_Erase);
        newXS_deffile("Cdk::Viewer::Register", XS_Cdk__Viewer_Register);
        newXS_deffile("Cdk::Viewer::Unregister", XS_Cdk__Viewer_Unregister);
        newXS_deffile("Cdk::Viewer::Raise", XS_Cdk__Viewer_Raise);
        newXS_deffile("Cdk::Viewer::Lower", XS_Cdk__Viewer_Lower);
        newXS_deffile("Cdk::Viewer::GetWindow", XS_Cdk__Viewer_GetWindow);
        newXS_deffile("Cdk::Graph::New", XS_Cdk__Graph_New);
        newXS_deffile("Cdk::Graph::SetValues", XS_Cdk__Graph_SetValues);
        newXS_deffile("Cdk::Graph::SetCharacters", XS_Cdk__Graph_SetCharacters);
        newXS_deffile("Cdk::Graph::SetDisplayType", XS_Cdk__Graph_SetDisplayType);
        newXS_deffile("Cdk::Graph::SetBox", XS_Cdk__Graph_SetBox);
        newXS_deffile("Cdk::Graph::SetULChar", XS_Cdk__Graph_SetULChar);
        newXS_deffile("Cdk::Graph::SetURChar", XS_Cdk__Graph_SetURChar);
        newXS_deffile("Cdk::Graph::SetLLChar", XS_Cdk__Graph_SetLLChar);
        newXS_deffile("Cdk::Graph::SetLRChar", XS_Cdk__Graph_SetLRChar);
        newXS_deffile("Cdk::Graph::SetVerticalChar", XS_Cdk__Graph_SetVerticalChar);
        newXS_deffile("Cdk::Graph::SetHorizontalChar", XS_Cdk__Graph_SetHorizontalChar);
        newXS_deffile("Cdk::Graph::SetBoxAttribute", XS_Cdk__Graph_SetBoxAttribute);
        newXS_deffile("Cdk::Graph::SetBackgroundColor", XS_Cdk__Graph_SetBackgroundColor);
        newXS_deffile("Cdk::Graph::Draw", XS_Cdk__Graph_Draw);
        newXS_deffile("Cdk::Graph::Erase", XS_Cdk__Graph_Erase);
        newXS_deffile("Cdk::Graph::Register", XS_Cdk__Graph_Register);
        newXS_deffile("Cdk::Graph::Unregister", XS_Cdk__Graph_Unregister);
        newXS_deffile("Cdk::Graph::Raise", XS_Cdk__Graph_Raise);
        newXS_deffile("Cdk::Graph::Lower", XS_Cdk__Graph_Lower);
        newXS_deffile("Cdk::Graph::GetWindow", XS_Cdk__Graph_GetWindow);
        newXS_deffile("Cdk::Radio::New", XS_Cdk__Radio_New);
        newXS_deffile("Cdk::Radio::Activate", XS_Cdk__Radio_Activate);
        newXS_deffile("Cdk::Radio::Inject", XS_Cdk__Radio_Inject);
        newXS_deffile("Cdk::Radio::Bind", XS_Cdk__Radio_Bind);
        newXS_deffile("Cdk::Radio::PreProcess", XS_Cdk__Radio_PreProcess);
        newXS_deffile("Cdk::Radio::PostProcess", XS_Cdk__Radio_PostProcess);
        newXS_deffile("Cdk::Radio::Draw", XS_Cdk__Radio_Draw);
        newXS_deffile("Cdk::Radio::Erase", XS_Cdk__Radio_Erase);
        newXS_deffile("Cdk::Radio::SetHighlight", XS_Cdk__Radio_SetHighlight);
        newXS_deffile("Cdk::Radio::SetChoiceCharacter", XS_Cdk__Radio_SetChoiceCharacter);
        newXS_deffile("Cdk::Radio::SetLeftBrace", XS_Cdk__Radio_SetLeftBrace);
        newXS_deffile("Cdk::Radio::SetRightBrace", XS_Cdk__Radio_SetRightBrace);
        newXS_deffile("Cdk::Radio::SetBox", XS_Cdk__Radio_SetBox);
        newXS_deffile("Cdk::Radio::SetULChar", XS_Cdk__Radio_SetULChar);
        newXS_deffile("Cdk::Radio::SetURChar", XS_Cdk__Radio_SetURChar);
        newXS_deffile("Cdk::Radio::SetLLChar", XS_Cdk__Radio_SetLLChar);
        newXS_deffile("Cdk::Radio::SetLRChar", XS_Cdk__Radio_SetLRChar);
        newXS_deffile("Cdk::Radio::SetVerticalChar", XS_Cdk__Radio_SetVerticalChar);
        newXS_deffile("Cdk::Radio::SetHorizontalChar", XS_Cdk__Radio_SetHorizontalChar);
        newXS_deffile("Cdk::Radio::SetBoxAttribute", XS_Cdk__Radio_SetBoxAttribute);
        newXS_deffile("Cdk::Radio::SetBackgroundColor", XS_Cdk__Radio_SetBackgroundColor);
        newXS_deffile("Cdk::Radio::Register", XS_Cdk__Radio_Register);
        newXS_deffile("Cdk::Radio::Unregister", XS_Cdk__Radio_Unregister);
        newXS_deffile("Cdk::Radio::Raise", XS_Cdk__Radio_Raise);
        newXS_deffile("Cdk::Radio::Lower", XS_Cdk__Radio_Lower);
        newXS_deffile("Cdk::Radio::GetWindow", XS_Cdk__Radio_GetWindow);
        newXS_deffile("Cdk::Template::New", XS_Cdk__Template_New);
        newXS_deffile("Cdk::Template::Activate", XS_Cdk__Template_Activate);
        newXS_deffile("Cdk::Template::Inject", XS_Cdk__Template_Inject);
        newXS_deffile("Cdk::Template::Bind", XS_Cdk__Template_Bind);
        newXS_deffile("Cdk::Template::PreProcess", XS_Cdk__Template_PreProcess);
        newXS_deffile("Cdk::Template::PostProcess", XS_Cdk__Template_PostProcess);
        newXS_deffile("Cdk::Template::Mix", XS_Cdk__Template_Mix);
        newXS_deffile("Cdk::Template::Draw", XS_Cdk__Template_Draw);
        newXS_deffile("Cdk::Template::Erase", XS_Cdk__Template_Erase);
        newXS_deffile("Cdk::Template::SetValue", XS_Cdk__Template_SetValue);
        newXS_deffile("Cdk::Template::SetMin", XS_Cdk__Template_SetMin);
        newXS_deffile("Cdk::Template::SetBox", XS_Cdk__Template_SetBox);
        newXS_deffile("Cdk::Template::SetULChar", XS_Cdk__Template_SetULChar);
        newXS_deffile("Cdk::Template::SetURChar", XS_Cdk__Template_SetURChar);
        newXS_deffile("Cdk::Template::SetLLChar", XS_Cdk__Template_SetLLChar);
        newXS_deffile("Cdk::Template::SetLRChar", XS_Cdk__Template_SetLRChar);
        newXS_deffile("Cdk::Template::SetVerticalChar", XS_Cdk__Template_SetVerticalChar);
        newXS_deffile("Cdk::Template::SetHorizontalChar", XS_Cdk__Template_SetHorizontalChar);
        newXS_deffile("Cdk::Template::SetBoxAttribute", XS_Cdk__Template_SetBoxAttribute);
        newXS_deffile("Cdk::Template::SetBackgroundColor", XS_Cdk__Template_SetBackgroundColor);
        newXS_deffile("Cdk::Template::Get", XS_Cdk__Template_Get);
        newXS_deffile("Cdk::Template::Clean", XS_Cdk__Template_Clean);
        newXS_deffile("Cdk::Template::Register", XS_Cdk__Template_Register);
        newXS_deffile("Cdk::Template::Unregister", XS_Cdk__Template_Unregister);
        newXS_deffile("Cdk::Template::Raise", XS_Cdk__Template_Raise);
        newXS_deffile("Cdk::Template::Lower", XS_Cdk__Template_Lower);
        newXS_deffile("Cdk::Template::GetWindow", XS_Cdk__Template_GetWindow);
        newXS_deffile("Cdk::Swindow::New", XS_Cdk__Swindow_New);
        newXS_deffile("Cdk::Swindow::Activate", XS_Cdk__Swindow_Activate);
        newXS_deffile("Cdk::Swindow::Inject", XS_Cdk__Swindow_Inject);
        newXS_deffile("Cdk::Swindow::Bind", XS_Cdk__Swindow_Bind);
        newXS_deffile("Cdk::Swindow::PreProcess", XS_Cdk__Swindow_PreProcess);
        newXS_deffile("Cdk::Swindow::PostProcess", XS_Cdk__Swindow_PostProcess);
        newXS_deffile("Cdk::Swindow::SetContents", XS_Cdk__Swindow_SetContents);
        newXS_deffile("Cdk::Swindow::SetBox", XS_Cdk__Swindow_SetBox);
        newXS_deffile("Cdk::Swindow::SetULChar", XS_Cdk__Swindow_SetULChar);
        newXS_deffile("Cdk::Swindow::SetURChar", XS_Cdk__Swindow_SetURChar);
        newXS_deffile("Cdk::Swindow::SetLLChar", XS_Cdk__Swindow_SetLLChar);
        newXS_deffile("Cdk::Swindow::SetLRChar", XS_Cdk__Swindow_SetLRChar);
        newXS_deffile("Cdk::Swindow::SetVerticalChar", XS_Cdk__Swindow_SetVerticalChar);
        newXS_deffile("Cdk::Swindow::SetHorizontalChar", XS_Cdk__Swindow_SetHorizontalChar);
        newXS_deffile("Cdk::Swindow::SetBoxAttribute", XS_Cdk__Swindow_SetBoxAttribute);
        newXS_deffile("Cdk::Swindow::SetBackgroundColor", XS_Cdk__Swindow_SetBackgroundColor);
        newXS_deffile("Cdk::Swindow::Addline", XS_Cdk__Swindow_Addline);
        newXS_deffile("Cdk::Swindow::Trim", XS_Cdk__Swindow_Trim);
        newXS_deffile("Cdk::Swindow::Exec", XS_Cdk__Swindow_Exec);
        newXS_deffile("Cdk::Swindow::Get", XS_Cdk__Swindow_Get);
        newXS_deffile("Cdk::Swindow::Save", XS_Cdk__Swindow_Save);
        newXS_deffile("Cdk::Swindow::Load", XS_Cdk__Swindow_Load);
        newXS_deffile("Cdk::Swindow::Dump", XS_Cdk__Swindow_Dump);
        newXS_deffile("Cdk::Swindow::Draw", XS_Cdk__Swindow_Draw);
        newXS_deffile("Cdk::Swindow::Erase", XS_Cdk__Swindow_Erase);
        newXS_deffile("Cdk::Swindow::Clean", XS_Cdk__Swindow_Clean);
        newXS_deffile("Cdk::Swindow::Register", XS_Cdk__Swindow_Register);
        newXS_deffile("Cdk::Swindow::Unregister", XS_Cdk__Swindow_Unregister);
        newXS_deffile("Cdk::Swindow::Raise", XS_Cdk__Swindow_Raise);
        newXS_deffile("Cdk::Swindow::Lower", XS_Cdk__Swindow_Lower);
        newXS_deffile("Cdk::Swindow::GetWindow", XS_Cdk__Swindow_GetWindow);
        newXS_deffile("Cdk::Itemlist::New", XS_Cdk__Itemlist_New);
        newXS_deffile("Cdk::Itemlist::Activate", XS_Cdk__Itemlist_Activate);
        newXS_deffile("Cdk::Itemlist::Inject", XS_Cdk__Itemlist_Inject);
        newXS_deffile("Cdk::Itemlist::Bind", XS_Cdk__Itemlist_Bind);
        newXS_deffile("Cdk::Itemlist::PreProcess", XS_Cdk__Itemlist_PreProcess);
        newXS_deffile("Cdk::Itemlist::PostProcess", XS_Cdk__Itemlist_PostProcess);
        newXS_deffile("Cdk::Itemlist::SetValues", XS_Cdk__Itemlist_SetValues);
        newXS_deffile("Cdk::Itemlist::SetDefaultItem", XS_Cdk__Itemlist_SetDefaultItem);
        newXS_deffile("Cdk::Itemlist::SetCurrentItem", XS_Cdk__Itemlist_SetCurrentItem);
        newXS_deffile("Cdk::Itemlist::SetBox", XS_Cdk__Itemlist_SetBox);
        newXS_deffile("Cdk::Itemlist::SetULChar", XS_Cdk__Itemlist_SetULChar);
        newXS_deffile("Cdk::Itemlist::SetURChar", XS_Cdk__Itemlist_SetURChar);
        newXS_deffile("Cdk::Itemlist::SetLLChar", XS_Cdk__Itemlist_SetLLChar);
        newXS_deffile("Cdk::Itemlist::SetLRChar", XS_Cdk__Itemlist_SetLRChar);
        newXS_deffile("Cdk::Itemlist::SetVerticalChar", XS_Cdk__Itemlist_SetVerticalChar);
        newXS_deffile("Cdk::Itemlist::SetHorizontalChar", XS_Cdk__Itemlist_SetHorizontalChar);
        newXS_deffile("Cdk::Itemlist::SetBoxAttribute", XS_Cdk__Itemlist_SetBoxAttribute);
        newXS_deffile("Cdk::Itemlist::SetBackgroundColor", XS_Cdk__Itemlist_SetBackgroundColor);
        newXS_deffile("Cdk::Itemlist::Get", XS_Cdk__Itemlist_Get);
        newXS_deffile("Cdk::Itemlist::Draw", XS_Cdk__Itemlist_Draw);
        newXS_deffile("Cdk::Itemlist::Erase", XS_Cdk__Itemlist_Erase);
        newXS_deffile("Cdk::Itemlist::Register", XS_Cdk__Itemlist_Register);
        newXS_deffile("Cdk::Itemlist::Unregister", XS_Cdk__Itemlist_Unregister);
        newXS_deffile("Cdk::Itemlist::Raise", XS_Cdk__Itemlist_Raise);
        newXS_deffile("Cdk::Itemlist::Lower", XS_Cdk__Itemlist_Lower);
        newXS_deffile("Cdk::Itemlist::GetWindow", XS_Cdk__Itemlist_GetWindow);
        newXS_deffile("Cdk::Fselect::New", XS_Cdk__Fselect_New);
        newXS_deffile("Cdk::Fselect::Activate", XS_Cdk__Fselect_Activate);
        newXS_deffile("Cdk::Fselect::Inject", XS_Cdk__Fselect_Inject);
        newXS_deffile("Cdk::Fselect::SetDirectory", XS_Cdk__Fselect_SetDirectory);
        newXS_deffile("Cdk::Fselect::SetFillerChar", XS_Cdk__Fselect_SetFillerChar);
        newXS_deffile("Cdk::Fselect::SetHighlight", XS_Cdk__Fselect_SetHighlight);
        newXS_deffile("Cdk::Fselect::SetDirAttribute", XS_Cdk__Fselect_SetDirAttribute);
        newXS_deffile("Cdk::Fselect::SetLinkAttribute", XS_Cdk__Fselect_SetLinkAttribute);
        newXS_deffile("Cdk::Fselect::SetFileAttribute", XS_Cdk__Fselect_SetFileAttribute);
        newXS_deffile("Cdk::Fselect::SetSocketkAttribute", XS_Cdk__Fselect_SetSocketkAttribute);
        newXS_deffile("Cdk::Fselect::SetBox", XS_Cdk__Fselect_SetBox);
        newXS_deffile("Cdk::Fselect::SetULChar", XS_Cdk__Fselect_SetULChar);
        newXS_deffile("Cdk::Fselect::SetURChar", XS_Cdk__Fselect_SetURChar);
        newXS_deffile("Cdk::Fselect::SetLLChar", XS_Cdk__Fselect_SetLLChar);
        newXS_deffile("Cdk::Fselect::SetLRChar", XS_Cdk__Fselect_SetLRChar);
        newXS_deffile("Cdk::Fselect::SetVerticalChar", XS_Cdk__Fselect_SetVerticalChar);
        newXS_deffile("Cdk::Fselect::SetHorizontalChar", XS_Cdk__Fselect_SetHorizontalChar);
        newXS_deffile("Cdk::Fselect::SetBoxAttribute", XS_Cdk__Fselect_SetBoxAttribute);
        newXS_deffile("Cdk::Fselect::SetBackgroundColor", XS_Cdk__Fselect_SetBackgroundColor);
        newXS_deffile("Cdk::Fselect::Bind", XS_Cdk__Fselect_Bind);
        newXS_deffile("Cdk::Fselect::PreProcess", XS_Cdk__Fselect_PreProcess);
        newXS_deffile("Cdk::Fselect::PostProcess", XS_Cdk__Fselect_PostProcess);
        newXS_deffile("Cdk::Fselect::Draw", XS_Cdk__Fselect_Draw);
        newXS_deffile("Cdk::Fselect::Erase", XS_Cdk__Fselect_Erase);
        newXS_deffile("Cdk::Fselect::Register", XS_Cdk__Fselect_Register);
        newXS_deffile("Cdk::Fselect::Unregister", XS_Cdk__Fselect_Unregister);
        newXS_deffile("Cdk::Fselect::Raise", XS_Cdk__Fselect_Raise);
        newXS_deffile("Cdk::Fselect::Lower", XS_Cdk__Fselect_Lower);
        newXS_deffile("Cdk::Fselect::GetWindow", XS_Cdk__Fselect_GetWindow);
        newXS_deffile("Cdk::Slider::New", XS_Cdk__Slider_New);
        newXS_deffile("Cdk::Slider::Activate", XS_Cdk__Slider_Activate);
        newXS_deffile("Cdk::Slider::Inject", XS_Cdk__Slider_Inject);
        newXS_deffile("Cdk::Slider::SetValue", XS_Cdk__Slider_SetValue);
        newXS_deffile("Cdk::Slider::SetLowHigh", XS_Cdk__Slider_SetLowHigh);
        newXS_deffile("Cdk::Slider::SetBox", XS_Cdk__Slider_SetBox);
        newXS_deffile("Cdk::Slider::SetULChar", XS_Cdk__Slider_SetULChar);
        newXS_deffile("Cdk::Slider::SetURChar", XS_Cdk__Slider_SetURChar);
        newXS_deffile("Cdk::Slider::SetLLChar", XS_Cdk__Slider_SetLLChar);
        newXS_deffile("Cdk::Slider::SetLRChar", XS_Cdk__Slider_SetLRChar);
        newXS_deffile("Cdk::Slider::SetVerticalChar", XS_Cdk__Slider_SetVerticalChar);
        newXS_deffile("Cdk::Slider::SetHorizontalChar", XS_Cdk__Slider_SetHorizontalChar);
        newXS_deffile("Cdk::Slider::SetBoxAttribute", XS_Cdk__Slider_SetBoxAttribute);
        newXS_deffile("Cdk::Slider::SetBackgroundColor", XS_Cdk__Slider_SetBackgroundColor);
        newXS_deffile("Cdk::Slider::Bind", XS_Cdk__Slider_Bind);
        newXS_deffile("Cdk::Slider::PreProcess", XS_Cdk__Slider_PreProcess);
        newXS_deffile("Cdk::Slider::PostProcess", XS_Cdk__Slider_PostProcess);
        newXS_deffile("Cdk::Slider::Draw", XS_Cdk__Slider_Draw);
        newXS_deffile("Cdk::Slider::Erase", XS_Cdk__Slider_Erase);
        newXS_deffile("Cdk::Slider::Register", XS_Cdk__Slider_Register);
        newXS_deffile("Cdk::Slider::Unregister", XS_Cdk__Slider_Unregister);
        newXS_deffile("Cdk::Slider::Raise", XS_Cdk__Slider_Raise);
        newXS_deffile("Cdk::Slider::Lower", XS_Cdk__Slider_Lower);
        newXS_deffile("Cdk::Slider::GetWindow", XS_Cdk__Slider_GetWindow);
        newXS_deffile("Cdk::Alphalist::New", XS_Cdk__Alphalist_New);
        newXS_deffile("Cdk::Alphalist::Activate", XS_Cdk__Alphalist_Activate);
        newXS_deffile("Cdk::Alphalist::Inject", XS_Cdk__Alphalist_Inject);
        newXS_deffile("Cdk::Alphalist::SetContents", XS_Cdk__Alphalist_SetContents);
        newXS_deffile("Cdk::Alphalist::SetFillerChar", XS_Cdk__Alphalist_SetFillerChar);
        newXS_deffile("Cdk::Alphalist::SetHighlight", XS_Cdk__Alphalist_SetHighlight);
        newXS_deffile("Cdk::Alphalist::SetBox", XS_Cdk__Alphalist_SetBox);
        newXS_deffile("Cdk::Alphalist::SetULChar", XS_Cdk__Alphalist_SetULChar);
        newXS_deffile("Cdk::Alphalist::SetURChar", XS_Cdk__Alphalist_SetURChar);
        newXS_deffile("Cdk::Alphalist::SetLLChar", XS_Cdk__Alphalist_SetLLChar);
        newXS_deffile("Cdk::Alphalist::SetLRChar", XS_Cdk__Alphalist_SetLRChar);
        newXS_deffile("Cdk::Alphalist::SetVerticalChar", XS_Cdk__Alphalist_SetVerticalChar);
        newXS_deffile("Cdk::Alphalist::SetHorizontalChar", XS_Cdk__Alphalist_SetHorizontalChar);
        newXS_deffile("Cdk::Alphalist::SetBoxAttribute", XS_Cdk__Alphalist_SetBoxAttribute);
        newXS_deffile("Cdk::Alphalist::SetBackgroundColor", XS_Cdk__Alphalist_SetBackgroundColor);
        newXS_deffile("Cdk::Alphalist::Get", XS_Cdk__Alphalist_Get);
        newXS_deffile("Cdk::Alphalist::Bind", XS_Cdk__Alphalist_Bind);
        newXS_deffile("Cdk::Alphalist::PreProcess", XS_Cdk__Alphalist_PreProcess);
        newXS_deffile("Cdk::Alphalist::PostProcess", XS_Cdk__Alphalist_PostProcess);
        newXS_deffile("Cdk::Alphalist::Draw", XS_Cdk__Alphalist_Draw);
        newXS_deffile("Cdk::Alphalist::Erase", XS_Cdk__Alphalist_Erase);
        newXS_deffile("Cdk::Alphalist::Register", XS_Cdk__Alphalist_Register);
        newXS_deffile("Cdk::Alphalist::Unregister", XS_Cdk__Alphalist_Unregister);
        newXS_deffile("Cdk::Alphalist::Raise", XS_Cdk__Alphalist_Raise);
        newXS_deffile("Cdk::Alphalist::Lower", XS_Cdk__Alphalist_Lower);
        newXS_deffile("Cdk::Alphalist::GetWindow", XS_Cdk__Alphalist_GetWindow);
        newXS_deffile("Cdk::Calendar::New", XS_Cdk__Calendar_New);
        newXS_deffile("Cdk::Calendar::Activate", XS_Cdk__Calendar_Activate);
        newXS_deffile("Cdk::Calendar::Inject", XS_Cdk__Calendar_Inject);
        newXS_deffile("Cdk::Calendar::SetDate", XS_Cdk__Calendar_SetDate);
        newXS_deffile("Cdk::Calendar::GetDate", XS_Cdk__Calendar_GetDate);
        newXS_deffile("Cdk::Calendar::SetMarker", XS_Cdk__Calendar_SetMarker);
        newXS_deffile("Cdk::Calendar::RemoveMarker", XS_Cdk__Calendar_RemoveMarker);
        newXS_deffile("Cdk::Calendar::SetDayAttribute", XS_Cdk__Calendar_SetDayAttribute);
        newXS_deffile("Cdk::Calendar::Bind", XS_Cdk__Calendar_Bind);
        newXS_deffile("Cdk::Calendar::PreProcess", XS_Cdk__Calendar_PreProcess);
        newXS_deffile("Cdk::Calendar::PostProcess", XS_Cdk__Calendar_PostProcess);
        newXS_deffile("Cdk::Calendar::Draw", XS_Cdk__Calendar_Draw);
        newXS_deffile("Cdk::Calendar::Erase", XS_Cdk__Calendar_Erase);
        newXS_deffile("Cdk::Calendar::Set", XS_Cdk__Calendar_Set);
        newXS_deffile("Cdk::Calendar::Register", XS_Cdk__Calendar_Register);
        newXS_deffile("Cdk::Calendar::Unregister", XS_Cdk__Calendar_Unregister);
        newXS_deffile("Cdk::Calendar::Raise", XS_Cdk__Calendar_Raise);
        newXS_deffile("Cdk::Calendar::Lower", XS_Cdk__Calendar_Lower);
        newXS_deffile("Cdk::Calendar::GetWindow", XS_Cdk__Calendar_GetWindow);
        newXS_deffile("Cdk::Buttonbox::New", XS_Cdk__Buttonbox_New);
        newXS_deffile("Cdk::Buttonbox::Activate", XS_Cdk__Buttonbox_Activate);
        newXS_deffile("Cdk::Buttonbox::Inject", XS_Cdk__Buttonbox_Inject);
        newXS_deffile("Cdk::Buttonbox::Bind", XS_Cdk__Buttonbox_Bind);
        newXS_deffile("Cdk::Buttonbox::PreProcess", XS_Cdk__Buttonbox_PreProcess);
        newXS_deffile("Cdk::Buttonbox::PostProcess", XS_Cdk__Buttonbox_PostProcess);
        newXS_deffile("Cdk::Buttonbox::Draw", XS_Cdk__Buttonbox_Draw);
        newXS_deffile("Cdk::Buttonbox::Erase", XS_Cdk__Buttonbox_Erase);
        newXS_deffile("Cdk::Buttonbox::SetHighlight", XS_Cdk__Buttonbox_SetHighlight);
        newXS_deffile("Cdk::Buttonbox::SetBox", XS_Cdk__Buttonbox_SetBox);
        newXS_deffile("Cdk::Buttonbox::SetULChar", XS_Cdk__Buttonbox_SetULChar);
        newXS_deffile("Cdk::Buttonbox::SetURChar", XS_Cdk__Buttonbox_SetURChar);
        newXS_deffile("Cdk::Buttonbox::SetLLChar", XS_Cdk__Buttonbox_SetLLChar);
        newXS_deffile("Cdk::Buttonbox::SetLRChar", XS_Cdk__Buttonbox_SetLRChar);
        newXS_deffile("Cdk::Buttonbox::SetVerticalChar", XS_Cdk__Buttonbox_SetVerticalChar);
        newXS_deffile("Cdk::Buttonbox::SetHorizontalChar", XS_Cdk__Buttonbox_SetHorizontalChar);
        newXS_deffile("Cdk::Buttonbox::SetBoxAttribute", XS_Cdk__Buttonbox_SetBoxAttribute);
        newXS_deffile("Cdk::Buttonbox::SetBackgroundColor", XS_Cdk__Buttonbox_SetBackgroundColor);
        newXS_deffile("Cdk::Buttonbox::Register", XS_Cdk__Buttonbox_Register);
        newXS_deffile("Cdk::Buttonbox::Unregister", XS_Cdk__Buttonbox_Unregister);
        newXS_deffile("Cdk::Buttonbox::Raise", XS_Cdk__Buttonbox_Raise);
        newXS_deffile("Cdk::Buttonbox::Lower", XS_Cdk__Buttonbox_Lower);
        newXS_deffile("Cdk::Buttonbox::GetWindow", XS_Cdk__Buttonbox_GetWindow);
        newXS_deffile("CDKLABELPtr::DESTROY", XS_CDKLABELPtr_DESTROY);
        newXS_deffile("CDKBUTTONBOXPtr::DESTROY", XS_CDKBUTTONBOXPtr_DESTROY);
        newXS_deffile("CDKDIALOGPtr::DESTROY", XS_CDKDIALOGPtr_DESTROY);
        newXS_deffile("CDKENTRYPtr::DESTROY", XS_CDKENTRYPtr_DESTROY);
        newXS_deffile("CDKSCROLLPtr::DESTROY", XS_CDKSCROLLPtr_DESTROY);
        newXS_deffile("CDKSCALEPtr::DESTROY", XS_CDKSCALEPtr_DESTROY);
        newXS_deffile("CDKHISTOGRAMPtr::DESTROY", XS_CDKHISTOGRAMPtr_DESTROY);
        newXS_deffile("CDKMENUPtr::DESTROY", XS_CDKMENUPtr_DESTROY);
        newXS_deffile("CDKMENTRYPtr::DESTROY", XS_CDKMENTRYPtr_DESTROY);
        newXS_deffile("CDKMATRIXPtr::DESTROY", XS_CDKMATRIXPtr_DESTROY);
        newXS_deffile("CDKMARQUEEPtr::DESTROY", XS_CDKMARQUEEPtr_DESTROY);
        newXS_deffile("CDKSELECTIONPtr::DESTROY", XS_CDKSELECTIONPtr_DESTROY);
        newXS_deffile("CDKVIEWERPtr::DESTROY", XS_CDKVIEWERPtr_DESTROY);
        newXS_deffile("CDKGRAPHPtr::DESTROY", XS_CDKGRAPHPtr_DESTROY);
        newXS_deffile("CDKRADIOPtr::DESTROY", XS_CDKRADIOPtr_DESTROY);
        newXS_deffile("CDKTEMPLATEPtr::DESTROY", XS_CDKTEMPLATEPtr_DESTROY);
        newXS_deffile("CDKSWINDOWPtr::DESTROY", XS_CDKSWINDOWPtr_DESTROY);
        newXS_deffile("CDKITEMLISTPtr::DESTROY", XS_CDKITEMLISTPtr_DESTROY);
        newXS_deffile("CDKFSELECTPtr::DESTROY", XS_CDKFSELECTPtr_DESTROY);
        newXS_deffile("CDKSLIDERPtr::DESTROY", XS_CDKSLIDERPtr_DESTROY);
        newXS_deffile("CDKALPHALISTPtr::DESTROY", XS_CDKALPHALISTPtr_DESTROY);
        newXS_deffile("CDKCALENDARPtr::DESTROY", XS_CDKCALENDARPtr_DESTROY);
#if PERL_VERSION_LE(5, 21, 5)
#  if PERL_VERSION_GE(5, 9, 0)
    if (PL_unitcheckav)
        call_list(PL_scopestack_ix, PL_unitcheckav);
#  endif
    XSRETURN_YES;
#else
    Perl_xs_boot_epilog(aTHX_ ax);
#endif
}

#ifdef __cplusplus
}
#endif
