X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7205570233ce8420b71fa5df368054c8953ff0e4..80a779275ae04443c568dca919adb26cf6f5002c:/src/mac/carbon/aga.cpp

diff --git a/src/mac/carbon/aga.cpp b/src/mac/carbon/aga.cpp
index 76e2d9505b..543fc10137 100644
--- a/src/mac/carbon/aga.cpp
+++ b/src/mac/carbon/aga.cpp
@@ -1,2626 +1,2 @@
-#include "wx/dc.h"
-#include "wx/mac/uma.h"
-#include "wx/mac/aga.h"
-
-#if 0 // TO BE REMOVED SOON
-
-#include <extcdef.h>
-#include <PictUtils.h>
-
-pascal SInt32 AGAProgressBarDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param);
-pascal SInt32 AGAPlacardDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param);
-pascal SInt32 AGAStaticTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param) ;
-pascal SInt32 AGAListControlDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param) ;
-pascal SInt32 AGAEditTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param) ;
-pascal SInt32 AGAStaticGroupBoxTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param) ;
-
-#define B   13
-#define	W   0
-
-SInt16 kAGARootControlProcID ;
-int gAGABackgroundColor = 0 ;
-
-const RGBColor gAGAColorArray[] = {
-  {0xFFFF, 0xFFFF, 0xFFFF},	//	W
-  {0xEEEE, 0xEEEE, 0xEEEE}, 	//	1
-  {0xDDDD, 0xDDDD, 0xDDDD}, 	//	2
-  {0xCCCC, 0xCCCC, 0xCCCC}, 	//	3
-  {0xBBBB, 0xBBBB, 0xBBBB}, 	//	4
-  {0xAAAA, 0xAAAA, 0xAAAA}, 	//	5
-  {0x9999, 0x9999, 0x9999}, 	//	6
-  {0x8888, 0x8888, 0x8888},	//	7
-  {0x7777, 0x7777, 0x7777},	//	8
-  {0x6666, 0x6666, 0x6666},	//	9
-  {0x5555, 0x5555, 0x5555},	//	10
-  {0x4444, 0x4444, 0x4444},	//	11
-  {0x2222, 0x2222, 0x2222},	//	12
-  {0x0000, 0x0000, 0x0000}	//	B
-};
-
-char LAGADefaultOutline_mCorners[4][5][5] =	{
-  //	topleft
-  {
-    { -1, -1, -1, 12,  B },
-    { -1, -1,  B,  2,  2 },
-    { -1,  B,  2,  2,  5 },
-    { 12,  2,  2,  2,  8 },
-    {  B,  2,  5,  8, -1 }
-  },
-  //	topright
-  {
-    {  B, 12, -1, -1, -1 },
-    {  2,  3,  B, -1, -1 },
-    {  5,  5,  4,  B, -1 },
-    {  8,  5,  5,  7, 12 },
-    { -1,  8,  5,  8,  B }
-  },
-  //	bottomleft
-  {
-    {  B,  2,  5,  8, -1 },
-    { 12,  3,  5,  5,  8 },
-    { -1,  B,  4,  5,  5 },
-    { -1, -1,  B,  7,  8 },
-    { -1, -1, -1, 12,  B }
-  },
-  //	bottomright
-  {
-    { -1,  8,  5,  8,  B },
-    {  8,  5,  7,  8, 12 },
-    {  5,  7,  8,  B, -1 },
-    {  8,  8,  B, -1, -1 },
-    {  B, 12, -1, -1, -1 }
-  }
-};
-
-char LAGAPushButton_mCorners[3][4][4][4] =	{
-  //	Enabled
-  {
-    //	topleft
-    {
-      { -1, -1, 12,  B },
-      { -1,  B,  4,  2 },
-      { 12,  4,  W,  W },
-      {  B,  2,  W,  W }
-    },
-    //	topright
-    {
-      {  B, 12, -1, -1 },
-      {  2,  4,  B, -1 },
-      {  W,  2,  5, 12 },
-      {  2,  5,  8,  B }
-    },
-    //	bottomleft
-    {
-      {  B,  2,  W,  2 },
-      { 12,  4,  2,  5 },
-      { -1,  B,  4,  8 },
-      { -1, -1, 12,  B }
-    },
-    //	bottomright
-    {
-      {  5,  5,  8,  B },
-      {  5,  8,  8, 12 },
-      {  8,  8,  B, -1 },
-      {  B, 12, -1, -1 }
-    }
-  },
-  //	Pressed
-  {
-    //	topleft
-    {
-      { -1, -1, 12,  B },
-      { -1,  B, 10,  8 },
-      { 12, 10,  8,  4 },
-      {  B,  8,  4,  4 }
-    },
-    //	topright
-    {
-      {  B, 12, -1, -1 },
-      {  8, 10,  B, -1 },
-      {  4,  4,  8, 12 },
-      {  4,  4,  4,  B }
-    },
-    //	bottomleft
-    {
-      {  B,  8,  4,  4 },
-      { 12, 10,  4,  4 },
-      { -1,  B, 10,  4 },
-      { -1, -1, 12,  B }
-    },
-    //	bottomright
-    {
-      {  4,  4,  4,  B },
-      {  4,  4, 10, 12 },
-      {  4, 10,  B, -1 },
-      {  B, 12, -1, -1 }
-    }
-  },
-  //	Disabled
-  {
-    //	topleft
-    {
-      { -1, -1,  7,  7 },
-      { -1,  7,  4,  2 },
-      {  7,  4,  1,  1 },
-      {  7,  2,  1,  1 }
-    },
-    //	topright
-    {
-      {  7,  7, -1, -1 },
-      {  2,  4,  7, -1 },
-      {  1,  2,  4,  7 },
-      {  2,  4,  5,  7 }
-    },
-    //	bottomleft
-    {
-      {  7,  2,  1,  2 },
-      {  7,  4,  2,  4 },
-      { -1,  7,  4,  5 },
-      { -1, -1,  7,  7 }
-    },
-    //	bottomright
-    {
-      {  4,  4,  5,  7 },
-      {  4,  5,  5,  7 },
-      {  5,  5,  7, -1 },
-      {  7,  7, -1, -1 }
-    }
-  }
-};
-
-RGBColor gAGARamp[] =
-{
-	/* black */
-	{ 0 , 0 , 0 } ,
-	/* white */
-	{ 65535 , 65535 , 65535 } ,
-	/* 1 */
-	{ 61166 , 61166 , 61166 } ,
-	/* 2 */
-	{ 56797 , 56797 , 56797 } ,
-	/* 3 */
-	{ 52428 , 52428 , 52428 } ,
-	/* 4 */
-	{ 48059 , 48059 , 48059 } ,
-	/* 5 */
-	{ 43690 , 43690 , 43690 } ,
-	/* 6 */
-	{ 39321 , 39321 , 39321 } ,
-	/* 7 */
-	{ 34952 , 34952 , 34952 } ,
-	/* 8 */
-	{ 30583 , 30583 , 30583 } ,
-	/* 9 */
-	{ 26214 , 26214 , 26214 } ,
-	/* 10 */
-	{ 21845 , 21845 , 21845 } ,
-	/* 11 */
-	{ 17476 , 17476 , 17476 } ,
-	/* 12 */
-	{ 13107 , 13107 , 13107 } ,
-	/* A1 */
-	{ 8738 , 8738 , 8738 } ,
-	/* A2 */
-	{ 4369 , 4369 , 4369 } ,
-	
-} ;
-
-RGBColor gAGABlueRamp[] =
-{
-	/* black */
-	{ 0 , 0 , 0 } ,
-	/* white */
-	{ 65535 , 65535 , 65535 } ,
-	/* 1 */
-	{ 61166 , 61166 , 65535 } ,
-	/* 2 */
-	{ 56797 , 56797 , 65535 } ,
-	/* 3 */
-	{ 52428 , 52428 , 65535 } ,
-	/* 4 */
-	{ 48059 , 48059 , 65535 } ,
-	/* 5 */
-	{ 43690 , 43690 , 65535 } ,
-	/* 6 */
-	{ 39321 , 39321 , 65535 } ,
-	/* 7 */
-	{ 34952 , 34952 , 65535 } ,
-	/* 8 */
-	{ 30583 , 30583 , 65535 } ,
-	/* 9 */
-	{ 26214 , 26214 , 65535 } ,
-	/* 10 */
-	{ 21845 , 21845 , 65535 } ,
-	/* 11 */
-	{ 17476 , 17476 , 65535 } ,
-	/* 12 */
-	{ 13107 , 13107 , 65535 } ,
-	/* A1 */
-	{ 8738 , 8738 , 65535 } ,
-	/* A2 */
-	{ 4369 , 4369 , 65535 } ,
-	
-} ;
-
-enum eAGARampColor { 
-	kAGATransparent = -1 ,
-	kAGABlack = 0 ,
-	kAGAWhite = 1 ,
-	kAGA1 = 2 ,
-	kAGA2 = 3 ,
-	kAGA3 = 4 ,
-	kAGA4 = 5 ,
-	kAGA5 = 6 ,
-	kAGA6 = 7 ,
-	kAGA7 = 8 ,
-	kAGA8 = 9 ,
-	kAGA9 = 10 ,
-	kAGA10 = 11 ,
-	kAGA11 = 12 ,
-	kAGA12 = 13 ,
-	kAGAA1 = 14 ,
-	kAGAA2 = 15 ,
-} ;
-// defprocs
-
-enum eAGAState {
-	kAGAStateEnabled = 0 ,
-	kAGAStatePressed = 1 ,
-	kAGAStateDisabled = 2 ,
-	kAGAStateInactive = 3 
-} ;
-
-/*
-typedef struct sControlData
-{
-	ControlPartCode 	m_part ;
-	ResType 					m_tag ;
-	Size 							m_size ;
-} ;
-
-OSErr AGAFindControlData( ControlHandle inControl , ControlPartCode inPart , ResType inTagName , long *outOffset) ;
-OSErr AGAFindControlData( ControlHandle inControl , ControlPartCode inPart , ResType inTagName , long *outOffset) 
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	long offset = 0 ;
-	long size = GetHandleSize( info->data ) ;
-	char* data = *(info->data) ;
-	sControlData* current ;
-	while( offset + sizeof( sControlData ) <= size )
-	{
-		current = (sControlData*) (data+offset ) ;
-		if ( ( inPart == kControlEntireControl || inPart == current->m_part ) && inTagName == current->m_tag )
-		{
-			*outOffset = offset ;
-			return noErr ;
-		}
-	}
-	return errDataNotSupported ; // nothing found
-}
-
-OSErr AGARemoveControlData( ControlHandle inControl , ControlPartCode inPart , ResType inTagName ) ;
-OSErr AGARemoveControlData( ControlHandle inControl , ControlPartCode inPart , ResType inTagName ) 
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	long offset = 0 ;
-	long size = GetHandleSize( info->data ) ;
-	char* data = *(info->data) ;
-	sControlData* current ;
-	while( offset + sizeof( sControlData ) <= size )
-	{
-		current = (sControlData*) (data+offset ) ;
-		if ( ( inPart == kControlEntireControl || inPart == current->m_part ) && inTagName == current->m_tag )
-		{
-			long chunkSize = current->m_size + sizeof ( sControlData ) ;
-			memcpy( data + offset , data + offset + chunkSize , size - offset - chunkSize ) ;
-			SetHandleSize( info->data , size - chunkSize ) ;
-			return noErr ;
-		}
-	}
-	return noErr ;
-}
-
-OSErr AGAAddControlData( ControlHandle inControl , ControlPartCode inPart , ResType inTagName , Size	inSize, Ptr inData) ;
-OSErr AGAAddControlData( ControlHandle inControl , ControlPartCode inPart , ResType inTagName , Size	inSize, Ptr inData) 
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	long offset = 0 ;
-	long size = GetHandleSize( info->data ) ;
-	SetHandleSize( info->data , size + sizeof( sControlData ) + inSize ) ;
-	if (  MemError() == noErr )
-	{
-		char* data = *(info->data) ;
-		sControlData* current = (sControlData*)( data + size ) ;
-		current->m_tag = inTagName ;
-		current->m_part = inPart ;
-		current->m_size = inSize ;
-		memcpy( data + size + sizeof( sControlData ) , inData , inSize ) ;
-		return noErr ;
-	}
-	return errDataNotSupported ;
-}
-
-
-OSErr AGAGetControlDataSize				(ControlHandle 			inControl,
-								 ControlPartCode 		inPart,
-								 ResType 				inTagName,
-								 Size *					outMaxSize)
-{
-	long offset ;
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	char* data = *(info->data) ;
-	
-	OSErr err = AGAFindControlData( inControl , inPart , inTagName , &offset ) ;
-	if ( !err )
-	{
-		sControlData* current = (sControlData*) (data+offset ) ;
-		*outMaxSize = current->m_size ;
-	}
-	return err ;
-}
-
-OSErr AGAGetControlData					(ControlHandle 			inControl,
-								 ControlPartCode 		inPart,
-								 ResType 				inTagName,
-								 Size 					inBufferSize,
-								 Ptr 					outBuffer,
-								 Size *					outActualSize)
-{
-	long offset ;
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	char* data = *(info->data) ;
-	
-	OSErr err = AGAFindControlData( inControl , inPart , inTagName , &offset ) ;
-	if ( !err )
-	{
-		sControlData* current = (sControlData*) (data+offset ) ;
-		*outActualSize = current->m_size ;
-		if ( outBuffer )
-		{
-			if ( inBufferSize <= current->m_size )
-				memcpy( outBuffer , data + offset + sizeof( sControlData )  , current->m_size ) ;
-			else
-				err = errDataNotSupported ;
-		}
-	}
-	return err ;	
-}
-
-OSErr AGASetControlData					(ControlHandle 			inControl,
-								 ControlPartCode 		inPart,
-								 ResType 				inTagName,
-								 Size 					inSize,
-								 Ptr 					inData)
-{
-	long offset ;
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	char* data = *(info->data) ;
-	
-	OSErr err = AGAFindControlData( inControl , inPart , inTagName , &offset ) ;
-	if ( !err )
-	{
-		sControlData* current = (sControlData*) (data+offset ) ;
-		if ( current->m_size == inSize )
-		{
-				memcpy( data + offset + sizeof( sControlData )  , inData , inSize) ;
-		}
-		else
-		{
-			AGARemoveControlData( inControl , inPart , inTagName ) ;
-			AGAAddControlData( inControl , inPart , inTagName , inSize , inData ) ;
-		}
-	}
-	else
-	{
-		AGAAddControlData( inControl , inPart , inTagName , inSize , inData ) ;
-	}
-	return err ;	
-}
-*/
-
-OSErr AGASetControlFontStyle				(ControlHandle 			inControl,
-								 const ControlFontStyleRec * inStyle)	
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	if ( inStyle->flags == 0 )
-	{
-		// back to defaults
-	}
-	else
-	{
-		if ( inStyle->flags & kControlUseFontMask )
-		{
-			info->fontStyle.font = inStyle->font ;
-		}
-		if ( inStyle->flags & kControlUseSizeMask )
-		{
-			info->fontStyle.size = inStyle->size ;
-		}
-		if ( inStyle->flags & kControlUseFaceMask )
-		{
-			info->fontStyle.style = inStyle->style ;
-		}
-		if ( inStyle->flags & kControlUseModeMask )
-		{
-			info->fontStyle.mode = inStyle->mode ;
-		}
-		if ( inStyle->flags & kControlUseJustMask )
-		{
-			info->fontStyle.just = inStyle->just ;
-		}
-		if ( inStyle->flags & kControlUseForeColorMask )
-		{
-			info->fontStyle.foreColor = inStyle->foreColor ;
-		}
-		if ( inStyle->flags & kControlUseBackColorMask )
-		{
-			info->fontStyle.backColor = inStyle->backColor ;
-		}
-	}
-	return noErr ;
-}
-
-OSErr AGASetControlData					(ControlHandle 			inControl,
-								 ControlPartCode 		inPart,
-								 ResType 				inTagName,
-								 Size 					inSize,
-								 Ptr 					inData)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	ControlDataAccessRec rec ;
-	
-	rec.tag = inTagName ;
-	rec.part = inPart ;
-	rec.size = inSize ;
-	rec.dataPtr = inData ;
-	
-	return info->defProc( info->procID , inControl , kControlMsgSetData , (long) &rec ) ;
-}
-
-SInt16 AGAHandleControlKey				(ControlHandle 			inControl,
-								 SInt16 				inKeyCode,
-								 SInt16 				inCharCode,
-								 SInt16 				inModifiers) 
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	ControlKeyDownRec rec ;
-	
-	rec.modifiers = inModifiers ;
-	rec.keyCode = inKeyCode ;
-	rec.charCode = inCharCode ;
-	
-	return info->defProc( info->procID , inControl , kControlMsgKeyDown , (long) &rec ) ;
-}
-
-ControlPartCode AGAHandleControlClick				(ControlHandle 			inControl,
-								 Point 					inWhere,
-								 SInt16 				inModifiers,
-								 ControlActionUPP 		inAction)	
-{
-	return TrackControl( inControl , inWhere , inAction ) ;
-}
-
-Boolean AGATestForNewControl( ControlHandle inControl )
-{
-	if ( (**inControl).contrlRfCon  > 0x100 && !( (**inControl).contrlRfCon % 2 ) )
-	{
-			ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-			return info->magic == kExtCDEFMagic ;
-	}
-	return FALSE ;
-}
-void AGAIdleControls					(WindowPtr 				inWindow) 
-{
-	ControlHandle iter = (ControlHandle) ((WindowPeek)inWindow)->controlList ; 
-	while ( iter )
-	{
-		if ( AGATestForNewControl( iter ) )
-		{
-			ExtCDEFInfo* info = (ExtCDEFInfo* )  (**iter).contrlRfCon ;
-			if ( info->defProc( info->procID , iter , kControlMsgTestNewMsgSupport , 0 ) == kControlSupportsNewMessages )
-			{
-				if ( info->defProc( info->procID , iter , kControlMsgGetFeatures , 0 ) & kControlWantsIdle )
-				{
-					info->defProc( info->procID , iter , kControlMsgIdle , 0 ) ;
-				}
-			}
-		}
-	
-		iter = (**iter).nextControl ;
-	}
-}
-
-void AGAUpdateOneControl( ControlHandle control , RgnHandle inRgn )
-{
-	DrawOneControl( control ) ;
-	ControlHandle iter = (ControlHandle) ((WindowPeek)(**control).contrlOwner)->controlList ; 
-	while ( iter )
-	{
-		if ( AGATestForNewControl( iter ) )
-		{
-			ExtCDEFInfo* info = (ExtCDEFInfo* )  (**iter).contrlRfCon ;
-			if ( info->containerControl == control )
-			{ 		
-				AGAUpdateOneControl( iter , inRgn ) ;
-			}
-		}
-	
-		iter = (**iter).nextControl ;
-	}
-}
-
-void AGAUpdateControls( WindowPtr inWindow , RgnHandle inRgn ) 
-{
-	ControlHandle root ;
-	AGAGetRootControl( inWindow , &root ) ;
-	AGAUpdateOneControl( root , inRgn ) ;
-	
-	// and then all others
-	
-	ControlHandle iter = (ControlHandle) ((WindowPeek)inWindow)->controlList ; 
-	while ( iter )
-	{
-		if ( AGATestForNewControl( iter ) )
-		{
-		}
-		else
-		{
-			DrawOneControl( iter ) ;
-		}
-	
-		iter = (**iter).nextControl ;
-	}
-}
-
-OSErr AGAGetRootControl( WindowPtr inWindow , ControlHandle *outControl ) 
-{
-	ControlHandle iter = (ControlHandle) ((WindowPeek)inWindow)->controlList ; 
-	while ( iter )
-	{
-		if ( AGATestForNewControl( iter ) )
-		{
-			ExtCDEFInfo* info = (ExtCDEFInfo* )  (**iter).contrlRfCon ;
-			if ( info->procID == kAGARootControlProcID )
-			{ 	
-				*outControl  = iter ;
-				return noErr ;
-			}
-		}
-	
-		iter = (**iter).nextControl ;
-	}
-	return -1 ;
-}
-
-void AGADeactivateControl( ControlHandle inControl ) 
-{
-	if ( AGATestForNewControl( inControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-		if ( info->defProc( info->procID , inControl , kControlMsgTestNewMsgSupport , 0 ) == kControlSupportsNewMessages )
-		{
-			if ( info->defProc( info->procID , inControl , kControlMsgGetFeatures , 0 ) & kControlWantsActivate )
-			{
-				info->defProc( info->procID , inControl , kControlMsgActivate , 0 ) ;
-			}
-		}
-	}
-	else
-	{
-		::HiliteControl( inControl , 255 ) ;
-	}
-}
-
-void AGAActivateControl( ControlHandle inControl ) 
-{
-	if ( AGATestForNewControl( inControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-		if ( info->defProc( info->procID , inControl , kControlMsgTestNewMsgSupport , 0 ) == kControlSupportsNewMessages )
-		{
-			if ( info->defProc( info->procID , inControl , kControlMsgGetFeatures , 0 ) & kControlWantsActivate )
-			{
-				info->defProc( info->procID , inControl , kControlMsgActivate , 1 ) ;
-			}
-		}
-	}
-	else
-	{
-		::HiliteControl( inControl , 0 ) ;
-	}
-}
-
-OSErr AGASetKeyboardFocus				(WindowPtr 				inWindow,
-								 ControlHandle 			inControl,
-								 ControlFocusPart 		inPart)
-{
-	if ( AGATestForNewControl( inControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-		if ( info->defProc( info->procID , inControl , kControlMsgTestNewMsgSupport , 0 ) == kControlSupportsNewMessages )
-		{
-			if ( info->defProc( info->procID , inControl , kControlMsgGetFeatures , 0 ) & kControlSupportsFocus )
-			{
-				return info->defProc( info->procID , inControl , kControlMsgFocus , inPart ) ;
-			}
-		}
-	}
-	return errControlDoesntSupportFocus ;
-}
-
-OSErr AGAGetBestControlRect				(ControlHandle 			inControl,
-								 Rect *					outRect,
-								 SInt16 *				outBaseLineOffset)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;
-	ControlCalcSizeRec rec ;
-	rec.width = (**inControl).contrlRect.right - (**inControl).contrlRect.left ;
-	rec.height = (**inControl).contrlRect.bottom - (**inControl).contrlRect.top ;
-	rec.baseLine = 0;
-	
-	OSErr err = info->defProc( info->procID , inControl , kControlMsgCalcBestRect , (long) &rec ) ;
-	if ( !err )
-	{
-		outRect->left = outRect->top = 0 ;
-		outRect->right = rec. width ;
-		outRect->bottom = rec. height ;
-		*outBaseLineOffset = rec. baseLine ;		
-	}
-	return err ;
-}
-
-
-OSErr AGAGetControlData					(ControlHandle 			inControl,
-								 ControlPartCode 		inPart,
-								 ResType 				inTagName,
-								 Size 					inBufferSize,
-								 Ptr 					outBuffer,
-								 Size *					outActualSize)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon  ;
-	ControlDataAccessRec rec ;
-	
-	rec.tag = inTagName ;
-	rec.part = inPart ;
-	rec.size = inBufferSize ;
-	rec.dataPtr = outBuffer ;
-	
-	OSErr err = info->defProc( info->procID , inControl , kControlMsgGetData , (long) &rec ) ;
-	*outActualSize = rec.size ;
-	return err ;
-}
-
-OSErr AGAGetControlDataSize				(ControlHandle 			inControl,
-								 ControlPartCode 		inPart,
-								 ResType 				inTagName,
-								 Size *					outMaxSize)
-{
-	return AGAGetControlData( inControl , inPart , inTagName , 0 , NULL , outMaxSize ) ;
-}
-
-
-void NewExtCDEFInfo( ControlHandle theControl , ControlDefProcPtr defproc , SInt16 procID , long refcon ) 
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* ) malloc( sizeof( ExtCDEFInfo ) ) ;
-	info->defProc = defproc ;
-	info->hasFocus = false ;
-	info->magic = kExtCDEFMagic ;
-	info->contrlRfCon = refcon ;
-	info->procID = procID ;
-	info->containerControl = NULL ;
-	info->children = NewHandle(0) ;
-	info->fontStyle.flags = 0 ;
-	info->fontStyle.font = 0 ;
-	info->fontStyle.size = 12 ;
-	info->fontStyle.style = 0 ;
-	info->fontStyle.mode = 0 ;
-	info->fontStyle.just = 0 ;
-	info->fontStyle.foreColor = gAGARamp[ kAGABlack ] ;
-	info->fontStyle.backColor = gAGARamp[ kAGA2 ] ;
-	(**theControl).contrlRfCon = (long) info ;	
-	defproc( info->procID, theControl, initCntl, 0) ;
-}
-
-void DisposeExtCDEFInfo( ControlHandle theControl) 
-{
-	if ( AGATestForNewControl( theControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;
-		if ( info )
-		{
-			DisposeHandle( info->children ) ;
-			info->children = NULL ;
-			free( (void*) (**theControl).contrlRfCon ) ;
-			(**theControl).contrlRfCon = NULL ;
-		}
-	}
-}
-
-const short kAGAProgressHeight = 14 ;
-
-void AGADrawRectPlacard( const Rect *inRect , eAGAState inState , bool fill = false ) ;
-void AGADrawRectProgress( const Rect *inRect , eAGAState inState , double percentage ) ;
-
-void AGADrawRectPlacard( const Rect *inRect , eAGAState inState , bool fill ) 
-{
-	Rect rect = *inRect ;
-	RGBColor pixelColor ;
-	if ( inState == kAGAStateInactive )
-	{
-		RGBForeColor( &gAGARamp[ kAGA10 ] ) ;
-		FrameRect( &rect ) ;
-		if ( fill )
-		{
-			InsetRect( &rect , 1 , 1 ) ;
-			RGBForeColor( &gAGARamp[ kAGA1 ] ) ;
-			PaintRect( &rect ) ;
-		}
-		return ;
-	}
-
-	RGBForeColor( &gAGARamp[ kAGABlack ] ) ;
-	FrameRect( &rect ) ;
-	InsetRect( &rect , 1 , 1 ) ;
-	
-	if ( inState == kAGAStateEnabled || inState == kAGAStateDisabled )
-		RGBForeColor( &gAGARamp[ kAGAWhite ] ) ;
-	else
-		RGBForeColor( &gAGARamp[ kAGABlack ] ) ;
-		
-	MoveTo( rect.left , rect.bottom - 1 -1 ) ;
-	LineTo( rect.left , rect.top ) ;
-	LineTo( rect.right-1-1  , rect.top ) ;
-	
-	if ( inState == kAGAStateEnabled || inState == kAGAStateDisabled )
-		pixelColor =  gAGARamp[ kAGA2 ] ;
-	else
-		pixelColor = gAGARamp[ kAGA8 ] ;
-
-	SetCPixel( rect.right-1  , rect.top , &pixelColor ) ;
-	SetCPixel( rect.left , rect.bottom-1  , &pixelColor ) ;
-	
-	if ( inState == kAGAStateEnabled )
-		RGBForeColor( &gAGARamp[ kAGA5 ] ) ;
-	else if ( inState == kAGAStateDisabled )
-		RGBForeColor( &gAGARamp[ kAGA4 ] ) ;
-	else
-		RGBForeColor( &gAGARamp[ kAGA6 ] ) ;
-	
-	MoveTo( rect.left + 1 , rect.bottom-1  ) ;
-	LineTo( rect.right-1  , rect.bottom-1  ) ;
-	LineTo( rect.right-1  , rect.top-1 ) ;
-	
-	if ( fill )
-	{
-		InsetRect( &rect , 1 , 1 ) ;
-		if ( inState == kAGAStateEnabled || inState == kAGAStateDisabled )
-			RGBForeColor( &gAGARamp[ kAGA2 ] ) ;
-		else
-			RGBForeColor( &gAGARamp[ kAGA8 ] ) ;
-		PaintRect( &rect ) ;
-	}
-}
-
-void AGADrawRectProgress( const Rect *inRect , eAGAState inState , double percentage ) 
-{
-	Rect rect = *inRect ;
-	rect.bottom = rect.top + 14 ; 
-	RGBColor pixelColor ;
-	
-	RGBForeColor( &gAGARamp[ kAGA5 ]) ;
-	MoveTo( rect.left , rect.bottom - 1 -1  ) ;
-	LineTo( rect.left , rect.top ) ;
-	LineTo( rect.right-1-1  , rect.top ) ;
-
-	RGBForeColor( &gAGARamp[ kAGAWhite ] ) ;
-	MoveTo( rect.left + 1 , rect.bottom -1 ) ;
-	LineTo( rect.right-1  , rect.bottom -1 ) ;
-	LineTo( rect.right-1  , rect.top-1 ) ;
-
-	InsetRect( &rect , 1 , 1 ) ;
-	RGBForeColor( &gAGARamp[ kAGABlack ] ) ;
-			
-	Rect barLeft = rect , barRight = rect ;
-	
-	int	position = percentage * ( rect.right - rect.left ) ;
-	barLeft.right = barLeft.left + position ;
-	barRight.left = barLeft.left + position ;
-	FrameRect( &barLeft ) ;
-	FrameRect( &barRight ) ;
-	
-	InsetRect( &barLeft , 1 , 1 ) ;
-
-	InsetRect( &barRight , 1 , 1 ) ;
-	
-	if ( !EmptyRect( &barRight ) )
-	{
-		RGBForeColor( &gAGARamp[ kAGA10 ] ) ;
-		MoveTo( barRight.left , barRight.bottom -1 ) ;
-		LineTo( barRight.left , barRight.top ) ;
-		barRight.left += 1 ;
-		if ( !EmptyRect( &barRight ) )
-		{
-			RGBForeColor( &gAGARamp[ kAGA7 ] ) ;
-			MoveTo( barRight.left , barRight.bottom-1  ) ;
-			LineTo( barRight.left , barRight.top ) ;
-			LineTo( barRight.right-1-1  , barRight.top ) ;
-			RGBForeColor( &gAGARamp[ kAGA2 ] ) ;
-			MoveTo( barRight.left + 1 , barRight.bottom -1 ) ;
-			LineTo( barRight.right-1  , barRight.bottom -1 ) ;
-			LineTo( barRight.right-1  , barRight.top - 1) ;
-			pixelColor = gAGARamp[ kAGA4 ]  ;
-			SetCPixel( barRight.right-1  , barRight.top , &pixelColor ) ;
-			InsetRect( &barRight , 1  , 1)  ;
-			if ( !EmptyRect( &barRight ) )
-			{
-				RGBForeColor( &gAGARamp[ kAGA4 ] ) ;
-				PaintRect( &barRight ) ;
-			}
-		}
-		if ( !EmptyRect( &barLeft ) )
-		{
-			RGBForeColor( &gAGABlueRamp[ kAGA8 ] ) ;
-			MoveTo( barLeft.left , barLeft.bottom -1 ) ;
-			LineTo( barLeft.left , barLeft.top ) ;
-			LineTo( barLeft.left+1 , barLeft.top ) ;
-			RGBForeColor( &gAGABlueRamp[ kAGA12 ] ) ;			
-			MoveTo( barLeft.left + 2, barLeft.bottom-1  ) ;
-			LineTo( barLeft.right-1   , barLeft.bottom-1  ) ;
-			LineTo( barLeft.right-1  , barLeft.top -1 ) ;
-			RGBForeColor( &gAGABlueRamp[ kAGA10 ] ) ;			
-			MoveTo( barLeft.left + 2, barLeft.top ) ;
-			LineTo( barLeft.right-1   , barLeft.top ) ;
-			pixelColor = gAGABlueRamp[ kAGA10] ;
-			SetCPixel( barLeft.left + 1, barLeft.bottom-1  , &pixelColor ) ;
-			InsetRect( &barLeft , 1 , 1 ) ;
-			if ( !EmptyRect( &barLeft ) )
-			{
-				// do more here
-				RGBForeColor( &gAGABlueRamp[ kAGA3 ] ) ;
-				PaintRect( &barLeft ) ;
-			}
-		}
-	}
-}
-
-SInt32 AGAGetDataHelper( ControlDataAccessRec *rec , Size size , Ptr data ) ;
-SInt32 AGAGetDataHelper( ControlDataAccessRec *rec , Size size , Ptr data ) 
-{
-	if ( rec->dataPtr == NULL )
-	{
-		rec->size = size ;
-		return noErr ;
-	}
-	else
-	{
-		if ( rec->size < size )
-			return errDataSizeMismatch ;
-		
-		rec->size = size ;
-		memcpy( rec->dataPtr , data , size ) ;
-		return noErr ;
-	}
-}
-
-void AGASetFontStyle( ControlFontStyleRec *fontstyle ) ;
-void AGASetFontStyle( ControlFontStyleRec *fontstyle )
-{
-		if( fontstyle->font >= 0 )
-		{
-			::TextFont( fontstyle->font ) ;
-			::TextSize( fontstyle->size ) ;
-			::TextFace( fontstyle->style ) ;
-		}
-		else
-		{
-			switch( fontstyle->font )
-			{
-				case kControlFontBigSystemFont :
-					::TextFont( systemFont ) ; 
-					::TextSize( 12 ) ;
-					::TextFace( 0 ) ;
-					break ;
-				case kControlFontSmallSystemFont :
-					::TextFont( kFontIDGeneva ) ; 
-					::TextSize( 10 ) ;
-					::TextFace( 0 ) ;
-					break ;
-				case kControlFontSmallBoldSystemFont :
-					::TextFont( kFontIDGeneva ) ; 
-					::TextSize( 10 ) ;
-					::TextFace( bold ) ;
-					break ;
-			}
-		}
-		::RGBForeColor( &fontstyle->foreColor ) ;
-		::RGBBackColor( &fontstyle->backColor ) ;
-} ;
-
-pascal SInt32 AGAProgressBarDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{	
-	switch( message )
-	{
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-				PenState		oldPenState;
-				RGBColor		oldForeColor ;
-				RGBColor		oldBackColor ;
-				RGBColor		backColor ;
-				RGBColor		foreColor ;
-				
-				GetPenState( &oldPenState ) ;
-				GetBackColor( &oldBackColor ) ;
-				GetForeColor( &oldForeColor ) ;
-				
-				{
-					int			theValue = GetControlValue(theControl) ;
-					int			theMinimum = GetControlMinimum(theControl) ;
-					int			theMaximum = GetControlMaximum(theControl) ;
-					
-					AGADrawRectProgress( &(**theControl).contrlRect , kAGAStateEnabled , (( double )( theValue - theMinimum )) / ( theMaximum-theMinimum ) ) ;
-				}
-			
-				RGBForeColor(&oldForeColor);
-				RGBBackColor(&oldBackColor);
-				SetPenState(&oldPenState);				
-			}
-			break ;
-		case calcCntlRgn :
-			RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-
-pascal SInt32 AGAPlacardDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	switch( message )
-	{
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-				PenState		oldPenState;
-				RGBColor		oldForeColor ;
-				RGBColor		oldBackColor ;
-				RGBColor		backColor ;
-				RGBColor		foreColor ;
-				
-				GetPenState( &oldPenState ) ;
-				GetBackColor( &oldBackColor ) ;
-				GetForeColor( &oldForeColor ) ;
-				
-				{
-					AGADrawRectPlacard( &(**theControl).contrlRect , kAGAStateEnabled , true  ) ;
-				}
-			
-				RGBForeColor(&oldForeColor);
-				RGBBackColor(&oldBackColor);
-				SetPenState(&oldPenState);				
-			}
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-pascal SInt32 AGABevelButtonDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-	switch( message )
-	{
-		case initCntl :
-			info->privateData = (long) malloc( sizeof( ControlButtonContentInfo ) ) ;
-			memset( (char*) info->privateData , 0 , sizeof( ControlButtonContentInfo )  ) ;
-			break ;
-		case dispCntl :
-			free( (void*) info->privateData ) ;
-			break ;
-		case kControlMsgSetData :
-			{
-				ControlDataAccessRec *rec = (ControlDataAccessRec *) param ;
-				if ( rec->tag == kControlBevelButtonContentTag )
-				{
-					memcpy( (char*) info->privateData , rec->dataPtr , rec->size ) ;
-					return noErr ;
-				}
-				return errDataNotSupported ;
-			}
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = 0 ;
-				rec->height = 20 ;
-				rec->baseLine = 0;
-			}
-			break ;
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-					
-				{
-					AGAPortHelper help((**theControl).contrlOwner) ;
-					AGASetFontStyle( &info->fontStyle ) ;
-					Boolean mRadioBehavior = false ;
-					
-					int	mValue = GetControlValue( theControl ) ;
-					long theValue = (mRadioBehavior ? mValue : 0);
-					Boolean inPushed = (**theControl).contrlHilite ;
-					Boolean down = inPushed || (theValue != 0);
-					Boolean hasColor = 1;
-					int mEnabled = 1 ;
-					int triState_Off = 3 ;
-					Boolean disabled = (mEnabled == triState_Off);
-				
-					Rect frame = (**theControl).contrlRect ;
-					
-					//	Draw the black frame;
-					::MoveTo(frame.left + 1, frame.top);
-					::LineTo(frame.right - 2, frame.top);
-					::MoveTo(frame.right - 1, frame.top + 1);
-					::LineTo(frame.right - 1, frame.bottom - 2);
-					::MoveTo(frame.right - 2, frame.bottom - 1);
-					::LineTo(frame.left + 1, frame.bottom - 1);
-					::MoveTo(frame.left, frame.bottom - 2);
-					::LineTo(frame.left, frame.top + 1);
-					
-					//	Draw the inside (w/o the Icon)
-					::InsetRect(&frame, 1, 1);
-					if (hasColor)
-						{
-							AGASetFontStyle( &info->fontStyle ) ;
-							if (down)
-								::RGBBackColor(&gAGAColorArray[4]);
-						}
-					::EraseRect(&frame);
-					
-					//	Draw the shadows
-					if (hasColor)
-						{
-							::RGBForeColor(&gAGAColorArray[7]);
-							if (down)
-								{
-									::MoveTo(frame.left, frame.bottom - 1);
-									::LineTo(frame.left, frame.top);
-									::LineTo(frame.right - 1, frame.top);
-								}
-							else
-								{
-									::MoveTo(frame.right - 1, frame.top);
-									::LineTo(frame.right - 1, frame.bottom - 1);
-									::LineTo(frame.left, frame.bottom - 1);
-									::MoveTo(frame.right - 2, frame.top + 1);
-									::LineTo(frame.right - 2, frame.bottom - 2);
-									::LineTo(frame.left + 1, frame.bottom - 2);
-									::ForeColor(whiteColor);
-									::MoveTo(frame.left, frame.bottom - 2);
-									::LineTo(frame.left, frame.top);
-									::LineTo(frame.right - 2, frame.top);
-								}
-						}
-					
-					//	Draw the Icon
-					
-					frame = (**theControl).contrlRect ;
- 					PictInfo theInfo ;
-					PicHandle thePict = ((ControlButtonContentInfo*) info->privateData)->u.picture ;
-					if ( thePict )
-					{
-						GetPictInfo( thePict , &theInfo , 0 , 0 , systemMethod , 0 ) ;
-	   				Rect bitmaprect = { 0 , 0 , theInfo.sourceRect.bottom - theInfo.sourceRect.top , 
-	   																		theInfo.sourceRect.right - theInfo.sourceRect.left } ;
-						::OffsetRect( &bitmaprect , (frame.right + frame.left)/2 - bitmaprect.right / 2 , (frame.bottom + frame.top) / 2 - bitmaprect.bottom / 2 ) ;
-						if (inPushed)
-							::OffsetRect( &bitmaprect , 1 , 1 ) ;
-						::DrawPicture( thePict , &bitmaprect ) ;
-					}
-				}
-			}
-			break ;
-		case testCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-					return kControlButtonPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		case calcCntlRgn :
-			RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		case posCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-					return kControlButtonPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-pascal SInt32 AGAButtonDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-	switch( message )
-	{
-		case initCntl :
-			(**theControl).contrlData = NULL ;
-			break ;
-		case kControlMsgSetData :
-			{
-				ControlDataAccessRec *rec = (ControlDataAccessRec *) param ;
-				Boolean isDefault = *((Boolean*)rec->dataPtr ) ;
-				(**theControl).contrlData = (Handle) isDefault ;
-				return noErr ;
-			}
-			break ;
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = 0 ;
-				rec->height = 20 ;
-				rec->baseLine = 0;
-			}
-			break ;
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-					
-				{
-					AGAPortHelper help((**theControl).contrlOwner) ;
-					AGASetFontStyle( &info->fontStyle ) ;
-					Boolean mRadioBehavior = false ;
-					
-					Rect frame, tempRect;
-					int	mValue = GetControlValue( theControl ) ;
-					long theValue = (mRadioBehavior ? mValue : 0);
-					Boolean inPushed = (**theControl).contrlHilite ;
-					Boolean down = inPushed || (theValue != 0);
-					Boolean hasColor = 1;
-					int mEnabled = 1 ;
-					int triState_Off = 3 ;
-					Boolean disabled = (mEnabled == triState_Off);
-				
-//					theState.Normalize();
-//					CalcLocalFrameRect(frame);
-					frame= (**theControl).contrlRect ;
-					
-					if ( (**theControl).contrlData )
-					{
-						InsetRect( &frame , -3 , -3 ) ;
-						{
-							::MoveTo(frame.left + 3, frame.top);
-							::LineTo(frame.right - 4, frame.top);
-							::LineTo(frame.right - 1, frame.top + 3);
-							::LineTo(frame.right - 1, frame.bottom - 4);
-							::LineTo(frame.right - 4, frame.bottom - 1);
-							::LineTo(frame.left + 3, frame.bottom - 1);
-							::LineTo(frame.left, frame.bottom - 4);
-							::LineTo(frame.left, frame.top + 3);
-							::LineTo(frame.left + 3, frame.top);
-							
-							if (hasColor)
-								{
-									const RGBColor *col = gAGAColorArray;
-									for (int i = 0; i < 5; i++)
-										for (int j = 0; j < 5; j++)
-											{
-												if (LAGADefaultOutline_mCorners[0][i][j] != -1)
-													::SetCPixel(frame.left + j, frame.top + i, &col[LAGADefaultOutline_mCorners[0][i][j]]);
-												if (LAGADefaultOutline_mCorners[1][i][j] != -1)
-													::SetCPixel(frame.right - 5 + j, frame.top + i, &col[LAGADefaultOutline_mCorners[1][i][j]]);
-												if (LAGADefaultOutline_mCorners[2][i][j] != -1)
-													::SetCPixel(frame.left + j, frame.bottom - 5 + i, &col[LAGADefaultOutline_mCorners[2][i][j]]);
-												if (LAGADefaultOutline_mCorners[3][i][j] != -1)
-													::SetCPixel(frame.right - 5 + j, frame.bottom - 5 + i, &col[LAGADefaultOutline_mCorners[3][i][j]]);
-											}
-									
-									::RGBForeColor(&gAGAColorArray[2]);
-									::MoveTo(frame.left + 1, frame.top + 5);
-									::LineTo(frame.left + 1, frame.bottom - 6);
-									::MoveTo(frame.left + 5, frame.top + 1);
-									::LineTo(frame.right - 6, frame.top + 1);
-									
-									::RGBForeColor(&gAGAColorArray[5]);
-									::MoveTo(frame.left + 4, frame.top + 2);
-									::LineTo(frame.right - 5, frame.top + 2);
-									::LineTo(frame.right - 3, frame.top + 4);
-									::LineTo(frame.right - 3, frame.bottom - 5);
-									::LineTo(frame.right - 5, frame.bottom - 3);
-									::LineTo(frame.left + 4, frame.bottom - 3);
-									::LineTo(frame.left + 2, frame.bottom - 5);
-									::LineTo(frame.left + 2, frame.top + 4);
-									::LineTo(frame.left + 4, frame.top + 2);
-									
-									::RGBForeColor(&gAGAColorArray[8]);
-									::MoveTo(frame.right - 2, frame.top + 5);
-									::LineTo(frame.right - 2, frame.bottom - 6);
-									::MoveTo(frame.left + 5, frame.bottom - 2);
-									::LineTo(frame.right - 6, frame.bottom - 2);
-								}
-						}		
-					}
-					
-					AGASetFontStyle( &info->fontStyle ) ;
-					frame= (**theControl).contrlRect ;
-
-					tempRect = frame;
-					::InsetRect(&tempRect, 1, 1);
-					if (hasColor)
-						{
-							if (down)
-								::RGBBackColor(&gAGAColorArray[4]);
-						}
-					EraseRect(&tempRect);
-					
-					//	Draw the frame;
-					if (disabled)
-						{
-							if (hasColor)
-								::RGBForeColor(&gAGAColorArray[7]);
-							else
-								::PenPat(&qd.gray);
-						}
-					::MoveTo(frame.left + 2, frame.top);
-					::LineTo(frame.right - 3, frame.top);
-					::LineTo(frame.right - 1, frame.top + 2);
-					::LineTo(frame.right - 1, frame.bottom - 3);
-					::LineTo(frame.right - 3, frame.bottom - 1);
-					::LineTo(frame.left + 2, frame.bottom - 1);
-					::LineTo(frame.left, frame.bottom - 3);
-					::LineTo(frame.left, frame.top + 2);
-					::LineTo(frame.left + 2, frame.top);
-					if (disabled && !hasColor)
-						::PenNormal();
-					
-					//	Draw the four corners around
-					if (hasColor)
-						{
-							short pattern = (disabled ? 2 : (down ? 1 : 0));
-							const RGBColor *col = gAGAColorArray;
-							for (int i = 0; i < 4; i++)
-								for (int j = 0; j < 4; j++)
-									{
-										if (LAGAPushButton_mCorners[pattern][0][i][j] != -1)
-											::SetCPixel(frame.left + j, frame.top + i, &col[LAGAPushButton_mCorners[pattern][0][i][j]]);
-										if (LAGAPushButton_mCorners[pattern][1][i][j] != -1)
-											::SetCPixel(frame.right - 4 + j, frame.top + i, &col[LAGAPushButton_mCorners[pattern][1][i][j]]);
-										if (LAGAPushButton_mCorners[pattern][2][i][j] != -1)
-											::SetCPixel(frame.left + j, frame.bottom - 4 + i, &col[LAGAPushButton_mCorners[pattern][2][i][j]]);
-										if (LAGAPushButton_mCorners[pattern][3][i][j] != -1)
-											::SetCPixel(frame.right - 4 + j, frame.bottom - 4 + i, &col[LAGAPushButton_mCorners[pattern][3][i][j]]);
-									}
-							
-							if (down)
-								::RGBForeColor(&gAGAColorArray[8]);
-							else
-								::RGBForeColor(&gAGAColorArray[2]);
-							::MoveTo(frame.left + 1, frame.top + 4);
-							::LineTo(frame.left + 1, frame.bottom - 5);
-							::MoveTo(frame.left + 4, frame.top + 1);
-							::LineTo(frame.right - 5, frame.top + 1);
-							
-							if (!down)
-								{
-									if (disabled)
-										::RGBForeColor(&gAGAColorArray[1]);
-									else
-										::ForeColor(whiteColor);
-									::MoveTo(frame.left + 2, frame.bottom - 5);
-									::LineTo(frame.left + 2, frame.top + 2);
-									::LineTo(frame.right - 5, frame.top + 2);
-							
-									if (disabled)
-										::RGBForeColor(&gAGAColorArray[5]);
-									else
-										::RGBForeColor(&gAGAColorArray[8]);
-									::MoveTo(frame.left + 4, frame.bottom - 2);
-									::LineTo(frame.right - 5, frame.bottom - 2);
-									::MoveTo(frame.right - 2, frame.bottom - 5);
-									::LineTo(frame.right - 2, frame.top + 4);
-									
-									if (disabled)
-										::RGBForeColor(&gAGAColorArray[4]);
-									else
-										::RGBForeColor(&gAGAColorArray[5]);
-									::MoveTo(frame.left + 4, frame.bottom - 3);
-									::LineTo(frame.right - 5, frame.bottom - 3);
-									::MoveTo(frame.right - 3, frame.bottom - 5);
-									::LineTo(frame.right - 3, frame.top + 4);
-								}
-						}
-					AGASetFontStyle( &info->fontStyle ) ;
-					int x =	( (**theControl).contrlRect.left + (**theControl).contrlRect.right ) / 2 ;
-					int y =	( (**theControl).contrlRect.top + 	(**theControl).contrlRect.bottom ) / 2 ;
-					FontInfo fi ;
-					::GetFontInfo( &fi ) ;
-					
-					y += fi.ascent / 2 ;
-					int length = (**theControl).contrlTitle[0] ;
-					if ( length )
-					{
-						int width = TextWidth( &(**theControl).contrlTitle[1] , 0, length ) ;
-						x -= width / 2 ;
-						::MoveTo( x , y );
-						::DrawText( &(**theControl).contrlTitle[1] , 0, length);
-					}
-					
-				}
-			}
-			break ;
-		case testCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-					return kControlButtonPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		case calcCntlRgn :
-			RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		case posCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-					return kControlButtonPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-const int kAGACheckBoxWidth = 12 ;
-const int kAGACheckBoxHeigth = 12 ;
-
-pascal SInt32 AGACheckBoxDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-	switch( message )
-	{
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-				PenState		oldPenState;
-				RGBColor		oldForeColor ;
-				RGBColor		oldBackColor ;
-				RGBColor		backColor ;
-				RGBColor		foreColor ;
-				
-				
-				{
-					if (!(**theControl).contrlVis)				
-						return 0 ;
-						
-					{
-						AGAPortHelper help((**theControl).contrlOwner) ;
-						Rect frame =  (**theControl).contrlRect ;
-						Boolean hasColor = true;
-						Boolean disabled = (*theControl)->contrlHilite == 255 ;
-						int	mValue = GetControlValue( theControl ) ;
-						Boolean inPushed = (**theControl).contrlHilite ;
-						int mEnabled = 1 ;
-						int triState_Off = 3 ;
-						
-						frame.right = frame.left + kAGACheckBoxWidth;
-						frame.bottom = frame.top + kAGACheckBoxHeigth;
-						
-						//	Draw the frame of the checkbox
-							if (disabled)
-								if (hasColor)
-									::RGBForeColor(&gAGAColorArray[7]);
-								else
-									PenPat(&qd.gray);
-							
-						::FrameRect(&frame);
-						
-						if (!hasColor)
-							PenNormal();
-							
-						::InsetRect(&frame, 1, 1);
-						if (hasColor)
-							::RGBBackColor(inPushed ? &gAGAColorArray[8] : &gAGAColorArray[2]);
-						::EraseRect(&frame);
-						
-						if (hasColor)
-							{
-								if (inPushed)
-									::RGBForeColor(&gAGAColorArray[10]);
-								else
-									ForeColor(whiteColor);
-								::MoveTo(frame.left, frame.bottom - 2);
-								::LineTo(frame.left, frame.top);
-								::LineTo(frame.right - 2, frame.top);
-						
-								if (inPushed)
-									::RGBForeColor(&gAGAColorArray[6]);
-								else
-									::RGBForeColor(mEnabled != triState_Off ? &gAGAColorArray[7] : &gAGAColorArray[5]);
-								::MoveTo(frame.left + 1, frame.bottom - 1);
-								::LineTo(frame.right - 1, frame.bottom - 1);
-								::LineTo(frame.right - 1, frame.top + 1);
-							}
-						
-						if (mValue)
-							{
-								if (mValue == 1)
-									{
-										//	Checked state
-										if (hasColor)
-											{
-												::RGBForeColor(inPushed ? &gAGAColorArray[10] : &gAGAColorArray[5]);
-												::MoveTo(frame.left + 3, frame.bottom - 2);
-												::LineTo(frame.right - 2, frame.top + 3);
-												::MoveTo(frame.right - 2, frame.bottom - 2);
-												::LineTo(frame.right - 2, frame.bottom - 2);
-										
-												if (mEnabled != triState_Off)
-													::RGBForeColor(inPushed ? &gAGAColorArray[11] : &gAGAColorArray[8]);
-												::MoveTo(frame.left + 3, frame.bottom - 3);
-												::LineTo(frame.right - 2, frame.top + 2);
-												::MoveTo(frame.right - 2, frame.bottom - 3);
-												::LineTo(frame.right - 2, frame.bottom - 3);
-												
-												if (mEnabled != triState_Off)
-													::ForeColor(blackColor);
-												else
-													::RGBForeColor(&gAGAColorArray[7]);
-											}
-										::MoveTo(frame.left + 2, frame.top + 1);
-										::LineTo(frame.right - 3, frame.bottom - 4);
-										::MoveTo(frame.left + 2, frame.top + 2);
-										::LineTo(frame.right - 3, frame.bottom - 3);
-										::MoveTo(frame.left + 2, frame.bottom - 4);
-										::LineTo(frame.right - 3, frame.top + 1);
-										::MoveTo(frame.left + 2, frame.bottom - 3);
-										::LineTo(frame.right - 3, frame.top + 2);
-									}
-								else
-									{
-										//	Mixed state
-										if (hasColor)
-											{
-												::RGBForeColor(inPushed ? &gAGAColorArray[10] : &gAGAColorArray[5]);
-												::MoveTo(frame.left + 3, frame.top + 6);
-												::LineTo(frame.right - 2, frame.top + 6);
-												::LineTo(frame.right - 2, frame.top + 4);
-										
-												if (mEnabled != triState_Off)
-													::ForeColor(blackColor);
-												else
-													::RGBForeColor(&gAGAColorArray[7]);
-											}
-										::MoveTo(frame.left + 2, frame.top + 4);
-										::LineTo(frame.right - 3, frame.top + 4);
-										::MoveTo(frame.left + 2, frame.top + 5);
-										::LineTo(frame.right - 3, frame.top + 5);
-									}
-							}
-							
-						if (inPushed && !hasColor)
-							InvertRect(&frame);
-						
-						AGASetFontStyle( &info->fontStyle ) ;
-						int x =	(**theControl).contrlRect.left + kAGACheckBoxWidth + 5 ;
-						int y =	( (**theControl).contrlRect.top + (**theControl).contrlRect.bottom ) / 2 ;
-						FontInfo fi ;
-						::GetFontInfo( &fi ) ;
-						
-						y += fi.ascent / 2 ;
-						::MoveTo( x , y );
-						int length = (**theControl).contrlTitle[0] ;
-						if ( length )
-						{
-							::DrawText( &(**theControl).contrlTitle[1] , 0, length);
-						}
-					}
-				}
-			
-			}
-			break ;
-		case testCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) && ((*theControl)->contrlVis != 0) && ((*theControl)->contrlHilite != 255) )
-					return kControlCheckBoxPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		case posCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-			  {
-			  	if ( (**theControl).contrlValue )
-			  		(**theControl).contrlValue = 0 ;
-			  	else
-			  		(**theControl).contrlValue = 1 ;
-			  		
-					return 0 ;
-				}
-				else
-					return 0 ;
-			}
-			break ;
-		case calcThumbRgn :
-		case calcCntlRgn :
-			if ( !EmptyRect(&(**theControl).contrlRect ) )
-				RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = (**theControl).contrlRect.right - (**theControl).contrlRect.left ;
-				rec->height = kAGACheckBoxHeigth ;
-				rec->baseLine = 0;
-			}
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-pascal SInt32 AGARadioButtonDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-//TO DO
-/*	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-	switch( message )
-	{
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-				PenState		oldPenState;
-				RGBColor		oldForeColor ;
-				RGBColor		oldBackColor ;
-				RGBColor		backColor ;
-				RGBColor		foreColor ;
-				
-				
-				{
-					if (!(**theControl).contrlVis)				
-						return 0 ;
-						
-					{
-						AGAPortHelper help() ;
-						Rect frame =  (**theControl).contrlRect ;
-						Boolean hasColor = true;
-						Boolean disabled = (*theControl)->contrlHilite == 255 ;
-						int	mValue = GetControlValue( theControl ) ;
-						Boolean inPushed = (**theControl).contrlHilite ;
-						int mEnabled = 1 ;
-						int triState_Off = 3 ;
-						
-						frame.right = frame.left + kAGACheckBoxWidth;
-						frame.bottom = frame.top + kAGACheckBoxHeigth;
-						
-						//	Draw the frame of the checkbox
-							if (disabled)
-								if (hasColor)
-									::RGBForeColor(&gAGAColorArray[7]);
-								else
-									PenPat(&qd.gray);
-							
-						::FrameRect(&frame);
-						
-						if (!hasColor)
-							PenNormal();
-							
-						::InsetRect(&frame, 1, 1);
-						if (hasColor)
-							::RGBBackColor(inPushed ? &gAGAColorArray[8] : &gAGAColorArray[2]);
-						::EraseRect(&frame);
-						
-						if (hasColor)
-							{
-								if (inPushed)
-									::RGBForeColor(&gAGAColorArray[10]);
-								else
-									ForeColor(whiteColor);
-								::MoveTo(frame.left, frame.bottom - 2);
-								::LineTo(frame.left, frame.top);
-								::LineTo(frame.right - 2, frame.top);
-						
-								if (inPushed)
-									::RGBForeColor(&gAGAColorArray[6]);
-								else
-									::RGBForeColor(mEnabled != triState_Off ? &gAGAColorArray[7] : &gAGAColorArray[5]);
-								::MoveTo(frame.left + 1, frame.bottom - 1);
-								::LineTo(frame.right - 1, frame.bottom - 1);
-								::LineTo(frame.right - 1, frame.top + 1);
-							}
-						
-						if (mValue)
-							{
-								if (mValue == 1)
-									{
-										//	Checked state
-										if (hasColor)
-											{
-												::RGBForeColor(inPushed ? &gAGAColorArray[10] : &gAGAColorArray[5]);
-												::MoveTo(frame.left + 3, frame.bottom - 2);
-												::LineTo(frame.right - 2, frame.top + 3);
-												::MoveTo(frame.right - 2, frame.bottom - 2);
-												::LineTo(frame.right - 2, frame.bottom - 2);
-										
-												if (mEnabled != triState_Off)
-													::RGBForeColor(inPushed ? &gAGAColorArray[11] : &gAGAColorArray[8]);
-												::MoveTo(frame.left + 3, frame.bottom - 3);
-												::LineTo(frame.right - 2, frame.top + 2);
-												::MoveTo(frame.right - 2, frame.bottom - 3);
-												::LineTo(frame.right - 2, frame.bottom - 3);
-												
-												if (mEnabled != triState_Off)
-													::ForeColor(blackColor);
-												else
-													::RGBForeColor(&gAGAColorArray[7]);
-											}
-										::MoveTo(frame.left + 2, frame.top + 1);
-										::LineTo(frame.right - 3, frame.bottom - 4);
-										::MoveTo(frame.left + 2, frame.top + 2);
-										::LineTo(frame.right - 3, frame.bottom - 3);
-										::MoveTo(frame.left + 2, frame.bottom - 4);
-										::LineTo(frame.right - 3, frame.top + 1);
-										::MoveTo(frame.left + 2, frame.bottom - 3);
-										::LineTo(frame.right - 3, frame.top + 2);
-									}
-								else
-									{
-										//	Mixed state
-										if (hasColor)
-											{
-												::RGBForeColor(inPushed ? &gAGAColorArray[10] : &gAGAColorArray[5]);
-												::MoveTo(frame.left + 3, frame.top + 6);
-												::LineTo(frame.right - 2, frame.top + 6);
-												::LineTo(frame.right - 2, frame.top + 4);
-										
-												if (mEnabled != triState_Off)
-													::ForeColor(blackColor);
-												else
-													::RGBForeColor(&gAGAColorArray[7]);
-											}
-										::MoveTo(frame.left + 2, frame.top + 4);
-										::LineTo(frame.right - 3, frame.top + 4);
-										::MoveTo(frame.left + 2, frame.top + 5);
-										::LineTo(frame.right - 3, frame.top + 5);
-									}
-							}
-							
-						if (inPushed && !hasColor)
-							InvertRect(&frame);
-						
-						AGASetFontStyle( &info->fontStyle ) ;
-						int x =	(**theControl).contrlRect.left + kAGACheckBoxWidth + 5 ;
-						int y =	( (**theControl).contrlRect.top + (**theControl).contrlRect.bottom ) / 2 ;
-						FontInfo fi ;
-						::GetFontInfo( &fi ) ;
-						
-						y += fi.ascent / 2 ;
-						::MoveTo( x , y );
-						int length = (**theControl).contrlTitle[0] ;
-						if ( length )
-						{
-							::DrawText( &(**theControl).contrlTitle[1] , 0, length);
-						}
-					}
-				}
-			
-			}
-			break ;
-		case testCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) && ((*theControl)->contrlVis != 0) && ((*theControl)->contrlHilite != 255) )
-					return kControlCheckBoxPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		case posCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-			  {
-			  	if ( (**theControl).contrlValue )
-			  		(**theControl).contrlValue = 0 ;
-			  	else
-			  		(**theControl).contrlValue = 1 ;
-			  		
-					return 0 ;
-				}
-				else
-					return 0 ;
-			}
-			break ;
-		case calcThumbRgn :
-		case calcCntlRgn :
-			if ( !EmptyRect(&(**theControl).contrlRect ) )
-				RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = (**theControl).contrlRect.right - (**theControl).contrlRect.left ;
-				rec->height = kAGACheckBoxHeigth ;
-				rec->baseLine = 0;
-			}
-			break ;
-		default :
-			break ;
-	}
-	*/
-	return 0 ;									
-}
-
-pascal SInt32 AGAStaticGroupBoxTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-
-	switch( message )
-	{
-		case initCntl :
-			break ;
-		case dispCntl :
-			break ;
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-					
-				{
-					bool disabled = false ;
-					bool hasColor = true ;
-					AGAPortHelper help((**theControl).contrlOwner) ;
-					AGASetFontStyle( &info->fontStyle ) ;
-					FontInfo fi ;
-					::GetFontInfo( &fi ) ;
-					
-					Rect labelRect = (**theControl).contrlRect ;
-					Rect theFrame = (**theControl).contrlRect ;
-					int width = StringWidth((**theControl).contrlTitle) ;
-					theFrame.top += fi.ascent + fi.leading >> 1 ;
-					labelRect.bottom = theFrame.top + 8 ;
-					labelRect.left += 10 ;
-					labelRect.right =labelRect.left + width + 6 ;
-					
-					theFrame.bottom--;
-					theFrame.right--;
-					
-					if (disabled)
-					{
-						RGBForeColor( &gAGAColorArray[4] ) ;
-					}
-					else
-					{
-						RGBForeColor( &gAGAColorArray[7] ) ;
-					}
-					FrameRect( &theFrame ) ;
-					
-					if (disabled)
-						::RGBForeColor(&gAGAColorArray[1]);
-					else
-						::ForeColor(whiteColor);
-					::MoveTo(theFrame.left + 1, theFrame.bottom - 2);
-					::LineTo(theFrame.left + 1, theFrame.top + 1);
-					::LineTo(theFrame.right - 2, theFrame.top + 1);
-					::MoveTo(theFrame.left , theFrame.bottom);
-					::LineTo(theFrame.right, theFrame.bottom);
-					::LineTo(theFrame.right, theFrame.top);
-					
-					AGASetFontStyle( &info->fontStyle ) ;
-					::EraseRect( &labelRect ) ;
-					::MoveTo(labelRect.left + 3, labelRect.top + fi.ascent + (fi.leading >> 1));
-					::DrawString((**theControl).contrlTitle);
-				}
-			}
-			break ;
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = (**theControl).contrlRect.right - (**theControl).contrlRect.left ;
-				rec->height = (**theControl).contrlRect.bottom - (**theControl).contrlRect.top  ;
-				rec->baseLine = 0;
-			}
-			break ;
-		case kControlMsgSetData :
-			break ;
-		case calcCntlRgn :
-			RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-pascal SInt32 AGAStaticTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	Handle macText = (**theControl).contrlData ;
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-
-	switch( message )
-	{
-		case initCntl :
-			{
-				macText = NewHandle(0) ;
-				 (**theControl).contrlData = (Handle) macText ;
-			}
-			break ;
-		case dispCntl :
-			DisposeHandle( macText ) ;
-			break ;
-		case drawCntl :
-			{
-				if (!(**theControl).contrlVis)				
-					return 0 ;
-					
-				{
-					AGAPortHelper help((**theControl).contrlOwner) ;
-					AGASetFontStyle( &info->fontStyle ) ;
-					int x =	(**theControl).contrlRect.left ;
-					int y =	(**theControl).contrlRect.top ;
-					int lineheight ;
-					FontInfo fi ;
-					::GetFontInfo( &fi ) ;
-					
-					y += fi.ascent ;
-					lineheight = fi.ascent + fi.descent + fi.leading ;
-					int length = GetHandleSize( macText ) ;
-					if ( length )
-					{
-						int laststop = 0 ;
-						int i = 0 ;
-						HLock( macText ) ;
-						RGBColor gray = { 0xDDDD , 0xDDDD, 0xDDDD } ;
-						::RGBBackColor( &gray ) ;
-						while( i < length )
-						{
-							if ( (*macText)[i] == 0x0d )
-							{
-								::MoveTo( x , y );
-								::DrawText( *macText , laststop, i-laststop);
-								laststop = i+1 ;
-								y += lineheight ;
-							}
-							i++ ;
-						}
-						::MoveTo( x , y );
-						::DrawText( *macText , laststop, i-laststop);
-						laststop = i+1 ;
-						HUnlock( macText ) ;
-					}
-				}
-			}
-			break ;
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = (**theControl).contrlRect.right - (**theControl).contrlRect.left ;
-				rec->height = (**theControl).contrlRect.bottom - (**theControl).contrlRect.top  ;
-				rec->baseLine = 0;
-			}
-			break ;
-		case kControlMsgSetData :
-			{
-				ControlDataAccessRec *rec = (ControlDataAccessRec *) param ;
-				if ( rec->tag == kControlStaticTextTextTag )
-				{
-					SetHandleSize( macText , rec->size ) ;
-					memcpy( *macText , rec->dataPtr , rec->size ) ;
-					return noErr ;
-				}
-				return errDataNotSupported ;
-			}
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-void AGAMoveControl(ControlHandle inControl , short x , short y ) 
-{
-	if ( AGATestForNewControl( inControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;	
-		if ( info->magic == kExtCDEFMagic )
-		{
-			if ( info->procID == kControlEditTextProc)
-			{
-				int dx ;
-				int dy ;
-				
-				dx= x - (**inControl).contrlRect.left  ;
-				dy= y - (**inControl).contrlRect.top ;
-				
-				MoveControl( inControl , x ,y  ) ;
-				TEHandle macTE ;
-	
-				macTE = (TEHandle) (**inControl).contrlData ;
-				(**macTE).destRect.left += dx ;
-				(**macTE).destRect.top += dy ;
-				(**macTE).destRect.right += dx ;
-				(**macTE).destRect.bottom += dy ;
-				(**macTE).viewRect.left += dx ;
-				(**macTE).viewRect.top += dy ;
-				(**macTE).viewRect.right += dx ;
-				(**macTE).viewRect.bottom += dy ;
-				return ;
-			}
-			if ( info->procID == kControlListBoxProc)
-			{
-				int dx ;
-				int dy ;
-				
-				dx= x - (**inControl).contrlRect.left  ;
-				dy= y - (**inControl).contrlRect.top ;
-				
-				MoveControl( inControl , x ,y  ) ;
-				ListHandle macList ;
-	
-				macList = (ListHandle) (**inControl).contrlData ;
-				(**macList).rView.left += dx ;
-				(**macList).rView.top += dy ;
-				(**macList).rView.right += dx ;
-				(**macList).rView.bottom += dy ;
-				return ;
-			}
-		}
-	}
-	MoveControl( inControl , x ,y  ) ;
-}
-
-void AGASizeControl(ControlHandle inControl , short x , short y ) 
-{
-	if ( AGATestForNewControl( inControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;	
-		if ( info->magic == kExtCDEFMagic )
-		{
-			if ( info->procID == kControlEditTextProc)
-			{
-				int dx ;
-				int dy ;
-				
-				dx= x - ( (**inControl).contrlRect.right - (**inControl).contrlRect.left ) ;
-				dy= y - ( (**inControl).contrlRect.bottom - (**inControl).contrlRect.top ) ;
-				
-				SizeControl( inControl , x ,y  ) ;
-				TEHandle macTE ;
-	
-				macTE = (TEHandle) (**inControl).contrlData ;
-				(**macTE).destRect.right += dx ;
-				(**macTE).destRect.bottom += dy ;
-				(**macTE).viewRect.right += dx ;
-				(**macTE).viewRect.bottom += dy ;
-				return ;
-			}
-			if ( info->procID == kControlListBoxProc)
-			{
-				int dx ;
-				int dy ;
-				
-				dx= x - ( (**inControl).contrlRect.right - (**inControl).contrlRect.left ) ;
-				dy= y - ( (**inControl).contrlRect.bottom - (**inControl).contrlRect.top ) ;
-				
-				SizeControl( inControl , x ,y  ) ;
-				ListHandle macList ;
-	
-				macList = (ListHandle) (**inControl).contrlData ;
-				(**macList).rView.right += dx ;
-				(**macList).rView.bottom += dy ;
-				return ;
-			}
-		}
-	}
-	SizeControl( inControl , x ,y  ) ;
-}
-
-pascal SInt32 AGARootControlDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-
-	switch( message )
-	{
-		case initCntl :
-			break ;
-		case dispCntl :
-			break ;
-		case drawCntl :
-			break ;
-		case kControlMsgCalcBestRect :
-			break ;
-		case kControlMsgSetData :
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-pascal SInt32 AGAEditTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-	Size result ;
-	TEHandle macTE ;
-	
-	macTE = (TEHandle) (**theControl).contrlData ;
-	
-	switch( message )
-	{
-		case initCntl :
-			{
-				AGAPortHelper help((**theControl).contrlOwner) ;
-				SetPort( (**theControl).contrlOwner ) ;
-				::TextFont( kFontIDGeneva ) ; 
-				::TextSize( 10 ) ;
-				::TextFace( 0 ) ;
-				RGBBackColor( &gAGARamp[ kAGAWhite ] ) ;
-				RGBForeColor( &gAGARamp[ kAGABlack ] ) ;
-				Rect bounds =  (**theControl).contrlRect ;				
-				InsetRect( &bounds , 4 , 1 ) ;
-				FontInfo fi ;
-				::GetFontInfo( &fi ) ;
-				
-				bounds.top = bounds.bottom - abs( fi.descent ) - fi.ascent - 3;
-				macTE = TENew( &bounds , &bounds) ;
-				 (**theControl).contrlData = (Handle) macTE ;
-			}
-			break ;
-		case dispCntl :
-			TEDispose( macTE ) ;
-			break ;
-		case drawCntl :
-			{
-				AGAPortHelper help((**theControl).contrlOwner) ;
-				AGASetFontStyle( &info->fontStyle ) ;
-				SetPort( (**theControl).contrlOwner ) ;
-				RGBBackColor( &gAGARamp[ kAGAWhite ] ) ;
-				RGBForeColor( &gAGARamp[ kAGABlack ] ) ;
-				EraseRect( &(**theControl).contrlRect ) ;
-				FrameRect( &(**theControl).contrlRect ) ;
-				TEUpdate( &(**theControl).contrlRect , macTE ) ;
-			}
-			break ;
-		case testCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-					return kControlButtonPart ;
-				else
-					return NULL ;
-			}
-			break ;
-		case posCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  if ( PtInRect( pt , &(**theControl).contrlRect  ) )
-			  {
-			  	TEClick( pt , false , macTE ) ;
-				}
-			}
-			break ;
-		case kControlMsgGetData :
-			{
-				ControlDataAccessRec *rec = (ControlDataAccessRec *) param ;
-				if ( rec->tag == kControlEditTextTEHandleTag )
-				{
-					return AGAGetDataHelper( rec , sizeof( TEHandle ) , (char*) &macTE ) ;
-				}
-				else if ( rec->tag == kControlEditTextTextTag )
-				{
-					return AGAGetDataHelper( rec , (**macTE).teLength , (char*) *(**macTE).hText ) ;
-				}
-				else if ( rec->tag == kControlEditTextSelectionTag )
-				{
-				}
-				return errDataNotSupported ;
-			}
-			break ;
-		case kControlMsgSetData :
-			{
-				ControlDataAccessRec *rec = (ControlDataAccessRec *) param ;
-				if ( rec->tag == kControlEditTextTextTag )
-				{
-					TESetText( rec->dataPtr , rec->size ,  macTE ) ;
-					return noErr ;
-				}
-				return errDataNotSupported ;
-			}
-		case kControlMsgCalcBestRect :
-			{
-				ControlCalcSizeRec *rec = (ControlCalcSizeRec *) param ;
-				rec->width = (**theControl).contrlRect.right - (**theControl).contrlRect.left ;
-				rec->height = (**theControl).contrlRect.bottom - (**theControl).contrlRect.top  ;
-				rec->baseLine = 0;
-			}
-		case kControlMsgFocus :
-			{
-				if ( param == kControlFocusNoPart )
-				{
-					info->hasFocus = false ;
-					TEDeactivate( macTE ) ;
-					return kControlFocusNoPart ;
-				}
-				else if ( param == kControlFocusNextPart || param == kControlFocusPrevPart )
-				{
-					if ( info->hasFocus )
-					{
-						info->hasFocus = false ;
-						TEDeactivate( macTE ) ;
-						return kControlFocusNoPart ;
-					}
-					else
-					{
-						info->hasFocus = true ;
-						TEActivate( macTE ) ;
-						return kControlEditTextPart ;
-					}
-				}
-				else if ( param == kControlEditTextPart )
-				{
-					if ( !info->hasFocus )
-					{
-						info->hasFocus = true ;
-						TEActivate( macTE ) ;
-						return kControlEditTextPart ;
-					}
-				}
-			}
-			break ;
-		case kControlMsgIdle :
-			{
-				TEIdle( macTE ) ;
-			}
-			break ;
-		case kControlMsgKeyDown :
-			{
-				AGAPortHelper help( (**theControl).contrlOwner ) ;
-				AGASetFontStyle( &info->fontStyle ) ;
-				RGBBackColor( &gAGARamp[ kAGAWhite ] ) ;
-				RGBForeColor( &gAGARamp[ kAGABlack ] ) ;
-				ControlKeyDownRec * rec = (ControlKeyDownRec*) param ;
-				TEKey( rec->charCode , macTE ) ;
-			}
-			break ;
-		case kControlMsgActivate :
-			{
-			 /*
-				if ( param )
-					TEActivate( macTE ) ;
-				else
-					TEDeactivate( macTE ) ;
-				*/
-			}
-			break ;
-		case calcCntlRgn :
-			RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		case kControlMsgTestNewMsgSupport :
-			return kControlSupportsNewMessages ;
-		case kControlMsgGetFeatures :
-			return 
-//				kControlSupportsGhosting |
-//				kControlSupportsEmbedding |
-				kControlSupportsFocus | 
-				kControlWantsIdle | 
-				kControlWantsActivate | 
-//				kControlHandlesTracking |
-				kControlSupportsDataAccess |
-//				kControlHasSpecialBackground |
-//				kControlGetsFocusOnClick |
-				kControlSupportsCalcBestRect |
-//				kControlSupportsLiveFeedback |
-//				kControlHasRadioBehavior |
-				0 ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-pascal SInt32 AGAListControlDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param)
-{
-	Size result ;
-	ListHandle macList ;
-	ExtCDEFInfo* info = (ExtCDEFInfo* )  (**theControl).contrlRfCon ;	
-	
-	macList = (ListHandle) (**theControl).contrlData ;
-
-	static inLoop = false ;
-	static lastClick = NULL ;
-	
-	switch( message )
-	{
-		case initCntl :
-			{
-				Rect databounds = { 0,0,0,0} ;
-				Point cellsize = { 0,0} ;
-				Rect listBounds =  (**theControl).contrlRect ;
-				
-				InsetRect( &listBounds , 1 , 1 ) ;
-				
-				macList = LNew( &listBounds , &databounds , cellsize , 128 , 
-					(**theControl).contrlOwner , false /*drawit*/ , false /*hasGrow*/,
-					false /* horzScroll */, true /*vertScroll*/ ) ;
-				 (**theControl).contrlData = (Handle) macList ;
-				info->privateData = NULL ;
-			}
-			break ;
-		case dispCntl :
-			(**macList).vScroll = NULL ; // will be disposed by the window itself
-			(**macList).hScroll = NULL ; // will be disposed by the window itself
-			LDispose( macList ) ;
-			break ;
-		case calcCntlRgn :
-			RectRgn((RgnHandle) param , &(**theControl).contrlRect ) ;
-			break ;
-		case testCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  Rect	listRect ;
-			  Rect	allRect = (**theControl).contrlRect ;
-			  listRect = allRect ;
-			  if ( !inLoop )
-					allRect.right += 16 ;
-			  if ( PtInRect( pt , &allRect ) )
-			  {
-			  	if ( !inLoop && StillDown() )
-			  	{
-			  		inLoop = true ;
-			  		LActivate( true , macList ) ;
-					Boolean doubleClick = LClick( pt , 0 /* todo modifiers*/ , macList ) ;
-					info->privateData = doubleClick ;
-					inLoop = false ;
-				}
-				return kControlListBoxPart ;
-			  }
-			  else
-				return NULL ;
-			}
-			break ;
-		case drawCntl :
-			{
-				AGAPortHelper help((**theControl).contrlOwner) ;
-				AGASetFontStyle( &info->fontStyle ) ;
-				RGBBackColor( &gAGARamp[ kAGAWhite ] ) ;
-				EraseRect( &(**theControl).contrlRect ) ;
-				FrameRect( &(**theControl).contrlRect ) ;
-				RgnHandle controlRgn = NewRgn() ;
-				SetRectRgn( controlRgn, (**theControl).contrlRect.left ,
-					(**theControl).contrlRect.top,
-					(**theControl).contrlRect.right,
-					(**theControl).contrlRect.bottom ) ;
-				LUpdate( controlRgn,  macList ) ;
-			}
-			break ;
-		case posCntl :
-			{
-			  Point pt ;
-			  pt.h = LoWord( param ) ;
-			  pt.v = HiWord( param ) ;
-			  Rect	listRect ;
-			  Rect	allRect = (**theControl).contrlRect ;
-			  listRect = allRect ;
-			  allRect.right += 16 ;
-			  if ( PtInRect( pt , &listRect ) )
-			  {
-			  	if ( !inLoop && StillDown() )
-			  	{
-			  		inLoop = true ;
-			  		LActivate( true , macList ) ;
-						Boolean doubleClick = LClick( pt , 0 /* todo modifiers*/ , macList ) ;
-						info->privateData = doubleClick ;
-						inLoop = false ;
-					}
-					return kControlListBoxPart ;
-				}
-				else if ( PtInRect( pt , &allRect ) )
-				{
-			  	if ( !inLoop && StillDown() )
-			  	{
-			  		inLoop = true ;
-			  		// LActivate( true , macList ) ;
-						Boolean doubleClick = LClick( pt , 0 /* todo modifiers*/ , macList ) ;
-						info->privateData = doubleClick ;
-						inLoop = false ;
-					}
-					return kControlPageDownPart ;
-				}
-				else
-					return NULL ;
-			}
-			break ;
-		case kControlMsgGetData :
-			{
-				ControlDataAccessRec *rec = (ControlDataAccessRec *) param ;
-				if ( rec->tag == kControlListBoxListHandleTag )
-				{
-					return AGAGetDataHelper( rec , sizeof( ListHandle ) , (char*) &macList ) ;
-				}
-				else if ( rec->tag == kControlListBoxDoubleClickTag )
-				{
-					Boolean doubleClick = info->privateData ;
-					return AGAGetDataHelper( rec , sizeof( Boolean ) , (char*) &doubleClick ) ;
-				}
-				return errDataNotSupported ;
-			}
-			break ;
-		default :
-			break ;
-	}
-	
-	return 0 ;									
-}
-
-OSErr AGACreateRootControl				(WindowPtr 				inWindow,
-								 ControlHandle *		outControl) 
-{
-	ControlHandle theControl = NULL ;
-
-	SInt16 extCDEFID = kExtCDEFID << 4 + 0 ;
-
- 	theControl = NewControl( inWindow , &inWindow->portRect , "\p" , true ,
- 			0 , 0 , 1 , extCDEFID , 0 ) ;
- 	NewExtCDEFInfo( theControl , AGARootControlDefProc , kAGARootControlProcID , 0 ) ;
- 	
- 	*outControl = theControl ;
-	return noErr ;
-}
-
-OSErr AGAEmbedControl					(ControlHandle 			inControl,
-								 ControlHandle 			inContainer) 
-{
-	if ( AGATestForNewControl( inControl ) )
-	{
-		ExtCDEFInfo* info = (ExtCDEFInfo* )  (**inControl).contrlRfCon ;	
-		info->containerControl = inContainer ;
-	}
-	return noErr ;
-}
-
-void AGADrawControl( ControlHandle control )
-{
-	DrawOneControl( control ) ;
-	ControlHandle iter = (ControlHandle) ((WindowPeek)(**control).contrlOwner)->controlList ; 
-	while ( iter )
-	{
-		if ( AGATestForNewControl( iter ) )
-		{
-			ExtCDEFInfo* info = (ExtCDEFInfo* )  (**iter).contrlRfCon ;
-			if ( info->containerControl == control )
-			{ 		
-				AGADrawControl( iter  ) ;
-			}
-		}
-	
-		iter = (**iter).nextControl ;
-	}
-}
-
-
-ControlHandle AGANewControl(WindowPtr 				owningWindow,
-								 const Rect *			bounds,
-								 ConstStr255Param 		controlTitle,
-								 Boolean 				initiallyVisible,
-								 SInt16 				initialValue,
-								 SInt16 				minimumValue,
-								 SInt16 				maximumValue,
-								 SInt16 				procID,
-								 SInt32 				controlReference)
-{
-	ControlHandle theControl = NULL ;
-	Rect boundsRect = *bounds ;
-	SInt16 extCDEFID = kExtCDEFID << 4 + 0 ;
- 	SInt16 oldProcID = extCDEFID ;
- 	switch( procID ) 
- 	{
- 		case kControlScrollBarProc :
- 		case kControlScrollBarLiveProc :
- 			oldProcID = scrollBarProc ;
- 			break ;
- 		case kControlListBoxProc :
- 			initialValue = 0 ;
-		default :
- 			break ;
- 	}
- 	if ( oldProcID == extCDEFID && procID == kControlListBoxProc )
- 	{
- 		boundsRect.right -= 16 ;
-	}
- 	theControl = NewControl( owningWindow , &boundsRect , controlTitle , initiallyVisible ,
- 			initialValue , minimumValue , maximumValue , oldProcID , controlReference ) ;
- 	if ( oldProcID == extCDEFID )
- 	{
- 		ControlDefProcPtr theProcPtr = NULL ;
- 		SInt16 theVarCode = 0 ;
- 		switch( procID )
- 		{
- 			case kControlPushButtonProc :
- 				theProcPtr = AGAButtonDefProc ;
- 				break ;
- 			case kControlCheckBoxProc :
- 				theProcPtr = AGACheckBoxDefProc ;
- 				break ;
- 			case kControlRadioButtonProc :
- 				theProcPtr = AGARadioButtonDefProc ;
- 				break ;
- 			case kControlProgressBarProc :
- 				theProcPtr = AGAProgressBarDefProc ;
- 				break ;
- 			case kControlPlacardProc :
- 				theProcPtr = AGAPlacardDefProc ;
- 				break ;
- 			case kControlStaticTextProc :
- 				theProcPtr = AGAStaticTextDefProc ;
- 				break ;
- 			case kControlListBoxProc :
- 				theProcPtr = AGAListControlDefProc ;
- 				break ;
- 			case kControlEditTextProc :
- 				theProcPtr = AGAEditTextDefProc ;
- 				break ;
- 			case kControlGroupBoxTextTitleProc :
- 				theProcPtr = AGAStaticGroupBoxTextDefProc ;
- 				break ;
- 			case kControlBevelButtonNormalBevelProc :
- 				theProcPtr = AGABevelButtonDefProc ;
- 				break ;
- 		}
- 		
- 		if ( theProcPtr )
- 		{
- 			NewExtCDEFInfo( theControl , theProcPtr , procID , controlReference ) ;
- 		}
-	}
-	return theControl ;
-}
-
-void			AGASetThemeWindowBackground		(WindowRef 				inWindow,
-								 ThemeBrush 			inBrush,
-								 Boolean 				inUpdate) 
-{
-	GrafPtr port ;
-	GetPort( &port ) ;
-	SetPort( inWindow ) ;
-	if ( inBrush == kThemeBrushDialogBackgroundActive )
-	{
-			gAGABackgroundColor = 2 ;
-	}
-	else
-	{
-			gAGABackgroundColor = 0 ;
-	}
-	RGBBackColor( &gAGAColorArray[gAGABackgroundColor] ) ;
-	SetPort( port ) ;
-}
-
-void AGAApplyThemeBackground(ThemeBackgroundKind 	inKind,
-								 const Rect *			bounds,
-								 ThemeDrawState 		inState,
-								 SInt16 				inDepth,
-								 Boolean 				inColorDev) 
-{
-}
-
-#endif // !TARGET_CARBON
-
-AGAPortHelper::AGAPortHelper( GrafPtr newport) 
-{
-	GetPort( &port ) ;
-	SetPort( newport ) ;
-//	wxASSERT( newport->portRect.left == 0 && newport->portRect.top == 0 ) ; 
-	GetPenState( &oldPenState ) ;
-	GetBackColor( &oldBackColor ) ;
-	GetForeColor( &oldForeColor ) ;
-
-	clip = NewRgn() ;
-	GetClip( clip );
-	font = GetPortTextFont( newport);
-	size = GetPortTextSize( newport);
-	style = GetPortTextFace( newport);
-	mode = GetPortTextMode( newport);	
-	nport = newport ;
-
-}
-AGAPortHelper::AGAPortHelper()
-{
-	clip = NULL ;
-}
-void AGAPortHelper::Setup( GrafPtr newport )
-{
-	GetPort( &port ) ;
-	SetPort( newport ) ;
-//	wxASSERT( newport->portRect.left == 0 && newport->portRect.top == 0 ) ; 
-	GetPenState( &oldPenState ) ;
-	GetBackColor( &oldBackColor ) ;
-	GetForeColor( &oldForeColor ) ;
-	wxASSERT( clip == NULL ) ;
-	clip = NewRgn() ;
-	GetClip( clip );
-	font = GetPortTextFont( newport);
-	size = GetPortTextSize( newport);
-	style = GetPortTextFace( newport);
-	mode = GetPortTextMode( newport);	
-	nport = newport ;
-}
-void AGAPortHelper::Clear()
-{
-	if ( clip )
-	{
-		DisposeRgn( clip ) ;
-		clip = NULL ;
-	}
-}
-AGAPortHelper::~AGAPortHelper()
-{
-	if ( clip )
-	{
-		SetPort( nport ) ;
-		PenNormal() ;
-		SetClip( clip ) ;
-		DisposeRgn( clip ) ;
-		RGBForeColor(&oldForeColor);
-		RGBBackColor(&oldBackColor);
-		SetPenState(&oldPenState);				
-
-		TextFont( font );
-		TextSize( size );
-		TextFace( style );
-		TextMode( mode );
-		SetOrigin( 0 , 0 ) ;
-		SetPort( port ) ;
-	}
-}
+// NOT NEEDED ANYMORE