Added test for Overlay, updated Build.PL to add Overlay, Also made sure that right...
[sdlgit/SDL_perl.git] / typemap
diff --git a/typemap b/typemap
index 392972f..146a6ae 100644 (file)
--- a/typemap
+++ b/typemap
@@ -14,15 +14,15 @@ Sint16 *            T_PTR
 Sint32                 T_IV
 Sint32 *               T_PTR
 SDL_Event *            T_PTR
-SDL_Surface *          T_PTR
+SDL_Surface *          O_OBJECT
 SDL_SysWMmsg *         T_PTR
 SDL_CD *               T_PTR
 SDL_CDtrack *          T_PTR
 SDL_TimerCallback      T_PTR
-SDL_Rect *             T_PTR
-SDL_Color *            T_PTR
+SDL_Rect *             O_OBJECT
+SDL_Color *            O_OBJECT
 SDL_Palette *          T_PTR
-SDL_PixelFormat *      T_PTR
+SDL_PixelFormat *      O_OBJECT
 SDL_Cursor *           T_PTR
 SDL_AudioSpec *                T_PTR
 SDL_AudioCVT *         T_PTR
@@ -42,8 +42,8 @@ UDPpacket *           T_PTR
 UDPpacket **           T_PTR
 IPaddress*             T_PTR
 SDLNet_GenericSocket   T_PTR
-TTF_Font *             T_PTR
-SDL_Overlay *          T_PTR
+TTF_Font *             O_OBJECT
+SDL_Overlay *          O_OBJECT        
 SMPEG_Info *           T_PTR
 SMPEG *                        T_PTR
 SMPEGstatus            T_IV
@@ -52,6 +52,8 @@ GLbitfield            T_IV
 GLenum                 T_IV
 ConsoleInformation *   T_PTR
 GLboolean              T_U_CHAR
+GLUquadric *           T_PTR
+GLdouble               T_NV
 GLUnurbsObj *          T_PTR
 GLUtesselator *                T_PTR
 GLuint                 T_UV
@@ -67,3 +69,23 @@ Sound_Sample *               T_PTR
 Sound_AudioInfo *      T_PTR
 SDL_RWops*             T_PTR
 SDL_svg_context*       T_PTR
+
+OUTPUT
+
+# The Perl object is blessed into 'CLASS', which should be a
+# char* having the name of the package for the blessing.
+O_OBJECT
+       sv_setref_pv( $arg, CLASS, (void*)$var );
+
+
+INPUT
+
+O_OBJECT
+       if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
+               $var = ($type)SvIV((SV*)SvRV( $arg ));
+       else{
+               warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
+               XSRETURN_UNDEF;
+       }
+
+