XaDraw.cpp

Go to the documentation of this file.
00001 // $Id: XaDraw.cpp 882 2006-04-25 15:40:57Z gavin $
00002 /* @@tag:xara-cn@@ DO NOT MODIFY THIS LINE
00003 ================================XARAHEADERSTART===========================
00004  
00005                Xara LX, a vector drawing and manipulation program.
00006                     Copyright (C) 1993-2006 Xara Group Ltd.
00007        Copyright on certain contributions may be held in joint with their
00008               respective authors. See AUTHORS file for details.
00009 
00010 LICENSE TO USE AND MODIFY SOFTWARE
00011 ----------------------------------
00012 
00013 This file is part of Xara LX.
00014 
00015 Xara LX is free software; you can redistribute it and/or modify it
00016 under the terms of the GNU General Public License version 2 as published
00017 by the Free Software Foundation.
00018 
00019 Xara LX and its component source files are distributed in the hope
00020 that it will be useful, but WITHOUT ANY WARRANTY; without even the
00021 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00022 See the GNU General Public License for more details.
00023 
00024 You should have received a copy of the GNU General Public License along
00025 with Xara LX (see the file GPL in the root directory of the
00026 distribution); if not, write to the Free Software Foundation, Inc., 51
00027 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
00028 
00029 
00030 ADDITIONAL RIGHTS
00031 -----------------
00032 
00033 Conditional upon your continuing compliance with the GNU General Public
00034 License described above, Xara Group Ltd grants to you certain additional
00035 rights. 
00036 
00037 The additional rights are to use, modify, and distribute the software
00038 together with the wxWidgets library, the wxXtra library, and the "CDraw"
00039 library and any other such library that any version of Xara LX relased
00040 by Xara Group Ltd requires in order to compile and execute, including
00041 the static linking of that library to XaraLX. In the case of the
00042 "CDraw" library, you may satisfy obligation under the GNU General Public
00043 License to provide source code by providing a binary copy of the library
00044 concerned and a copy of the license accompanying it.
00045 
00046 Nothing in this section restricts any of the rights you have under
00047 the GNU General Public License.
00048 
00049 
00050 SCOPE OF LICENSE
00051 ----------------
00052 
00053 This license applies to this program (XaraLX) and its constituent source
00054 files only, and does not necessarily apply to other Xara products which may
00055 in part share the same code base, and are subject to their own licensing
00056 terms.
00057 
00058 This license does not apply to files in the wxXtra directory, which
00059 are built into a separate library, and are subject to the wxWindows
00060 license contained within that directory in the file "WXXTRA-LICENSE".
00061 
00062 This license does not apply to the binary libraries (if any) within
00063 the "libs" directory, which are subject to a separate license contained
00064 within that directory in the file "LIBS-LICENSE".
00065 
00066 
00067 ARRANGEMENTS FOR CONTRIBUTION OF MODIFICATIONS
00068 ----------------------------------------------
00069 
00070 Subject to the terms of the GNU Public License (see above), you are
00071 free to do whatever you like with your modifications. However, you may
00072 (at your option) wish contribute them to Xara's source tree. You can
00073 find details of how to do this at:
00074   http://www.xaraxtreme.org/developers/
00075 
00076 Prior to contributing your modifications, you will need to complete our
00077 contributor agreement. This can be found at:
00078   http://www.xaraxtreme.org/developers/contribute/
00079 
00080 Please note that Xara will not accept modifications which modify any of
00081 the text between the start and end of this header (marked
00082 XARAHEADERSTART and XARAHEADEREND).
00083 
00084 
00085 MARKS
00086 -----
00087 
00088 Xara, Xara LX, Xara X, Xara X/Xtreme, Xara Xtreme, the Xtreme and Xara
00089 designs are registered or unregistered trademarks, design-marks, and/or
00090 service marks of Xara Group Ltd. All rights in these marks are reserved.
00091 
00092 
00093       Xara Group Ltd, Gaddesden Place, Hemel Hempstead, HP2 6EX, UK.
00094                         http://www.xara.com/
00095 
00096 =================================XARAHEADEREND============================
00097  */
00098 
00099 #include "camtypes.h"
00100 // camconfig.h must be included immediately after camtypes.h
00101 #include "camconfig.h"
00102 #include "xadraw.h"
00103 
00104 // If CONFIG_DEBUG_XADRAW is defined then include the implementation of debug versions
00105 // of all the GDraw functions. The debug versions wrap calls to the actual GDraw
00106 // functions and allow the context to be inspected before and after the call to
00107 // GDraw.
00108 
00109 #ifdef CONFIG_DEBUG_XADRAW
00110 
00111 #include "gdrawdbg.h"
00112 
00113 #if FALSE
00114 
00115 #define XA_DRAW_ENTER XaDrawEnter
00116 
00117 /***********************************************************************************************
00118 
00119 >   static VOID XaDrawEnter(const TCHAR* pszFuncName, pcGCONTEXT pContext)
00120 
00121     Author:     Derek_Cox (Xara Group Ltd) <camelotdev@xara.com>
00122     Created:    29/05/2001
00123     Inputs:     pszFuncName - name of the GDraw function being called
00124                 pContext - pointer to the context passed to the GDraw function
00125     Returns:    -
00126     Purpose:    Called before the actual GDraw function is called when CONFIG_DEBUG_XADRAW
00127                 is defined
00128 
00129 ***********************************************************************************************/
00130 
00131 static VOID XaDrawEnter(const TCHAR* pszFuncName, pcGCONTEXT pContext)
00132 {
00133     // Output the function name and the pointer to the context
00134     TRACE(TEXT("%s - CTX: %p\n"), pszFuncName, pContext);
00135 }
00136 
00137 #define XA_DRAW_LEAVE XaDrawLeave
00138 
00139 /***********************************************************************************************
00140 
00141 >   static VOID XaDrawLeave(pcGCONTEXT pContext)
00142 
00143     Author:     Derek_Cox (Xara Group Ltd) <camelotdev@xara.com>
00144     Created:    29/05/2001
00145     Inputs:     pContext - pointer to the context passed to the GDraw function
00146     Returns:    -
00147     Purpose:    Called after the actual GDraw function is called when CONFIG_DEBUG_XADRAW
00148                 is defined
00149 
00150 ***********************************************************************************************/
00151 
00152 static VOID XaDrawLeave(pcGCONTEXT pContext)
00153 {
00154     // If a context is provided then see if an error was returned (error is stored
00155     // in the context)
00156     if (NULL != pContext)
00157     {
00158         // Get the error return value
00159         eError Error = g_XaFnsOriginal.pfnXaDraw_GetLastError(pContext);
00160         if (GERROR_NO_ERROR != Error)
00161         {
00162             // If an error ocurred then output the error as a TRACE message.
00163             // NOTE: Don't use TRACE as this only produces output in DEBUG
00164             // builds.
00165             TCHAR szBuffer[512];
00166             _sntprintf( szBuffer,
00167                         sizeof(szBuffer),
00168                         TEXT("XaDraw Error: (%i) %s\n"),
00169                         (INT32)Error,
00170                         g_XaFnsOriginal.pfnXaDraw_GetLastErrorText(pContext));
00171             OutputDebugString(szBuffer);
00172         }
00173     }
00174 }
00175 
00176 #endif  // FALSE
00177 
00178 /***********************************************************************************************
00179 
00180 >   static VOID XaDrawEnter(const TCHAR* pszFuncName, pcGCONTEXT pContext)
00181 
00182     Author:     Derek_Cox (Xara Group Ltd) <camelotdev@xara.com>
00183     Created:    29/05/2001
00184     Inputs:     pszFuncName - name of the GDraw function being called
00185                 pContext - pointer to the context passed to the GDraw function
00186     Returns:    -
00187     Purpose:    Called before the actual GDraw function is called when CONFIG_DEBUG_XADRAW
00188                 is defined
00189 
00190 ***********************************************************************************************/
00191 
00192 #define XA_DRAW_ENTER(name,ctx)                                             \
00193     LARGE_INTEGER StartTime;                                                \
00194     XaDrawEnter(name, ctx);                                                 \
00195     if (g_bAddXaTimes)                                                      \
00196         QueryPerformanceCounter(&StartTime);
00197 
00198 
00199 static VOID XaDrawEnter(const TCHAR* pszFuncName, pcGCONTEXT pContext)
00200 {
00201 //  TCHAR buf[512];
00202 //  _sntprintf(buf, 512, TEXT("%s - CTX: %p\n"), pszFuncName, pContext);
00203 //  OutputDebugString(buf);
00204 }
00205 
00206 /***********************************************************************************************
00207 
00208 >   static VOID XaDrawLeave(pcGCONTEXT pContext)
00209 
00210     Author:     Derek_Cox (Xara Group Ltd) <camelotdev@xara.com>
00211     Created:    29/05/2001
00212     Inputs:     pContext - pointer to the context passed to the GDraw function
00213     Returns:    -
00214     Purpose:    Called after the actual GDraw function is called when CONFIG_DEBUG_XADRAW
00215                 is defined
00216 
00217 ***********************************************************************************************/
00218 
00219 #define XA_DRAW_LEAVE(ctx,ind)                                              \
00220     LARGE_INTEGER EndTime;                                                  \
00221     if (g_bAddXaTimes)                                                      \
00222     {                                                                       \
00223         QueryPerformanceCounter(&EndTime);                                  \
00224         g_XaTimes[ind].QuadPart += EndTime.QuadPart - StartTime.QuadPart;   \
00225         g_XaCalls[ind] += 1;                                                \
00226     }                                                                       \
00227     XaDrawLeave(ctx);
00228 
00229 static VOID XaDrawLeave(pcGCONTEXT pContext)
00230 {
00231 //  if (NULL != pContext)
00232 //  {
00233 //      eError Error = g_XaFnsOriginal.pfnXaDraw_GetLastError(pContext);
00234 //      if (GERROR_NO_ERROR != Error)
00235 //      {
00236 //          TCHAR buf[512];
00237 //          _sntprintf(buf, 512, TEXT("XaDraw Error: (%i) %s\n"),
00238 //                  (INT32)Error,
00239 //                  g_XaFnsOriginal.pfnXaDraw_GetLastErrorText(pContext));
00240 //          OutputDebugString(buf);
00241 //          g_XaFnsOriginal.pfnXaDraw_ClearLastError((GCONTEXT*)pContext);
00242 //      }
00243 //  }
00244 }
00245 
00246 
00247 /***********************************************************************************************
00248 
00249     Debug wrapper functions for GDraw.
00250     See GDraw V3 for details about each function.
00251 
00252     Each wrapper:
00253         1) calls XA_DRAW_ENTER
00254         2) calls the original GDraw function,
00255         3) calls XA_DRAW_LEAVE
00256 
00257     For GDraw V3 most functions take a context as the first parameter. If the function
00258     does not require a context NULL can be passed to XA_DRAW_ENTER and XA_DRAW_LEAVE.
00259 
00260     Template:
00261     
00262     INT32 Xa<catgegory>Dbg_<fn_name>(GCONTEXT* pContext, INT32 nParam1)
00263     {
00264         XA_DRAW_ENTER(TEXT("<fn_name>"), pContext);
00265         INT32 nRetVal = g_XaFnsOriginal.pfnXa<category>_<fn_name>(pContext, nParam1);
00266         XA_DRAW_LEAVE(pContext);
00267         return nRetVal;
00268     }
00269 
00270 ***********************************************************************************************/
00271 
00272 DWORD XaDrawDbg_GetVersion()
00273 {
00274     XA_DRAW_ENTER(TEXT("XaDraw_GetVersion"), NULL);
00275     DWORD nRetVal = g_XaFnsOriginal.pfnXaDraw_GetVersion();
00276     XA_DRAW_LEAVE(NULL, 0);
00277     return nRetVal;
00278 }
00279 
00280 INT32 XaDrawDbg_ClearLastError(pGCONTEXT pContext)
00281 {
00282     XA_DRAW_ENTER(TEXT("XaDraw_ClearLastError"), pContext);
00283     INT32 nRetVal = g_XaFnsOriginal.pfnXaDraw_ClearLastError(pContext);
00284     XA_DRAW_LEAVE(pContext, 1);
00285     return nRetVal;
00286 }
00287 
00288 eError XaDrawDbg_GetLastError(pcGCONTEXT pContext)
00289 {
00290     XA_DRAW_ENTER(TEXT("XaDraw_GetLastError"), pContext);
00291     eError nRetVal = g_XaFnsOriginal.pfnXaDraw_GetLastError(pContext);
00292     XA_DRAW_LEAVE(pContext, 2);
00293     return nRetVal;
00294 }
00295 
00296 pcCHAR XaDrawDbg_GetLastErrorText(pcGCONTEXT pContext)
00297 {
00298     XA_DRAW_ENTER(TEXT("XaDraw_GetLastErrorText"), pContext);
00299     pcCHAR pRetVal = g_XaFnsOriginal.pfnXaDraw_GetLastErrorText(pContext);
00300     XA_DRAW_LEAVE(pContext, 3);
00301     return pRetVal;
00302 }
00303 
00304 INT32 XaDrawDbg_Initialise(pGCONTEXT pContext,pcGCONTEXT pOldContext /* =NULL */)
00305 {
00306     XA_DRAW_ENTER(TEXT("XaDraw_Initialise"), pContext);
00307     INT32 nRetVal = g_XaFnsOriginal.pfnXaDraw_Initialise(pContext, pOldContext);
00308     XA_DRAW_LEAVE(pContext, 4);
00309     return nRetVal;
00310 }
00311 
00312 INT32 XaDrawDbg_CopyContext(pcGCONTEXT pContext,pGCONTEXT pNewContext)
00313 {
00314     XA_DRAW_ENTER(TEXT("XaDraw_CopyContext"), pContext);
00315     INT32 nRetVal = g_XaFnsOriginal.pfnXaDraw_CopyContext(pContext, pNewContext);
00316     XA_DRAW_LEAVE(pContext, 5);
00317     return nRetVal;
00318 }
00319 
00320 INT32 XaColourDbg_GetGraduationTableSize(pcGCONTEXT pContext)
00321 {
00322     XA_DRAW_ENTER(TEXT("XaColour_GetGraduationTableSize"), pContext);
00323     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetGraduationTableSize(pContext);
00324     XA_DRAW_LEAVE(pContext, 6);
00325     return nRetVal;
00326 }
00327 
00328 INT32 XaColourDbg_GetGraduationTableLength()
00329 {
00330     XA_DRAW_ENTER(TEXT("XaColour_GetGraduationTableLength"), NULL);
00331     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetGraduationTableLength();
00332     XA_DRAW_LEAVE(NULL, 7);
00333     return nRetVal;
00334 }
00335 
00336 INT32 XaColourDbg_GetLongGraduationTableSize(pcGCONTEXT pContext)
00337 {
00338     XA_DRAW_ENTER(TEXT("XaColour_GetLongGraduationTableSize"), pContext);
00339     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetLongGraduationTableSize(pContext);
00340     XA_DRAW_LEAVE(pContext, 8);
00341     return nRetVal;
00342 }
00343 
00344 INT32 XaColourDbg_GetLongGraduationTableLength()
00345 {
00346     XA_DRAW_ENTER(TEXT("XaColour_GetLongGraduationTableLength"), NULL);
00347     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetLongGraduationTableLength();
00348     XA_DRAW_LEAVE(NULL, 9);
00349     return nRetVal;
00350 }
00351 
00352 INT32 XaColourDbg_GetTransparentGraduationTableSize()
00353 {
00354     XA_DRAW_ENTER(TEXT("XaColour_GetTransparentGraduationTableSize"), NULL);
00355     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetTransparentGraduationTableSize();
00356     XA_DRAW_LEAVE(NULL, 10);
00357     return nRetVal;
00358 }
00359 
00360 INT32 XaColourDbg_GetTransparentGraduationTableLength()
00361 {
00362     XA_DRAW_ENTER(TEXT("XaColour_GetTransparentGraduationTableLength"), NULL);
00363     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetTransparentGraduationTableLength();
00364     XA_DRAW_LEAVE(NULL, 11);
00365     return nRetVal;
00366 }
00367 
00368 INT32 XaColourDbg_GetLongTransparentGraduationTableSize()
00369 {
00370     XA_DRAW_ENTER(TEXT("XaColour_GetLongTransparentGraduationTableSize"), NULL);
00371     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetLongTransparentGraduationTableSize();
00372     XA_DRAW_LEAVE(NULL, 12);
00373     return nRetVal;
00374 }
00375 
00376 INT32 XaColourDbg_GetLongTransparentGraduationTableLength()
00377 {
00378     XA_DRAW_ENTER(TEXT("XaColour_GetLongTransparentGraduationTableLength"), NULL);
00379     INT32 nRetVal = g_XaFnsOriginal.pfnXaColour_GetLongTransparentGraduationTableLength();
00380     XA_DRAW_LEAVE(NULL, 13);
00381     return nRetVal;
00382 }
00383 
00384 INT32 XaDrawDbg_SetMemoryHandlers(
00385     pGCONTEXT pContext,
00386     pBYTE (*MemoryAlloc)( UINT32 Size ),
00387     void  (*MemoryFree) ( pBYTE Address )
00388 )
00389 {
00390     XA_DRAW_ENTER(TEXT("XaDraw_SetMemoryHandlers"), pContext);
00391     INT32 nRetVal =
00392         g_XaFnsOriginal.pfnXaDraw_SetMemoryHandlers(pContext, MemoryAlloc, MemoryFree);
00393     XA_DRAW_LEAVE(pContext, 14);
00394     return nRetVal;
00395 }
00396 
00397 INT32 XaDrawDbg_SetStackLimit( pGCONTEXT pContext,pcVOID StackLimit )
00398 {
00399     XA_DRAW_ENTER(TEXT("XaDraw_SetStackLimit"), pContext);
00400     INT32 nRetVal =
00401         g_XaFnsOriginal.pfnXaDraw_SetStackLimit(pContext, StackLimit);
00402     XA_DRAW_LEAVE(pContext, 15);
00403     return nRetVal;
00404 }
00405 
00406 INT32 XaDrawDbg_SetStackSize( pGCONTEXT pContext,UINT32 StackSize )
00407 {
00408     XA_DRAW_ENTER(TEXT("XaDraw_SetStackSize"), pContext);
00409     INT32 nRetVal =
00410         g_XaFnsOriginal.pfnXaDraw_SetStackSize(pContext, StackSize);
00411     XA_DRAW_LEAVE(pContext, 16);
00412     return nRetVal;
00413 }
00414 
00415 INT32 XaDrawDbg_Terminate(pGCONTEXT pContext)
00416 {
00417     XA_DRAW_ENTER(TEXT("XaDraw_Terminate"), pContext);
00418     INT32 nRetVal =
00419         g_XaFnsOriginal.pfnXaDraw_Terminate(pContext);
00420     XA_DRAW_LEAVE(pContext, 17);
00421     return nRetVal;
00422 }
00423 
00424 INT32 XaDrawDbg_Clean(pGCONTEXT pContext)
00425 {
00426     XA_DRAW_ENTER(TEXT("XaDraw_Clean"), pContext);
00427     INT32 nRetVal =
00428         g_XaFnsOriginal.pfnXaDraw_Clean(pContext);
00429     XA_DRAW_LEAVE(pContext, 18);
00430     return nRetVal;
00431 }
00432 
00433 INT32 XaDrawDbg_ContextLength()
00434 {
00435     XA_DRAW_ENTER(TEXT("XaDraw_ContextLength"), NULL);
00436     INT32 nRetVal =
00437         g_XaFnsOriginal.pfnXaDraw_ContextLength();
00438     XA_DRAW_LEAVE(NULL, 19);
00439     return nRetVal;
00440 }
00441 
00442 INT32 XaDrawDbg_ComparePalettes( pcGCONTEXT pContext,pcLOGPALETTE Palette,BOOL Flag )
00443 {
00444     XA_DRAW_ENTER(TEXT("XaDraw_ComparePalettes"), pContext);
00445     INT32 nRetVal =
00446         g_XaFnsOriginal.pfnXaDraw_ComparePalettes(pContext, Palette, Flag);
00447     XA_DRAW_LEAVE(pContext, 20);
00448     return nRetVal;
00449 }
00450 
00451 pcLOGPALETTE XaColourDbg_SelectPalette( pGCONTEXT pContext,BOOL Flag )
00452 {
00453     XA_DRAW_ENTER(TEXT("XaColour_SelectPalette"), pContext);
00454     pcLOGPALETTE pRetVal =
00455         g_XaFnsOriginal.pfnXaColour_SelectPalette(pContext, Flag);
00456     XA_DRAW_LEAVE(pContext, 21);
00457     return pRetVal;
00458 }
00459 
00460 INT32 XaColourDbg_InitialiseWithPalette( pGCONTEXT pContext,pcLOGPALETTE Palette )
00461 {
00462     XA_DRAW_ENTER(TEXT("XaColour_InitialiseWithPalette"), pContext);
00463     INT32 nRetVal =
00464         g_XaFnsOriginal.pfnXaColour_InitialiseWithPalette(pContext, Palette);
00465     XA_DRAW_LEAVE(pContext, 22);
00466     return nRetVal;
00467 }
00468 
00469 INT32 XaColourDbg_SetDitherStyle( pGCONTEXT pContext,DitherStyle Style /* =DITHER_GREY_ORDERED */)
00470 {
00471     XA_DRAW_ENTER(TEXT("XaColour_SetDitherStyle"), pContext);
00472     INT32 nRetVal =
00473         g_XaFnsOriginal.pfnXaColour_SetDitherStyle(pContext, Style);
00474     XA_DRAW_LEAVE(pContext, 23);
00475     return nRetVal;
00476 }
00477 
00478 INT32 XaColourDbg_SetTileSmoothingFlag( pGCONTEXT pContext,BOOL Flag )
00479 {
00480     XA_DRAW_ENTER(TEXT("XaColour_SetTileSmoothingFlag"), pContext);
00481     INT32 nRetVal =
00482         g_XaFnsOriginal.pfnXaColour_SetTileSmoothingFlag(pContext, Flag);
00483     XA_DRAW_LEAVE(pContext, 24);
00484     return nRetVal;
00485 }
00486 
00487 INT32 XaColourDbg_SetTileFilteringFlag( pGCONTEXT pContext,BOOL Flag )
00488 {
00489     XA_DRAW_ENTER(TEXT("XaColour_SetTileFilteringFlag"), pContext);
00490     INT32 nRetVal =
00491         g_XaFnsOriginal.pfnXaColour_SetTileFilteringFlag(pContext, Flag);
00492     XA_DRAW_LEAVE(pContext, 25);
00493     return nRetVal;
00494 }
00495 
00496 INT32 XaBitmapDbg_SetMaxFilterSize( pGCONTEXT pContext,UINT32 uSize )
00497 {
00498     XA_DRAW_ENTER(TEXT("XaBitmap_SetMaxFilterSize"), pContext);
00499     INT32 nRetVal =
00500         g_XaFnsOriginal.pfnXaBitmap_SetMaxFilterSize(pContext, Size);
00501     XA_DRAW_LEAVE(pContext, ?);
00502     return nRetVal;
00503 }
00504 
00505 INT32 XaBitmapDbg_Sharpen( pGCONTEXT pContext,INT32 Sharpen )
00506 {
00507     XA_DRAW_ENTER(TEXT("XaBitmap_Sharpen"), pContext);
00508     INT32 nRetVal =
00509         g_XaFnsOriginal.pfnXaBitmap_Sharpen(pContext, Sharpen);
00510     XA_DRAW_LEAVE(pContext, 26);
00511     return nRetVal;
00512 }
00513 
00514 INT32 XaBitmapDbg_Blur   ( pGCONTEXT pContext,INT32 Blur    )
00515 {
00516     XA_DRAW_ENTER(TEXT("XaBitmap_Blur"), pContext);
00517     INT32 nRetVal =
00518         g_XaFnsOriginal.pfnXaBitmap_Blur(pContext, Blur);
00519     XA_DRAW_LEAVE(pContext, 27);
00520     return nRetVal;
00521 }
00522 
00523 INT32 XaColourDbg_SetHalftoneOrigin( pGCONTEXT pContext, INT32 x,INT32 y )
00524 {
00525     XA_DRAW_ENTER(TEXT("XaColour_SetHalftoneOrigin"), pContext);
00526     INT32 nRetVal =
00527         g_XaFnsOriginal.pfnXaColour_SetHalftoneOrigin(pContext, x, y);
00528     XA_DRAW_LEAVE(pContext, 28);
00529     return nRetVal;
00530 }
00531 
00532 INT32 XaColourDbg_SetColour( pGCONTEXT pContext,COLORREF Colour )
00533 {
00534     XA_DRAW_ENTER(TEXT("XaColour_SetColour"), pContext);
00535     INT32 nRetVal =
00536         g_XaFnsOriginal.pfnXaColour_SetColour(pContext, Colour);
00537     XA_DRAW_LEAVE(pContext, 29);
00538     return nRetVal;
00539 }
00540 
00541 INT32 XaColourDbg_SetSolidColour( pGCONTEXT pContext,COLORREF Colour,
00542                                     UINT32 BPP /* =0 */,UINT32 Format16BPP /* =FORMAT16BPP_555 */)
00543 {
00544     XA_DRAW_ENTER(TEXT("XaColour_SetSolidColour"), pContext);
00545     INT32 nRetVal =
00546         g_XaFnsOriginal.pfnXaColour_SetSolidColour(pContext, Colour, BPP, Format16BPP);
00547     XA_DRAW_LEAVE(pContext, 30);
00548     return nRetVal;
00549 }
00550 
00551 INT32 XaColourDbg_SetWordColour( pGCONTEXT pContext,DWORD Colour )
00552 {
00553     XA_DRAW_ENTER(TEXT("XaColour_SetWordColour"), pContext);
00554     INT32 nRetVal =
00555         g_XaFnsOriginal.pfnXaColour_SetWordColour(pContext, Colour);
00556     XA_DRAW_LEAVE(pContext, 31);
00557     return nRetVal;
00558 }
00559 
00560 INT32 XaColourDbg_SetInvert( pGCONTEXT pContext,DWORD Colour )
00561 {
00562     XA_DRAW_ENTER(TEXT("XaColour_SetInvert"), pContext);
00563     INT32 nRetVal =
00564         g_XaFnsOriginal.pfnXaColour_SetInvert(pContext, Colour);
00565     XA_DRAW_LEAVE(pContext, 32);
00566     return nRetVal;
00567 }
00568 
00569 INT32 XaColourDbg_SetTransparency( pGCONTEXT pContext,COLORREF Colour,DWORD Style )
00570 {
00571     XA_DRAW_ENTER(TEXT("XaColour_SetTransparency"), pContext);
00572     INT32 nRetVal =
00573         g_XaFnsOriginal.pfnXaColour_SetTransparency(pContext, Colour, Style);
00574     XA_DRAW_LEAVE(pContext, 33);
00575     return nRetVal;
00576 }
00577 
00578 INT32 XaColourDbg_SetTransparencyLookupTable( pGCONTEXT pContext,pcBYTE Table )
00579 {
00580     XA_DRAW_ENTER(TEXT("XaColour_SetTransparencyLookupTable"), pContext);
00581     INT32 nRetVal =
00582         g_XaFnsOriginal.pfnXaColour_SetTransparencyLookupTable(pContext, Table);
00583     XA_DRAW_LEAVE(pContext, 34);
00584     return nRetVal;
00585 }
00586 
00587 pcBYTE XaColourDbg_ReturnBrush(pcGCONTEXT pContext)
00588 {
00589     XA_DRAW_ENTER(TEXT("XaColour_ReturnBrush"), pContext);
00590     pcBYTE pRetVal =
00591         g_XaFnsOriginal.pfnXaColour_ReturnBrush(pContext);
00592     XA_DRAW_LEAVE(pContext, 35);
00593     return pRetVal;
00594 }
00595 
00596 pcBYTE XaColourDbg_ReturnBrushRGB(pcGCONTEXT pContext)
00597 {
00598     XA_DRAW_ENTER(TEXT("XaColour_ReturnBrushRGB"), pContext);
00599     pcBYTE pRetVal =
00600         g_XaFnsOriginal.pfnXaColour_ReturnBrushRGB(pContext);
00601     XA_DRAW_LEAVE(pContext, 35);
00602     return pRetVal;
00603 }
00604 
00605 INT32 XaColourDbg_AddToGraduationTable(
00606     pGCONTEXT pContext,
00607     COLORREF Colour,
00608     BOOL HSVFlag,
00609     pGraduationTable Table,
00610     UINT32 Index
00611 )
00612 {
00613     XA_DRAW_ENTER(TEXT("XaColour_AddToGraduationTable"), pContext);
00614     INT32 nRetVal =
00615         g_XaFnsOriginal.pfnXaColour_AddToGraduationTable(pContext, Colour, HSVFlag,
00616                                                             Table, Index);
00617     XA_DRAW_LEAVE(pContext, 36);
00618     return nRetVal;
00619 }
00620 
00621 INT32 XaColourDbg_BuildGraduationTable(
00622     pGCONTEXT pContext,
00623     COLORREF StartColour,
00624     COLORREF EndColour,
00625     BOOL HSVFlag,
00626     pGraduationTable Table
00627 )
00628 {
00629     XA_DRAW_ENTER(TEXT("XaColour_BuildGraduationTable"), pContext);
00630     INT32 nRetVal =
00631         g_XaFnsOriginal.pfnXaColour_BuildGraduationTable(pContext, StartColour, EndColour,
00632                                                             HSVFlag, Table);
00633     XA_DRAW_LEAVE(pContext, 37);
00634     return nRetVal;
00635 }
00636 
00637 INT32 XaColourDbg_BuildGraduationTable32(
00638     pGCONTEXT pContext,
00639     COLORREF StartColour,
00640     COLORREF EndColour,
00641     BOOL HSVFlag,
00642     pGraduationTable32 Table
00643 )
00644 {
00645     XA_DRAW_ENTER(TEXT("XaColour_BuildGraduationTable32"), pContext);
00646     INT32 nRetVal =
00647         g_XaFnsOriginal.pfnXaColour_BuildGraduationTable32(pContext, StartColour, EndColour,
00648                                                             HSVFlag, Table);
00649     XA_DRAW_LEAVE(pContext, 38);
00650     return nRetVal;
00651 }
00652 
00653 INT32 XaColourDbg_BuildTransparencyTable(
00654     pGCONTEXT pContext,
00655     BYTE StartColour,
00656     BYTE EndColour,
00657     pTransparentGradTable Table
00658 )
00659 {
00660     XA_DRAW_ENTER(TEXT("XaColour_BuildTransparencyTable"), pContext);
00661     INT32 nRetVal =
00662         g_XaFnsOriginal.pfnXaColour_BuildTransparencyTable(pContext, StartColour, EndColour,
00663                                                             Table);
00664     XA_DRAW_LEAVE(pContext, 39);
00665     return nRetVal;
00666 }
00667 
00668 INT32 XaColourDbg_SetGraduation(
00669     pGCONTEXT pContext,
00670     DWORD Style,
00671     pcGraduationTable Table,
00672     pcPOINT PointA,
00673     pcPOINT PointB,
00674     pcPOINT PointC
00675 )
00676 {
00677     XA_DRAW_ENTER(TEXT("XaColour_SetGraduation"), pContext);
00678     INT32 nRetVal =
00679         g_XaFnsOriginal.pfnXaColour_SetGraduation(pContext, Style, Table,
00680                                                     PointA, PointB, PointC);
00681     XA_DRAW_LEAVE(pContext, 40);
00682     return nRetVal;
00683 }
00684 
00685 INT32 XaColourDbg_SetGraduation4(
00686     pGCONTEXT pContext,
00687     DWORD Style,
00688     pcGraduationTable Table,
00689     pcPOINT PointA,
00690     pcPOINT PointB,
00691     pcPOINT PointC,
00692     pcPOINT PointD
00693 )
00694 {
00695     XA_DRAW_ENTER(TEXT("XaColour_SetGraduation4"), pContext);
00696     INT32 nRetVal =
00697         g_XaFnsOriginal.pfnXaColour_SetGraduation4(pContext, Style, Table,
00698                                                     PointA, PointB, PointC, PointD);
00699     XA_DRAW_LEAVE(pContext, 41);
00700     return nRetVal;
00701 }
00702 
00703 INT32 XaColourDbg_Set3WayGraduation(
00704     pGCONTEXT pContext,
00705     DWORD Style,
00706     COLORREF ColourA, COLORREF ColourB, COLORREF ColourD,
00707     pcPOINT   PointA, pcPOINT   PointB, pcPOINT   PointD
00708 )
00709 {
00710     XA_DRAW_ENTER(TEXT("XaColour_Set3WayGraduation"), pContext);
00711     INT32 nRetVal =
00712         g_XaFnsOriginal.pfnXaColour_Set3WayGraduation(  pContext, Style,
00713                                                         ColourA, ColourB, ColourD,
00714                                                         PointA, PointB, PointD);
00715     XA_DRAW_LEAVE(pContext, 42);
00716     return nRetVal;
00717 }
00718 
00719 INT32 XaColourDbg_Set3WayGraduation4(
00720     pGCONTEXT pContext,
00721     DWORD Style,
00722     COLORREF ColourA, COLORREF ColourB,                   COLORREF ColourD,
00723     pcPOINT   PointA, pcPOINT   PointB, pcPOINT   PointC, pcPOINT   PointD
00724 )
00725 {
00726     XA_DRAW_ENTER(TEXT("XaColour_Set3WayGraduation4"), pContext);
00727     INT32 nRetVal =
00728         g_XaFnsOriginal.pfnXaColour_Set3WayGraduation4(pContext, Style,
00729                                                         ColourA, ColourB, ColourD,
00730                                                         PointA, PointB, PointC, PointD);
00731     XA_DRAW_LEAVE(pContext, 43);
00732     return nRetVal;
00733 }
00734 
00735 INT32 XaColourDbg_Set4WayGraduation(
00736     pGCONTEXT pContext,
00737     DWORD Style,
00738     COLORREF ColourA, COLORREF ColourB, COLORREF ColourC, COLORREF ColourD,
00739     pcPOINT   PointA, pcPOINT   PointB,                   pcPOINT   PointD
00740 )
00741 {
00742     XA_DRAW_ENTER(TEXT("XaColour_Set4WayGraduation"), pContext);
00743     INT32 nRetVal =
00744         g_XaFnsOriginal.pfnXaColour_Set4WayGraduation(  pContext, Style,
00745                                                         ColourA, ColourB, ColourC, ColourD,
00746                                                         PointA, PointB, PointD);
00747     XA_DRAW_LEAVE(pContext, 44);
00748     return nRetVal;
00749 }
00750 
00751 INT32 XaColourDbg_Set4WayGraduation4(
00752     pGCONTEXT pContext,
00753     DWORD Style,
00754     COLORREF ColourA, COLORREF ColourB, COLORREF ColourC, COLORREF ColourD,
00755     pcPOINT   PointA, pcPOINT   PointB, pcPOINT   PointC, pcPOINT   PointD
00756 )
00757 {
00758     XA_DRAW_ENTER(TEXT("XaColour_Set4WayGraduation4"), pContext);
00759     INT32 nRetVal =
00760         g_XaFnsOriginal.pfnXaColour_Set4WayGraduation4( pContext, Style,
00761                                                         ColourA, ColourB, ColourC, ColourD,
00762                                                         PointA, PointB, PointC, PointD);
00763     XA_DRAW_LEAVE(pContext, 45);
00764     return nRetVal;
00765 }
00766 
00767 INT32 XaColourDbg_SetGourand(
00768     pGCONTEXT pContext,
00769     DWORD Style,
00770     COLORREF ColourA, COLORREF ColourB, COLORREF ColourD,
00771     pcPOINT   PointA, pcPOINT   PointB, pcPOINT   PointD
00772 )
00773 {
00774     XA_DRAW_ENTER(TEXT("XaColour_SetGourand"), pContext);
00775     INT32 nRetVal =
00776         g_XaFnsOriginal.pfnXaColour_SetGourand(pContext, Style,
00777                                                 ColourA, ColourB, ColourD,
00778                                                 PointA, PointB, PointD);
00779     XA_DRAW_LEAVE(pContext, 46);
00780     return nRetVal;
00781 }
00782 
00783 INT32 XaColourDbg_SetTransparentGraduation(
00784     pGCONTEXT pContext,
00785     DWORD Style,
00786     pcTransparentGradTable Table,
00787     pcPOINT PointA,
00788     pcPOINT PointB,
00789     pcPOINT PointC
00790 )
00791 {
00792     XA_DRAW_ENTER(TEXT("XaColour_SetTransparentGraduation"), pContext);
00793     INT32 nRetVal =
00794         g_XaFnsOriginal.pfnXaColour_SetTransparentGraduation(   pContext, Style, Table,
00795                                                                 PointA, PointB, PointC);
00796     XA_DRAW_LEAVE(pContext, 47);
00797     return nRetVal;
00798 }
00799 
00800 INT32 XaColourDbg_SetTransparentGraduation4(
00801     pGCONTEXT pContext,
00802     DWORD Style,
00803     pcTransparentGradTable Table,
00804     pcPOINT PointA,
00805     pcPOINT PointB,
00806     pcPOINT PointC,
00807     pcPOINT PointD
00808 )
00809 {
00810     XA_DRAW_ENTER(TEXT("XaColour_SetTransparentGraduation4"), pContext);
00811     INT32 nRetVal =
00812         g_XaFnsOriginal.pfnXaColour_SetTransparentGraduation4(  pContext, Style, Table,
00813                                                                 PointA, PointB, PointC, PointD);
00814     XA_DRAW_LEAVE(pContext, 48);
00815     return nRetVal;
00816 }
00817 
00818 INT32 XaColourDbg_SetTransparent3WayGraduation(
00819     pGCONTEXT pContext,
00820     DWORD Style,
00821     BYTE    ValueA, BYTE    ValueB, BYTE    ValueD,
00822     pcPOINT PointA, pcPOINT PointB, pcPOINT PointD
00823 )
00824 {
00825     XA_DRAW_ENTER(TEXT("XaColour_SetTransparent3WayGraduation"), pContext);
00826     INT32 nRetVal =
00827         g_XaFnsOriginal.pfnXaColour_SetTransparent3WayGraduation(   pContext, Style,
00828                                                                     ValueA, ValueB, ValueD,
00829                                                                     PointA, PointB, PointD);
00830     XA_DRAW_LEAVE(pContext, 49);
00831     return nRetVal;
00832 }
00833 
00834 INT32 XaColourDbg_SetTransparent3WayGraduation4(
00835     pGCONTEXT pContext,
00836     DWORD Style,
00837     BYTE    ValueA, BYTE    ValueB,                 BYTE    ValueD,
00838     pcPOINT PointA, pcPOINT PointB, pcPOINT PointC, pcPOINT PointD
00839 )
00840 {
00841     XA_DRAW_ENTER(TEXT("XaColour_SetTransparent3WayGraduation4"), pContext);
00842     INT32 nRetVal =
00843         g_XaFnsOriginal.pfnXaColour_SetTransparent3WayGraduation4(  pContext, Style,
00844                                                                     ValueA, ValueB, ValueD,
00845                                                                     PointA, PointB, PointC, PointD);
00846     XA_DRAW_LEAVE(pContext, 50);
00847     return nRetVal;
00848 }
00849 
00850 INT32 XaColourDbg_SetTransparent4WayGraduation(
00851     pGCONTEXT pContext,
00852     DWORD Style,
00853     BYTE    ValueA, BYTE    ValueB, BYTE    ValueC, BYTE    ValueD,
00854     pcPOINT PointA, pcPOINT PointB,                 pcPOINT PointD
00855 )
00856 {
00857     XA_DRAW_ENTER(TEXT("XaColour_SetTransparent4WayGraduation"), pContext);
00858     INT32 nRetVal =
00859         g_XaFnsOriginal.pfnXaColour_SetTransparent4WayGraduation(   pContext, Style,
00860                                                                     ValueA, ValueB, ValueC, ValueD,
00861                                                                     PointA, PointB,         PointD);
00862     XA_DRAW_LEAVE(pContext, 51);
00863     return nRetVal;
00864 }
00865 
00866 INT32 XaColourDbg_SetTransparent4WayGraduation4(
00867     pGCONTEXT pContext,
00868     DWORD Style,
00869     BYTE    ValueA, BYTE    ValueB, BYTE    ValueC, BYTE    ValueD,
00870     pcPOINT PointA, pcPOINT PointB, pcPOINT PointC, pcPOINT PointD
00871 )
00872 {
00873     XA_DRAW_ENTER(TEXT("XaColour_SetTransparent4WayGraduation4"), pContext);
00874     INT32 nRetVal =
00875         g_XaFnsOriginal.pfnXaColour_SetTransparent4WayGraduation4(  pContext, Style,
00876                                                                     ValueA, ValueB, ValueC, ValueD,
00877                                                                     PointA, PointB, PointC, PointD);
00878     XA_DRAW_LEAVE(pContext, 52);
00879     return nRetVal;
00880 }
00881 
00882 INT32 XaBitmap_SetBias( pGCONTEXT pContext,UINT32 uChannel,double fBias )
00883 {
00884     XA_DRAW_ENTER(TEXT("XaBitmap_SetBias"),pContext);
00885     INT32 nRetVal = g_XaFnsOriginal.pfnXaBitmap_SetBias(pContext,fBias);
00886     XA_DRAW_LEAVE(pConvert,?);
00887     return nRetVal;
00888 }
00889 
00890 INT32 XaBitmap_SetGain( pGCONTEXT pContext,UINT32 uChannel,double fGain )
00891 {
00892     XA_DRAW_ENTER(TEXT("XaBitmap_SetGain"),pContext);
00893     INT32 nRetVal = g_XaFnsOriginal.pfnXaBitmap_SetGain(pContext,fGain);
00894     XA_DRAW_LEAVE(pConvert,?);
00895     return nRetVal;
00896 }
00897 
00898 INT32 XaBitmap_SetBrightness( pGCONTEXT pContext,double fBrightness )
00899 {
00900     XA_DRAW_ENTER(TEXT("XaBitmap_SetBrightness"),pContext);
00901     INT32 nRetVal = g_XaFnsOriginal.pfnXaBitmap_SetBrightness(pContext,fBrightness);
00902     XA_DRAW_LEAVE(pConvert,?);
00903     return nRetVal;
00904 }
00905 
00906 INT32 XaBitmap_SetContone( pGCONTEXT pContext, UINT32 uContoneStyle, COLORREF rgbStart,COLORREF rgbEnd )
00907 {
00908     XA_DRAW_ENTER(TEXT("XaBitmap_SetContone"),pContext);
00909     INT32 nRetVal = g_XaFnsOriginal.pfnXaBitmap_SetContone(pContext,uContoneStyle,rgbStart,rgbEnd);
00910     XA_DRAW_LEAVE(pConvert,?);
00911     return nRetVal;
00912 }
00913 
00914 INT32 XaBitmap_SetInputRange( pGCONTEXT pContext, UINT32 uChannel,BYTE uStart, BYTE uEnd )
00915 {
00916     XA_DRAW_ENTER(TEXT("XaBitmap_SetInputRange"),pContext);
00917     INT32 nRetVal = g_XaFnsOriginal.pfnXaBitmap_SetInputRange(pContext,uStart,uEnd);
00918     XA_DRAW_LEAVE(pConvert,?);
00919     return nRetVal;
00920 }
00921 
00922 INT32 XaBitmap_SetOutputRange( pGCONTEXT pContext, UINT32 uChannel,BYTE uStart, BYTE uEnd )
00923 {
00924     XA_DRAW_ENTER(TEXT("XaBitmap_SetOutputRange"),pContext);
00925     INT32 nRetVal = g_XaFnsOriginal.pfnXaBitmap_SetOutputRange(pContext,uStart,uEnd);
00926     XA_DRAW_LEAVE(pConvert,?);
00927     return nRetVal;
00928 }
00929 
00930 INT32 XaColourDbg_SetTilePattern(
00931     pGCONTEXT pContext,
00932     pcBITMAPINFOHEADER BitmapInfo,
00933     pcBYTE Bitmap,
00934     DWORD Style,
00935     pcPOINT PointA,
00936     pcPOINT PointB,
00937     pcPOINT PointC,
00938     COLORREF DefaultColour /* =0 */,
00939     pcBGRT TranslationTable /* =0 */,
00940     pcBYTE   RedTranslationTable /* =0 */,
00941     pcBYTE GreenTranslationTable /* =0 */,
00942     pcBYTE  BlueTranslationTable /* =0 */,
00943     pcBYTE TransparencyTranslationTable /* =0 */,
00944     INT32 TileOffset /* =0 */
00945 )
00946 {
00947     XA_DRAW_ENTER(TEXT("XaColour_SetTilePattern"), pContext);
00948     INT32 nRetVal =
00949         g_XaFnsOriginal.pfnXaColour_SetTilePattern(pContext,
00950                                                     BitmapInfo, Bitmap, Style,
00951                                                     PointA, PointB, PointC,
00952                                                     DefaultColour,
00953                                                     TranslationTable,
00954                                                     RedTranslationTable,
00955                                                     GreenTranslationTable,
00956                                                     BlueTranslationTable,
00957                                                     TransparencyTranslationTable,
00958                                                     TileOffset);
00959     XA_DRAW_LEAVE(pContext, 53);
00960     return nRetVal;
00961 }
00962 
00963 INT32 XaColourDbg_SetTilePattern4(
00964     pGCONTEXT pContext,
00965     pcBITMAPINFOHEADER BitmapInfo,
00966     pcBYTE Bitmap,
00967     DWORD Style,
00968     pcPOINT PointA,
00969     pcPOINT PointB,
00970     pcPOINT PointC,
00971     pcPOINT PointD,
00972     COLORREF DefaultColour /* =0 */,
00973     pcBGRT TranslationTable /* =0 */,
00974     pcBYTE   RedTranslationTable /* =0 */,
00975     pcBYTE GreenTranslationTable /* =0 */,
00976     pcBYTE  BlueTranslationTable /* =0 */,
00977     pcBYTE TransparencyTranslationTable /* =0 */,
00978     INT32 TileOffset /* =0 */
00979 )
00980 {
00981     XA_DRAW_ENTER(TEXT("XaColour_SetTilePattern4"), pContext);
00982     INT32 nRetVal =
00983         g_XaFnsOriginal.pfnXaColour_SetTilePattern4(pContext,
00984                                                     BitmapInfo, Bitmap, Style,
00985                                                     PointA, PointB, PointC, PointD,
00986                                                     DefaultColour,
00987                                                     TranslationTable,
00988                                                     RedTranslationTable,
00989                                                     GreenTranslationTable,
00990                                                     BlueTranslationTable,
00991                                                     TransparencyTranslationTable,
00992                                                     TileOffset);
00993     XA_DRAW_LEAVE(pContext, 54);
00994     return nRetVal;
00995 }
00996 
00997 INT32 XaColourDbg_SetTransparentTilePattern(
00998     pGCONTEXT pContext,
00999     pcBITMAPINFOHEADER BitmapInfo,
01000     pcBYTE Bitmap,
01001     DWORD Style,
01002     pcPOINT PointA,
01003     pcPOINT PointB,
01004     pcPOINT PointC,
01005     BYTE DefaultColour /* =0 */,
01006     pcBYTE TransparencyTranslationTable /* =0 */,
01007     INT32 TileOffset /* =0 */
01008 )
01009 {
01010     XA_DRAW_ENTER(TEXT("XaColour_SetTransparentTilePattern"), pContext);
01011     INT32 nRetVal =
01012         g_XaFnsOriginal.pfnXaColour_SetTransparentTilePattern(pContext,
01013                                                     BitmapInfo, Bitmap, Style,
01014                                                     PointA, PointB, PointC,
01015                                                     DefaultColour,
01016                                                     TransparencyTranslationTable,
01017                                                     TileOffset);
01018     XA_DRAW_LEAVE(pContext, 55);
01019     return nRetVal;
01020 }
01021 
01022 INT32 XaColourDbg_SetTransparentTilePattern4(
01023     pGCONTEXT pContext,
01024     pcBITMAPINFOHEADER BitmapInfo,
01025     pcBYTE Bitmap,
01026     DWORD Style,
01027     pcPOINT PointA,
01028     pcPOINT PointB,
01029     pcPOINT PointC,
01030     pcPOINT PointD,
01031     BYTE DefaultColour /* =0 */,
01032     pcBYTE TransparencyTranslationTable /* =0 */,
01033     INT32 TileOffset /* =0 */
01034 )
01035 {
01036     XA_DRAW_ENTER(TEXT("XaColour_SetTransparentTilePattern4"), pContext);
01037     INT32 nRetVal =
01038         g_XaFnsOriginal.pfnXaColour_SetTransparentTilePattern4(pContext,
01039                                                     BitmapInfo, Bitmap, Style,
01040                                                     PointA, PointB, PointC, PointD,
01041                                                     DefaultColour,
01042                                                     TransparencyTranslationTable,
01043                                                     TileOffset);
01044     XA_DRAW_LEAVE(pContext, 56);
01045     return nRetVal;
01046 }
01047 
01048 INT32 XaColourDbg_ConvertBitmap(
01049     pGCONTEXT pContext,
01050     pcBITMAPINFOHEADER SBitmapInfo, pcBYTE SBitmap,
01051     pcBITMAPINFOHEADER DBitmapInfo,  pBYTE DBitmap,
01052     DWORD Dither
01053 )
01054 {
01055     XA_DRAW_ENTER(TEXT("XaColour_ConvertBitmap"), pContext);
01056     INT32 nRetVal =
01057         g_XaFnsOriginal.pfnXaColour_ConvertBitmap(  pContext,
01058                                                     SBitmapInfo, SBitmap,
01059                                                     DBitmapInfo, DBitmap, Dither);
01060     XA_DRAW_LEAVE(pContext, 57);
01061     return nRetVal;
01062 }
01063 
01064 INT32 XaColourDbg_SetConversionPalette( pGCONTEXT pContext,pcLOGPALETTE pPalette )
01065 {
01066     XA_DRAW_ENTER(TEXT("XaColour_SetConversionPalette"), pContext);
01067     INT32 nRetVal =
01068         g_XaFnsOriginal.pfnXaColour_SetConversionPalette(pContext, pPalette);
01069     XA_DRAW_LEAVE(pContext, 58);
01070     return nRetVal;
01071 }
01072 
01073 INT32 XaColourDbg_SetMaxDiffusionError( pGCONTEXT pContext,UINT32 MaxError )
01074 {
01075     XA_DRAW_ENTER(TEXT("XaColour_SetMaxDiffusionError"), pContext);
01076     INT32 nRetVal =
01077         g_XaFnsOriginal.pfnXaColour_SetMaxDiffusionError(pContext, MaxError);
01078     XA_DRAW_LEAVE(pContext, 59);
01079     return nRetVal;
01080 }
01081 
01082 INT32 XaColourDbg_ScaleBitmap(
01083     pGCONTEXT pContext,
01084     pcBITMAPINFOHEADER SBitmapInfo, pcBYTE SBitmap,
01085     pcBITMAPINFOHEADER DBitmapInfo,  pBYTE DBitmap,
01086     UINT32 Channels
01087 )
01088 {
01089     XA_DRAW_ENTER(TEXT("XaColour_ScaleBitmap"), pContext);
01090     INT32 nRetVal =
01091         g_XaFnsOriginal.pfnXaColour_ScaleBitmap(    pContext,
01092                                                     SBitmapInfo, SBitmap,
01093                                                     DBitmapInfo, DBitmap,
01094                                                     Channels);
01095     XA_DRAW_LEAVE(pContext, 60);
01096     return nRetVal;
01097 }
01098 
01099 
01100 INT32 XaColourDbg_SetGreyConversionValues( pGCONTEXT pContext,UINT32 Red,UINT32 Green,UINT32 Blue )
01101 {
01102     XA_DRAW_ENTER(TEXT("XaColour_SetGreyConversionValues"), pContext);
01103     INT32 nRetVal =
01104         g_XaFnsOriginal.pfnXaColour_SetGreyConversionValues(    pContext,
01105                                                                 Red, Green, Blue);
01106     XA_DRAW_LEAVE(pContext, 61);
01107     return nRetVal;
01108 }
01109 
01110 COLORREF XaColourDbg_ConvertHSVtoRGB( COLORREF hsv )
01111 {
01112     XA_DRAW_ENTER(TEXT("XaColour_ConvertHSVtoRGB"), NULL);
01113     COLORREF rgb =
01114         g_XaFnsOriginal.pfnXaColour_ConvertHSVtoRGB(hsv);
01115     XA_DRAW_LEAVE(NULL, 62);
01116     return rgb;
01117 }
01118 
01119 COLORREF XaColourDbg_ConvertRGBtoHSV( COLORREF rgb )
01120 {
01121     XA_DRAW_ENTER(TEXT("XaColour_ConvertRGBtoHSV"), NULL);
01122     COLORREF hsv =
01123         g_XaFnsOriginal.pfnXaColour_ConvertRGBtoHSV(rgb);
01124     XA_DRAW_LEAVE(NULL, 63);
01125     return hsv;
01126 }
01127 
01128 INT32 XaColourDbg_SetSeparationTables(
01129     pGCONTEXT pContext,
01130     pcBGR    CyanSeparationTable,
01131     pcBGR MagentaSeparationTable,
01132     pcBGR  YellowSeparationTable,
01133     pcBGR   BlackSeparationTable,
01134     pcBYTE UnderColourRemovalTable,
01135     pcBYTE BlackGenerationTable
01136 )
01137 {
01138     XA_DRAW_ENTER(TEXT("XaColour_SetSeparationTables"), pContext);
01139     INT32 nRetVal =
01140         g_XaFnsOriginal.pfnXaColour_SetSeparationTables(    pContext,
01141                                                             CyanSeparationTable,
01142                                                             MagentaSeparationTable,
01143                                                             YellowSeparationTable,
01144                                                             BlackSeparationTable,
01145                                                             UnderColourRemovalTable,
01146                                                             BlackGenerationTable);
01147     XA_DRAW_LEAVE(pContext, 64);
01148     return nRetVal;
01149 }
01150 
01151 INT32 XaColourDbg_SetBitmapConversionTable(
01152     pGCONTEXT pContext,
01153     pcBGR BitmapConversionTable
01154 )
01155 {
01156     XA_DRAW_ENTER(TEXT("XaColour_SetBitmapConversionTable"), pContext);
01157     INT32 nRetVal =
01158         g_XaFnsOriginal.pfnXaColour_SetBitmapConversionTable(   pContext,
01159                                                                 BitmapConversionTable);
01160     XA_DRAW_LEAVE(pContext, 65);
01161     return nRetVal;
01162 }
01163 
01164 INT32 XaDrawDbg_SetDIBitmap(
01165     pGCONTEXT pContext,
01166     pcBITMAPINFOHEADER BitmapInfo,
01167     pBYTE Bitmap,
01168     UINT32 Format16BPP /* =FORMAT16BPP_555 */
01169 )
01170 {
01171     XA_DRAW_ENTER(TEXT("XaDraw_SetDIBitmap"), pContext);
01172     INT32 nRetVal =
01173         g_XaFnsOriginal.pfnXaDraw_SetDIBitmap(  pContext,
01174                                                 BitmapInfo, Bitmap, Format16BPP);
01175     XA_DRAW_LEAVE(pContext, 66);
01176     return nRetVal;
01177 }
01178 
01179 INT32 XaDrawDbg_SetInvertedDIBitmap(
01180     pGCONTEXT pContext,
01181     pcBITMAPINFOHEADER BitmapInfo,
01182     pBYTE Bitmap,
01183     UINT32 Format16BPP /* =FORMAT16BPP_555 */
01184 )
01185 {
01186     XA_DRAW_ENTER(TEXT("XaDraw_SetInvertedDIBitmap"), pContext);
01187     INT32 nRetVal =
01188         g_XaFnsOriginal.pfnXaDraw_SetInvertedDIBitmap(  pContext,
01189                                                         BitmapInfo, Bitmap, Format16BPP);
01190     XA_DRAW_LEAVE(pContext, 67);
01191     return nRetVal;
01192 }
01193 
01194 INT32 XaDrawDbg_SetMatrix( pGCONTEXT pContext,pcGMATRIX Matrix )
01195 {
01196     XA_DRAW_ENTER(TEXT("XaDraw_SetMatrix"), pContext);
01197     INT32 nRetVal =
01198         g_XaFnsOriginal.pfnXaDraw_SetMatrix(pContext, Matrix);
01199     XA_DRAW_LEAVE(pContext, 68);
01200     return nRetVal;
01201 }
01202 
01203 INT32 XaDrawDbg_MaxScale ( pGCONTEXT pContext,pcGMATRIX Matrix,pcRECT BBox )
01204 {
01205     XA_DRAW_ENTER(TEXT("XaDraw_MaxScale"), pContext);
01206     INT32 nRetVal =
01207         g_XaFnsOriginal.pfnXaDraw_MaxScale(pContext, Matrix, BBox);
01208     XA_DRAW_LEAVE(pContext, 69);
01209     return nRetVal;
01210 }
01211 
01212 INT32 XaDrawDbg_GetMaxBitmapWidth()
01213 {
01214     XA_DRAW_ENTER(TEXT("XaDraw_GetMaxBitmapWidth"), NULL);
01215     INT32 nRetVal =
01216         g_XaFnsOriginal.pfnXaDraw_GetMaxBitmapWidth();
01217     XA_DRAW_LEAVE(NULL, 70);
01218     return nRetVal;
01219 }
01220 
01221 INT32 XaDrawDbg_GetMaxBitmapDepth()
01222 {
01223     XA_DRAW_ENTER(TEXT("XaDraw_GetMaxBitmapDepth"), NULL);
01224     INT32 nRetVal =
01225         g_XaFnsOriginal.pfnXaDraw_GetMaxBitmapDepth();
01226     XA_DRAW_LEAVE(NULL, 71);
01227     return nRetVal;
01228 }
01229 
01230 INT32 XaDrawDbg_SetAntialiasFlag( pGCONTEXT pContext,BOOL Flag )
01231 {
01232     XA_DRAW_ENTER(TEXT("XaDraw_SetAntialiasFlag"), pContext);
01233     INT32 nRetVal =
01234         g_XaFnsOriginal.pfnXaDraw_SetAntialiasFlag(pContext, Flag);
01235     XA_DRAW_LEAVE(pContext, 72);
01236     return nRetVal;
01237 }
01238 
01239 INT32 XaDrawDbg_SetDashAdjustmentFlag( pGCONTEXT pContext,BOOL Flag )
01240 {
01241     XA_DRAW_ENTER(TEXT("XaDraw_SetDashAdjustmentFlag"), pContext);
01242     INT32 nRetVal =
01243         g_XaFnsOriginal.pfnXaDraw_SetDashAdjustmentFlag(pContext, Flag);
01244     XA_DRAW_LEAVE(pContext, 73);
01245     return nRetVal;
01246 }
01247 
01248 INT32 XaDrawDbg_SetHintingFlag( pGCONTEXT pContext,BOOL Flag )
01249 {
01250     XA_DRAW_ENTER(TEXT("XaDraw_SetHintingFlag"), pContext);
01251     INT32 nRetVal =
01252         g_XaFnsOriginal.pfnXaDraw_SetHintingFlag(pContext, Flag);
01253     XA_DRAW_LEAVE(pContext, 74);
01254     return nRetVal;
01255 }
01256 
01257 INT32 XaDrawDbg_SetFlatness( pGCONTEXT pContext,UINT32 Flatness )
01258 {
01259     XA_DRAW_ENTER(TEXT("XaDraw_SetFlatness"), pContext);
01260     INT32 nRetVal =
01261         g_XaFnsOriginal.pfnXaDraw_SetFlatness(pContext, Flatness);
01262     XA_DRAW_LEAVE(pContext, 75);
01263     return nRetVal;
01264 }
01265 
01266 INT32 XaDrawDbg_SetMiterLimit( pGCONTEXT pContext,UINT32 MiterLimit )
01267 {
01268     XA_DRAW_ENTER(TEXT("XaDraw_SetMiterLimit"), pContext);
01269     INT32 nRetVal =
01270         g_XaFnsOriginal.pfnXaDraw_SetMiterLimit(pContext, MiterLimit);
01271     XA_DRAW_LEAVE(pContext, 76);
01272     return nRetVal;
01273 }
01274 
01275 INT32 XaDrawDbg_FillRectangle( pGCONTEXT pContext,pcRECT Rectangle )
01276 {
01277     XA_DRAW_ENTER(TEXT("XaDraw_FillRectangle"), pContext);
01278     INT32 nRetVal =
01279         g_XaFnsOriginal.pfnXaDraw_FillRectangle(pContext, Rectangle);
01280     XA_DRAW_LEAVE(pContext, 77);
01281     return nRetVal;
01282 }
01283 
01284 INT32 XaDrawDbg_FillPoint( pGCONTEXT pContext,pcPOINT Point )
01285 {
01286     XA_DRAW_ENTER(TEXT("XaDraw_FillPoint"), pContext);
01287     INT32 nRetVal =
01288         g_XaFnsOriginal.pfnXaDraw_FillPoint(pContext, Point);
01289     XA_DRAW_LEAVE(pContext, 78);
01290     return nRetVal;
01291 }
01292 
01293 INT32 XaDrawDbg_FillPath(
01294     pGCONTEXT pContext,
01295     pcPOINT Points,
01296     pcBYTE  Types,
01297     UINT32 Length,
01298     UINT32 Winding
01299 )
01300 {
01301     XA_DRAW_ENTER(TEXT("XaDraw_FillPath"), pContext);
01302     INT32 nRetVal =
01303         g_XaFnsOriginal.pfnXaDraw_FillPath(pContext, Points, Types, Length, Winding);
01304     XA_DRAW_LEAVE(pContext, 79);
01305     return nRetVal;
01306 }
01307 
01308 INT32 XaDrawDbg_InitialiseFillPath( pGCONTEXT pContext,UINT32 Winding,BOOL DontPlot )
01309 {
01310     XA_DRAW_ENTER(TEXT("XaDraw_InitialiseFillPath"), pContext);
01311     INT32 nRetVal =
01312         g_XaFnsOriginal.pfnXaDraw_InitialiseFillPath(pContext, Winding, DontPlot);
01313     XA_DRAW_LEAVE(pContext, 80);
01314     return nRetVal;
01315 }
01316 
01317 INT32 XaDrawDbg_FillPathLine( pGCONTEXT pContext,pcFVector2D Points, BOOL Reverse )
01318 {
01319     XA_DRAW_ENTER(TEXT("XaDraw_FillPathLine"), pContext);
01320     INT32 nRetVal =
01321         g_XaFnsOriginal.pfnXaDraw_FillPathLine(pContext, Points, Reverse);
01322     XA_DRAW_LEAVE(pContext, 81);
01323     return nRetVal;
01324 }
01325 
01326 INT32 XaDrawDbg_DoFillPath( pGCONTEXT pContext )
01327 {
01328     XA_DRAW_ENTER(TEXT("XaDraw_DoFillPath"), pContext);
01329     INT32 nRetVal =
01330         g_XaFnsOriginal.pfnXaDraw_DoFillPath(pContext);
01331     XA_DRAW_LEAVE(pContext, 82);
01332     return nRetVal;
01333 }
01334 
01335 INT32 XaDrawDbg_FillTriangle(
01336     pGCONTEXT pContext,
01337     pcPOINT PointA,
01338     pcPOINT PointB,
01339     pcPOINT PointC,
01340     DWORD Flags
01341 )
01342 {
01343     XA_DRAW_ENTER(TEXT("XaDraw_FillTriangle"), pContext);
01344     INT32 nRetVal =
01345         g_XaFnsOriginal.pfnXaDraw_FillTriangle(pContext, PointA, PointB, PointC, Flags);
01346     XA_DRAW_LEAVE(pContext, 83);
01347     return nRetVal;
01348 }
01349 
01350 INT32 XaDrawDbg_HintPath(
01351     pGCONTEXT pContext,
01352     pPOINT Points,
01353     pcBYTE  Types,
01354     UINT32 Length,
01355     BOOL Close,
01356     UINT32 LineWidth
01357 )
01358 {
01359     XA_DRAW_ENTER(TEXT("XaDraw_HintPath"), pContext);
01360     INT32 nRetVal =
01361         g_XaFnsOriginal.pfnXaDraw_HintPath(pContext, Points, Types, Length, Close, LineWidth);
01362     XA_DRAW_LEAVE(pContext, 84);
01363     return nRetVal;
01364 }
01365 
01366 INT32 XaDrawDbg_StrokePath(
01367     pGCONTEXT pContext,
01368     pcPOINT Points,
01369     pcBYTE  Types,
01370     UINT32 Length,
01371     BOOL Close,
01372     UINT32 LineWidth,
01373     DWORD LineCaps,
01374     DWORD LineJoin,
01375     pcDashType Dash
01376 )
01377 {
01378     XA_DRAW_ENTER(TEXT("XaDraw_StrokePath"), pContext);
01379     INT32 nRetVal =
01380         g_XaFnsOriginal.pfnXaDraw_StrokePath(pContext, Points, Types, Length, Close,
01381                                                 LineWidth, LineCaps, LineJoin, Dash);
01382     XA_DRAW_LEAVE(pContext, 85);
01383     return nRetVal;
01384 }
01385 
01386 INT32 XaDrawDbg_StrokePathToPath(
01387     pGCONTEXT pContext,
01388     pcPOINT IPoints,
01389     pcBYTE  ITypes,
01390     UINT32 ILength,
01391     pPOINT OPoints,
01392     pBYTE  OTypes,
01393     UINT32 OLength,
01394     BOOL Close,
01395     UINT32 LineWidth,
01396     DWORD LineCaps,
01397     DWORD LineJoin,
01398     pcDashType Dash
01399 )
01400 {
01401     XA_DRAW_ENTER(TEXT("XaDraw_StrokePathToPath"), pContext);
01402     INT32 nRetVal =
01403         g_XaFnsOriginal.pfnXaDraw_StrokePathToPath(pContext,
01404                                                     IPoints, ITypes, ILength,
01405                                                     OPoints, OTypes, OLength, Close,
01406                                                     LineWidth, LineCaps, LineJoin, Dash);
01407     XA_DRAW_LEAVE(pContext, 86);
01408     return nRetVal;
01409 }
01410 
01411 INT32 XaDrawDbg_CalcStrokeBBox(
01412     pGCONTEXT pContext,
01413     pcPOINT IPoints,
01414     pcBYTE  ITypes,
01415     UINT32 ILength,
01416     pRECT Rect,
01417     BOOL Close,
01418     UINT32 LineWidth,
01419     DWORD LineCaps,
01420     DWORD LineJoin,
01421     pcDashType Dash
01422 )
01423 {
01424     XA_DRAW_ENTER(TEXT("XaDraw_CalcStrokeBBox"), pContext);
01425     INT32 nRetVal =
01426         g_XaFnsOriginal.pfnXaDraw_CalcStrokeBBox(   pContext,
01427                                                     IPoints, ITypes, ILength,
01428                                                     Rect, Close,
01429                                                     LineWidth, LineCaps, LineJoin, Dash);
01430     XA_DRAW_LEAVE(pContext, 87);
01431     return nRetVal;
01432 }
01433 
01434 INT32 XaDrawDbg_IsOverlap(
01435     pGCONTEXT pContext,
01436     pcPOINT Points,
01437     pcBYTE  Types,
01438     UINT32 Length,
01439     UINT32 Winding
01440 )
01441 {
01442     XA_DRAW_ENTER(TEXT("XaDraw_IsOverlap"), pContext);
01443     INT32 nRetVal =
01444         g_XaFnsOriginal.pfnXaDraw_IsOverlap(    pContext,
01445                                                 Points, Types, Length, Winding);
01446     XA_DRAW_LEAVE(pContext, 88);
01447     return nRetVal;
01448 }
01449 
01450 INT32 XaDrawDbg_IsStrokeOverlap(
01451     pGCONTEXT pContext,
01452     pcPOINT Points,
01453     pcBYTE  Types,
01454     UINT32 Length,
01455     BOOL Close,
01456     UINT32 LineWidth,
01457     DWORD LineCaps,
01458     DWORD LineJoin,
01459     pcDashType Dash
01460 )
01461 {
01462     XA_DRAW_ENTER(TEXT("XaDraw_IsStrokeOverlap"), pContext);
01463     INT32 nRetVal =
01464         g_XaFnsOriginal.pfnXaDraw_IsStrokeOverlap(  pContext,
01465                                                     Points, Types, Length, Close,
01466                                                     LineWidth, LineCaps, LineJoin, Dash);
01467     XA_DRAW_LEAVE(pContext, 89);
01468     return nRetVal;
01469 }
01470 
01471 INT32 XaDrawDbg_GetStatistics(
01472     pGCONTEXT pContext,
01473     pcPOINT Points,
01474     pcBYTE  Types,
01475     UINT32 Length,
01476     UINT32 Winding,
01477     pSTATISTICS Stats
01478 )
01479 {
01480     XA_DRAW_ENTER(TEXT("XaDraw_GetStatistics"), pContext);
01481     INT32 nRetVal =
01482         g_XaFnsOriginal.pfnXaDraw_GetStatistics(    pContext,
01483                                                     Points, Types, Length,
01484                                                     Winding, Stats);
01485     XA_DRAW_LEAVE(pContext, 90);
01486     return nRetVal;
01487 }
01488 
01489 INT32 XaDrawDbg_MakeRegion(
01490     pGCONTEXT pContext,
01491     pcPOINT Points,
01492     pcBYTE  Types,
01493     UINT32 Length,
01494     UINT32 Winding,
01495     pREGION ORegion,
01496     UINT32 OLength
01497 )
01498 {
01499     XA_DRAW_ENTER(TEXT("XaDraw_MakeRegion"), pContext);
01500     INT32 nRetVal =
01501         g_XaFnsOriginal.pfnXaDraw_MakeRegion(   pContext,
01502                                                 Points, Types, Length,
01503                                                 Winding,
01504                                                 ORegion, OLength);
01505     XA_DRAW_LEAVE(pContext, 91);
01506     return nRetVal;
01507 }
01508 
01509 INT32 XaDrawDbg_MakeUnclippedRegion(
01510     pGCONTEXT pContext,
01511     pcPOINT Points,
01512     pcBYTE  Types,
01513     UINT32 Length,
01514     UINT32 Winding,
01515     pREGION ORegion,
01516     UINT32 OLength
01517 )
01518 {
01519     XA_DRAW_ENTER(TEXT("XaDraw_MakeUnclippedRegion"), pContext);
01520     INT32 nRetVal =
01521         g_XaFnsOriginal.pfnXaDraw_MakeUnclippedRegion(  pContext,
01522                                                         Points, Types, Length,
01523                                                         Winding,
01524                                                         ORegion, OLength);
01525     XA_DRAW_LEAVE(pContext, 92);
01526     return nRetVal;
01527 }
01528 
01529 INT32 XaDrawDbg_FillRegion(
01530     pGCONTEXT pContext,
01531     pcREGION Region,
01532     pcPOINT Offset
01533 )
01534 {
01535     XA_DRAW_ENTER(TEXT("XaDraw_FillRegion"), pContext);
01536     INT32 nRetVal =
01537         g_XaFnsOriginal.pfnXaDraw_FillRegion(pContext, Region, Offset);
01538     XA_DRAW_LEAVE(pContext, 93);
01539     return nRetVal;
01540 }
01541 
01542 INT32 XaDrawDbg_ClipRectangle( pGCONTEXT pContext,pcRECT Rectangle )
01543 {
01544     XA_DRAW_ENTER(TEXT("XaDraw_ClipRectangle"), pContext);
01545     INT32 nRetVal =
01546         g_XaFnsOriginal.pfnXaDraw_ClipRectangle(pContext, Rectangle);
01547     XA_DRAW_LEAVE(pContext, 94);
01548     return nRetVal;
01549 }
01550 
01551 INT32 XaDrawDbg_DeviceClipRectangle( pGCONTEXT pContext,pcRECT Rectangle )
01552 {
01553     XA_DRAW_ENTER(TEXT("XaDraw_DeviceClipRectangle"), pContext);
01554     INT32 nRetVal =
01555         g_XaFnsOriginal.pfnXaDraw_DeviceClipRectangle(pContext, Rectangle);
01556     XA_DRAW_LEAVE(pContext, 95);
01557     return nRetVal;
01558 }
01559 
01560 INT32 XaDrawDbg_GetDeviceClipRectangle( pcGCONTEXT pContext,pRECT Rectangle )
01561 {
01562     XA_DRAW_ENTER(TEXT("XaDraw_GetDeviceClipRectangle"), pContext);
01563     INT32 nRetVal =
01564         g_XaFnsOriginal.pfnXaDraw_GetDeviceClipRectangle(pContext, Rectangle);
01565     XA_DRAW_LEAVE(pContext, 96);
01566     return nRetVal;
01567 }
01568 
01569 INT32 XaDrawDbg_ClipRegion( pGCONTEXT pContext,pcREGION Region )
01570 {
01571     XA_DRAW_ENTER(TEXT("XaDraw_ClipRegion"), pContext);
01572     INT32 nRetVal =
01573         g_XaFnsOriginal.pfnXaDraw_ClipRegion(pContext, Region);
01574     XA_DRAW_LEAVE(pContext, 97);
01575     return nRetVal;
01576 }
01577 
01578 pcREGION XaDrawDbg_GetClipRegion(pGCONTEXT pContext)
01579 {
01580     XA_DRAW_ENTER(TEXT("XaDraw_GetClipRegion"), pContext);
01581     pcREGION pRetVal =
01582         g_XaFnsOriginal.pfnXaDraw_GetClipRegion(pContext);
01583     XA_DRAW_LEAVE(pContext, 98);
01584     return pRetVal;
01585 }
01586 
01587 INT32 XaDrawDbg_CalcSimpleBBox(
01588     pcPOINT Points,
01589     UINT32 Length,
01590     pRECT Rect
01591 )
01592 {
01593     XA_DRAW_ENTER(TEXT("XaDraw_CalcSimpleBBox"), NULL);
01594     INT32 nRetVal =
01595         g_XaFnsOriginal.pfnXaDraw_CalcSimpleBBox(Points, Length, Rect);
01596     XA_DRAW_LEAVE(NULL, 99);
01597     return nRetVal;
01598 }
01599 
01600 INT32 XaDrawDbg_CalcBBox(
01601     pGCONTEXT pContext,
01602     pcPOINT Points,
01603     pcBYTE  Types,
01604     UINT32 Length,
01605     pRECT Rect,
01606     BOOL Flatten
01607 )
01608 {
01609     XA_DRAW_ENTER(TEXT("XaDraw_CalcBBox"), pContext);
01610     INT32 nRetVal =
01611         g_XaFnsOriginal.pfnXaDraw_CalcBBox(pContext, Points, Types, Length, Rect, Flatten);
01612     XA_DRAW_LEAVE(pContext, 100);
01613     return nRetVal;
01614 }
01615 
01616 INT32 XaDrawDbg_TransformPath(
01617     pGCONTEXT pContext,
01618     pcPOINT IPoints,
01619      pPOINT OPoints,
01620     UINT32 Length,
01621     pcGMATRIX Matrix
01622 )
01623 {
01624     XA_DRAW_ENTER(TEXT("XaDraw_TransformPath"), pContext);
01625     INT32 nRetVal =
01626         g_XaFnsOriginal.pfnXaDraw_TransformPath(    pContext,
01627                                                     IPoints, OPoints,
01628                                                     Length, Matrix);
01629     XA_DRAW_LEAVE(pContext, 101);
01630     return nRetVal;
01631 }
01632 
01633 INT32 XaDrawDbg_ScrollBitmap( pGCONTEXT pContext, INT32 x,INT32 y )
01634 {
01635     XA_DRAW_ENTER(TEXT("XaDraw_ScrollBitmap"), pContext);
01636     INT32 nRetVal =
01637         g_XaFnsOriginal.pfnXaDraw_ScrollBitmap(pContext, x, y);
01638     XA_DRAW_LEAVE(pContext, 102);
01639     return nRetVal;
01640 }
01641 
01642 INT32 XaDrawDbg_ClearChangedBBox(pGCONTEXT pContext)
01643 {
01644     XA_DRAW_ENTER(TEXT("XaDraw_ClearChangedBBox"), pContext);
01645     INT32 nRetVal =
01646         g_XaFnsOriginal.pfnXaDraw_ClearChangedBBox(pContext);
01647     XA_DRAW_LEAVE(pContext, 103);
01648     return nRetVal;
01649 }
01650 
01651 INT32 XaDrawDbg_GetChangedBBox( pcGCONTEXT pContext, pRECT Rectangle )
01652 {
01653     XA_DRAW_ENTER(TEXT("XaDraw_GetChangedBBox"), pContext);
01654     INT32 nRetVal =
01655         g_XaFnsOriginal.pfnXaDraw_GetChangedBBox(pContext, Rectangle);
01656     XA_DRAW_LEAVE(pContext, 104);
01657     return nRetVal;
01658 }
01659 
01660 INT32 XaDrawDbg_SetChangedBBox(  pGCONTEXT pContext,pcRECT Rectangle )
01661 {
01662     XA_DRAW_ENTER(TEXT("XaDraw_SetChangedBBox"), pContext);
01663     INT32 nRetVal =
01664         g_XaFnsOriginal.pfnXaDraw_SetChangedBBox(pContext, Rectangle);
01665     XA_DRAW_LEAVE(pContext, 105);
01666     return nRetVal;
01667 }
01668 
01669 INT32 XaDrawDbg_SetBevelContrast ( pGCONTEXT pContext,UINT32 Contrast )
01670 {
01671     XA_DRAW_ENTER(TEXT("XaDraw_SetBevelContrast"), pContext);
01672     INT32 nRetVal =
01673         g_XaFnsOriginal.pfnXaDraw_SetBevelContrast(pContext, Contrast);
01674     XA_DRAW_LEAVE(pContext, 106);
01675     return nRetVal;
01676 }
01677 
01678 INT32 XaDrawDbg_SetBevelLightness( pGCONTEXT pContext,UINT32 Contrast )
01679 {
01680     XA_DRAW_ENTER(TEXT("XaDraw_SetBevelLightness"), pContext);
01681     INT32 nRetVal =
01682         g_XaFnsOriginal.pfnXaDraw_SetBevelLightness(pContext, Contrast);
01683     XA_DRAW_LEAVE(pContext, 107);
01684     return nRetVal;
01685 }
01686 
01687 INT32 XaDrawDbg_SetBevelDarkness ( pGCONTEXT pContext,UINT32 Contrast )
01688 {
01689     XA_DRAW_ENTER(TEXT("XaDraw_SetBevelDarkness"), pContext);
01690     INT32 nRetVal =
01691         g_XaFnsOriginal.pfnXaDraw_SetBevelDarkness(pContext, Contrast);
01692     XA_DRAW_LEAVE(pContext, 108);
01693     return nRetVal;
01694 }
01695 
01696 INT32 XaDrawDbg_TranslateBevelValue( pcGCONTEXT pContext, BYTE Index, BYTE Colour )
01697 {
01698     XA_DRAW_ENTER(TEXT("XaDraw_TranslateBevelValue"), pContext);
01699     INT32 nRetVal =
01700         g_XaFnsOriginal.pfnXaDraw_TranslateBevelValue(pContext, Index, Colour);
01701     XA_DRAW_LEAVE(pContext, 109);
01702     return nRetVal;
01703 }
01704 
01705 INT32 XaBitmapDbg_PlotTile(
01706     pGCONTEXT pContext,
01707     pcBITMAPINFOHEADER BitmapInfo,
01708     pcBYTE Bitmap,
01709     DWORD Style,
01710     pcPOINT PointA,
01711     pcPOINT PointB,
01712     pcPOINT PointC,
01713     pcBGRT TranslationTable /* =0 */,
01714     pcBYTE   RedTranslationTable /* =0 */,
01715     pcBYTE GreenTranslationTable /* =0 */,
01716     pcBYTE  BlueTranslationTable /* =0 */,
01717     pcBYTE TransparencyTranslationTable /* =0 */
01718 )
01719 {
01720     XA_DRAW_ENTER(TEXT("XaBitmap_PlotTile"), pContext);
01721     INT32 nRetVal =
01722         g_XaFnsOriginal.pfnXaBitmap_PlotTile(   pContext,
01723                                                 BitmapInfo, Bitmap, Style,
01724                                                 PointA, PointB, PointC,
01725                                                 TranslationTable,
01726                                                 RedTranslationTable,
01727                                                 GreenTranslationTable,
01728                                                 BlueTranslationTable,
01729                                                 TransparencyTranslationTable);
01730     XA_DRAW_LEAVE(pContext, 110);
01731     return nRetVal;
01732 }
01733 
01734 INT32 XaBitmapDbg_PlotTile4(
01735     pGCONTEXT pContext,
01736     pcBITMAPINFOHEADER BitmapInfo,
01737     pcBYTE Bitmap,
01738     DWORD Style,
01739     pcPOINT PointA,
01740     pcPOINT PointB,
01741     pcPOINT PointC,
01742     pcPOINT PointD,
01743     pcBGRT TranslationTable = 0,
01744     pcBYTE   RedTranslationTable = 0,
01745     pcBYTE GreenTranslationTable = 0,
01746     pcBYTE  BlueTranslationTable = 0,
01747     pcBYTE TransparencyTranslationTable = 0
01748 )
01749 {
01750     XA_DRAW_ENTER(TEXT("XaBitmap_PlotTile4"), pContext);
01751     INT32 nRetVal =
01752         g_XaFnsOriginal.pfnXaBitmap_PlotTile4(  pContext,
01753                                                 BitmapInfo, Bitmap, Style,
01754                                                 PointA, PointB, PointC, PointD,
01755                                                 TranslationTable,
01756                                                 RedTranslationTable,
01757                                                 GreenTranslationTable,
01758                                                 BlueTranslationTable,
01759                                                 TransparencyTranslationTable);
01760     XA_DRAW_LEAVE(pContext, 111);
01761     return nRetVal;
01762 }
01763 
01764 INT32 Xa3DDbg_SetTruePerspectiveFlag( pGCONTEXT pContext,BOOL Flag )
01765 {
01766     XA_DRAW_ENTER(TEXT("Xa3D_SetTruePerspectiveFlag"), pContext);
01767     INT32 nRetVal =
01768         g_XaFnsOriginal.pfnXa3D_SetTruePerspectiveFlag(pContext, Flag);
01769     XA_DRAW_LEAVE(pContext, 112);
01770     return nRetVal;
01771 }
01772 
01773 INT32 Xa3DDbg_DefineView(
01774     pGCONTEXT pContext,
01775     INT32 nObserverDistance,
01776     COLORREF Background /* =0 */,
01777     pcBITMAPINFOHEADER pTextureInfo /* =NULL */,
01778     pcBYTE pTextureBitmap /* =NULL */,
01779     pcBGRT pTextureColours /* =NULL */,
01780     UINT32 uTextureXOffset /* =0 */,
01781     UINT32 uTextureYOffset /* =0 */,
01782     pcBYTE pOverlayBitmap /* =NULL */,
01783     pcBITMAPINFOHEADER pShadowInfo /* =NULL */,
01784     pcBYTE pShadowBitmap /* =NULL */,
01785     COLORREF ShadowColour /* =0 */,
01786     BOOL bTransparent /* =NULL */,
01787     BOOL bAlpha /* =NULL */,
01788     BOOL bTransparentTexture /* =NULL */,
01789     UINT32 uFade /* =0 */
01790 )
01791 {
01792     XA_DRAW_ENTER(TEXT("Xa3D_DefineView"), pContext);
01793     INT32 nRetVal =
01794         g_XaFnsOriginal.pfnXa3D_DefineView(pContext,
01795                                             nObserverDistance, Background,
01796                                             pTextureInfo, pTextureBitmap, pTextureColours,
01797                                             uTextureXOffset, uTextureYOffset,
01798                                             pOverlayBitmap,
01799                                             pShadowInfo, pShadowBitmap, ShadowColour,
01800                                             bTransparent, bAlpha, bTransparentTexture,
01801                                             uFade);
01802     XA_DRAW_LEAVE(pContext, 113);
01803     return nRetVal;
01804 }
01805 
01806 INT32 Xa3DDbg_DefineTexture(
01807     pGCONTEXT pContext,
01808     pcBITMAP pBitmap,
01809     BOOL bScaleDown,
01810     BOOL bRepeating
01811 )
01812 {
01813     XA_DRAW_ENTER(TEXT("Xa3D_DefineTexture"), pContext);
01814     INT32 nRetVal =
01815         g_XaFnsOriginal.pfnXa3D_DefineTexture(pContext,
01816                                                 pBitmap, bScaleDown, bRepeating);
01817     XA_DRAW_LEAVE(pContext, 114);
01818     return nRetVal;
01819 }
01820 
01821 INT32 Xa3DDbg_Define2ndTexture(
01822     pGCONTEXT pContext,
01823     pcBITMAPINFOHEADER pBitmapInfo,
01824     pcBYTE pBitmap,
01825     pcBGRT pRGBIndex,
01826     BOOL bTint,
01827     COLORREF TintColour
01828 )
01829 {
01830     XA_DRAW_ENTER(TEXT("Xa3D_Define2ndTexture"), pContext);
01831     INT32 nRetVal =
01832         g_XaFnsOriginal.pfnXa3D_Define2ndTexture(   pContext,
01833                                                     pBitmapInfo, pBitmap, pRGBIndex,
01834                                                     bTint, TintColour);
01835     XA_DRAW_LEAVE(pContext, 115);
01836     return nRetVal;
01837 }
01838 
01839 INT32 Xa3DDbg_ConvertColourFormat( pcColour pSColour, pColour pDColour )
01840 {
01841     XA_DRAW_ENTER(TEXT("Xa3D_ConvertColourFormat"), NULL);
01842     INT32 nRetVal =
01843         g_XaFnsOriginal.pfnXa3D_ConvertColourFormat(pSColour, pDColour);
01844     XA_DRAW_LEAVE(NULL, 116);
01845     return nRetVal;
01846 }
01847 
01848 INT32 Xa3DDbg_AddTriangleToView(
01849     pGCONTEXT pContext,
01850     pcFVector3D pPointA, pcFVector3D pPointB, pcFVector3D pPointC,
01851     pcColour   pColourA, pcColour   pColourB, pcColour   pColourC,
01852     BOOL bForward
01853 )
01854 {
01855     XA_DRAW_ENTER(TEXT("Xa3D_AddTriangleToView"), pContext);
01856     INT32 nRetVal =
01857         g_XaFnsOriginal.pfnXa3D_AddTriangleToView(  pContext,
01858                                                     pPointA, pPointB, pPointC,
01859                                                     pColourA, pColourB, pColourC,
01860                                                     bForward);
01861     XA_DRAW_LEAVE(pContext, 117);
01862     return nRetVal;
01863 }
01864 
01865 INT32 Xa3DDbg_AddFlatTriangleToView(
01866     pGCONTEXT pContext,
01867     pcFVector3D pPointA, pcFVector3D pPointB, pcFVector3D pPointC,
01868     pcColour pFlatColour,
01869     BOOL bForward
01870 )
01871 {
01872     XA_DRAW_ENTER(TEXT("Xa3D_AddFlatTriangleToView"), pContext);
01873     INT32 nRetVal =
01874         g_XaFnsOriginal.pfnXa3D_AddFlatTriangleToView(  pContext,
01875                                                         pPointA, pPointB, pPointC,
01876                                                         pFlatColour, bForward);
01877     XA_DRAW_LEAVE(pContext, 118);
01878     return nRetVal;
01879 }
01880 
01881 INT32 Xa3DDbg_AddTextureToView(
01882     pGCONTEXT pContext,
01883     pcFVector3D pPointA, pcFVector3D pPointB, pcFVector3D pPointC,
01884     pcColour   pColourA, pcColour   pColourB, pcColour   pColourC,
01885     pcColour   pColourA2,pcColour   pColourB2,pcColour   pColourC2,
01886     pcFVector2D pPointA2,pcFVector2D pPointB2,pcFVector2D pPointC2,
01887     BOOL bForward
01888 )
01889 {
01890     XA_DRAW_ENTER(TEXT("Xa3D_AddTextureToView"), pContext);
01891     INT32 nRetVal =
01892         g_XaFnsOriginal.pfnXa3D_AddTextureToView(   pContext,
01893                                                     pPointA, pPointB, pPointC,
01894                                                     pColourA, pColourB, pColourC,
01895                                                     pColourA2, pColourB2, pColourC2,
01896                                                     pPointA2, pPointB2, pPointC2,
01897                                                     bForward);
01898     XA_DRAW_LEAVE(pContext, 119);
01899     return nRetVal;
01900 }
01901 
01902 INT32 Xa3DDbg_AddFlatTextureToView(
01903     pGCONTEXT pContext,
01904     pcFVector3D pPointA, pcFVector3D pPointB, pcFVector3D pPointC,
01905     pcColour pFlatColour,
01906     pcColour pFlatColour2,
01907     pcFVector2D pPointA2,pcFVector2D pPointB2,pcFVector2D pPointC2,
01908     BOOL bForward
01909 )
01910 {
01911     XA_DRAW_ENTER(TEXT("Xa3D_AddFlatTextureToView"), pContext);
01912     INT32 nRetVal =
01913         g_XaFnsOriginal.pfnXa3D_AddFlatTextureToView(   pContext,
01914                                                         pPointA, pPointB, pPointC,
01915                                                         pFlatColour, pFlatColour2,
01916                                                         pPointA2, pPointB2, pPointC2,
01917                                                         bForward);
01918     XA_DRAW_LEAVE(pContext, 120);
01919     return nRetVal;
01920 }
01921 
01922 INT32 Xa3DDbg_AddTexturesToView(
01923     pGCONTEXT pContext,
01924     pcFVector3D pPointA, pcFVector3D pPointB, pcFVector3D pPointC,
01925     pcColour   pColourA, pcColour   pColourB, pcColour   pColourC,
01926     pcColour   pColourA2,pcColour   pColourB2,pcColour   pColourC2,
01927     pcFVector2D pPointA2,pcFVector2D pPointB2,pcFVector2D pPointC2,
01928     pcFVector2D pPointA3,pcFVector2D pPointB3,pcFVector2D pPointC3,
01929     BOOL bForward
01930 )
01931 {
01932     XA_DRAW_ENTER(TEXT("Xa3D_AddTexturesToView"), pContext);
01933     INT32 nRetVal =
01934         g_XaFnsOriginal.pfnXa3D_AddTexturesToView(  pContext,
01935                                                     pPointA, pPointB, pPointC,
01936                                                     pColourA, pColourB, pColourC,
01937                                                     pColourA2, pColourB2, pColourC2,
01938                                                     pPointA2, pPointB2, pPointC2,
01939                                                     pPointA3, pPointB3, pPointC3,
01940                                                     bForward);
01941     XA_DRAW_LEAVE(pContext, 121);
01942     return nRetVal;
01943 }
01944 
01945 INT32 Xa3DDbg_AddFlatTexturesToView(
01946     pGCONTEXT pContext,
01947     pcFVector3D pPointA, pcFVector3D pPointB, pcFVector3D pPointC,
01948     pcColour pFlatColour,
01949     pcColour pFlatColour2,
01950     pcFVector2D pPointA2,pcFVector2D pPointB2,pcFVector2D pPointC2,
01951     pcFVector2D pPointA3,pcFVector2D pPointB3,pcFVector2D pPointC3,
01952     BOOL bForward
01953 )
01954 {
01955     XA_DRAW_ENTER(TEXT("Xa3D_AddFlatTexturesToView"), pContext);
01956     INT32 nRetVal =
01957         g_XaFnsOriginal.pfnXa3D_AddFlatTexturesToView(  pContext,
01958                                                         pPointA, pPointB, pPointC,
01959                                                         pFlatColour, pFlatColour2,
01960                                                         pPointA2, pPointB2, pPointC2,
01961                                                         pPointA3, pPointB3, pPointC3,
01962                                                         bForward);
01963     XA_DRAW_LEAVE(pContext, 122);
01964     return nRetVal;
01965 }
01966 
01967 INT32 Xa3DDbg_SetSideFaceFlag( pGCONTEXT pContext,BOOL bFlag )
01968 {
01969     XA_DRAW_ENTER(TEXT("Xa3D_SetSideFaceFlag"), pContext);
01970     INT32 nRetVal =
01971         g_XaFnsOriginal.pfnXa3D_SetSideFaceFlag(pContext, bFlag);
01972     XA_DRAW_LEAVE(pContext, 123);
01973     return nRetVal;
01974 }
01975 
01976 INT32 Xa3DDbg_GetViewBBox( pcGCONTEXT pContext,pRECT pBBox )
01977 {
01978     XA_DRAW_ENTER(TEXT("Xa3D_GetViewBBox"), pContext);
01979     INT32 nRetVal =
01980         g_XaFnsOriginal.pfnXa3D_GetViewBBox(pContext, pBBox);
01981     XA_DRAW_LEAVE(pContext, 124);
01982     return nRetVal;
01983 }
01984 
01985 INT32 Xa3DDbg_PlotView(pGCONTEXT pContext)
01986 {
01987     XA_DRAW_ENTER(TEXT("Xa3D_PlotView"), pContext);
01988     INT32 nRetVal =
01989         g_XaFnsOriginal.pfnXa3D_PlotView(pContext);
01990     XA_DRAW_LEAVE(pContext, 125);
01991     return nRetVal;
01992 }
01993 
01994 INT32 XaDrawDbg_SetAntialiasQualityFlag( pGCONTEXT pContext,BOOL Flag )
01995 {
01996     XA_DRAW_ENTER(TEXT("XaDraw_SetAntialiasQualityFlag"), pContext);
01997     INT32 nRetVal =
01998         g_XaFnsOriginal.pfnXaDraw_SetAntialiasQualityFlag(pContext, Flag);
01999     XA_DRAW_LEAVE(pContext, 126);
02000     return nRetVal;
02001 }
02002 
02003 /***********************************************************************************************
02004 
02005   g_XaFns is a table of pointers to the debug wrapper functions implemented above. This
02006   structure is used by the Xa*_ macros to call the wrapper functions.
02007 
02008 ***********************************************************************************************/
02009 
02010 BOOL g_bAddXaTimes = FALSE;
02011 
02012 LARGE_INTEGER g_Frequency = {0};
02013 
02014 LARGE_INTEGER g_XaTimes[127] = {{0}};
02015 
02016 DWORD g_XaCalls[127] = {0};
02017 
02018 TCHAR* g_XaNames[127] = {
02019     "GDraw_GetVersion",
02020     "GDraw_ClearLastError",
02021     "GDraw_GetLastError",
02022     "GDraw_GetLastErrorText",
02023     "GDraw_Initialise",
02024     "GDraw_CopyContext",
02025     "GColour_GetGraduationTableSize",
02026     "GColour_GetGraduationTableLength",
02027     "GColour_GetLongGraduationTableSize",
02028     "GColour_GetLongGraduationTableLength",
02029     "GColour_GetTransparentGraduationTableSize",
02030     "GColour_GetTransparentGraduationTableLength",
02031     "GColour_GetLongTransparentGraduationTableSize",
02032     "GColour_GetLongTransparentGraduationTableLength",
02033     "GDraw_SetMemoryHandlers",
02034     "GDraw_SetStackLimit",
02035     "GDraw_SetStackSize",
02036     "GDraw_Terminate",
02037     "GDraw_Clean",
02038     "GDraw_ContextLength",
02039     "GDraw_ComparePalettes",
02040     "GColour_SelectPalette",
02041     "GColour_InitialiseWithPalette",
02042     "GColour_SetDitherStyle",
02043     "GColour_SetTileSmoothingFlag",
02044     "GColour_SetTileFilteringFlag",
02045     "GBitmap_Sharpen",
02046     "GBitmap_Blur   ",
02047     "GColour_SetHalftoneOrigin",
02048     "GColour_SetColour",
02049     "GColour_SetSolidColour",
02050     "GColour_SetWordColour",
02051     "GColour_SetInvert",
02052     "GColour_SetTransparency",
02053     "GColour_SetTransparencyLookupTable",
02054     "GColour_ReturnBrush",
02055     "GColour_ReturnBrushRGB",
02056     "GColour_AddToGraduationTable",
02057     "GColour_BuildGraduationTable",
02058     "GColour_BuildGraduationTable32",
02059     "GColour_BuildTransparencyTable",
02060     "GColour_SetGraduation",
02061     "GColour_SetGraduation4",
02062     "GColour_Set3WayGraduation",
02063     "GColour_Set3WayGraduation4",
02064     "GColour_Set4WayGraduation",
02065     "GColour_Set4WayGraduation4",
02066     "GColour_SetGourand",
02067     "GColour_SetTransparentGraduation",
02068     "GColour_SetTransparentGraduation4",
02069     "GColour_SetTransparent3WayGraduation",
02070     "GColour_SetTransparent3WayGraduation4",
02071     "GColour_SetTransparent4WayGraduation",
02072     "GColour_SetTransparent4WayGraduation4",
02073     "GBitmap_SetBias",
02074     "GBitmap_SetGain",
02075     "GBitmap_SetContone",
02076     "GBitmap_SetInputRange",
02077     "GBitmap_SetOutputRange",
02078     "GColour_SetTilePattern",
02079     "GColour_SetTilePattern4",
02080     "GColour_SetTransparentTilePattern",
02081     "GColour_SetTransparentTilePattern4",
02082     "GColour_ConvertBitmap",
02083     "GColour_SetConversionPalette",
02084     "GColour_SetMaxDiffusionError",
02085     "GColour_ScaleBitmap",
02086     "GColour_SetGreyConversionValues",
02087     "GColour_ConvertHSVtoRGB",
02088     "GColour_ConvertRGBtoHSV",
02089     "GColour_SetSeparationTables",
02090     "GColour_SetBitmapConversionTable",
02091     "GDraw_SetDIBitmap",
02092     "GDraw_SetInvertedDIBitmap",
02093     "GDraw_SetMatrix",
02094     "GDraw_MaxScale ",
02095     "GDraw_GetMaxBitmapWidth",
02096     "GDraw_GetMaxBitmapDepth",
02097     "GDraw_SetAntialiasFlag",
02098     "GDraw_SetDashAdjustmentFlag",
02099     "GDraw_SetHintingFlag",
02100     "GDraw_SetFlatness",
02101     "GDraw_SetMiterLimit",
02102     "GDraw_FillRectangle",
02103     "GDraw_FillPoint",
02104     "GDraw_FillPath",
02105     "GDraw_InitialiseFillPath",
02106     "GDraw_FillPathLine",
02107     "GDraw_DoFillPath",
02108     "GDraw_FillTriangle",
02109     "GDraw_HintPath",
02110     "GDraw_StrokePath",
02111     "GDraw_StrokePathToPath",
02112     "GDraw_CalcStrokeBBox",
02113     "GDraw_IsOverlap",
02114     "GDraw_IsStrokeOverlap",
02115     "GDraw_GetStatistics",
02116     "GDraw_MakeRegion",
02117     "GDraw_MakeUnclippedRegion",
02118     "GDraw_FillRegion",
02119     "GDraw_ClipRectangle",
02120     "GDraw_DeviceClipRectangle",
02121     "GDraw_GetDeviceClipRectangle",
02122     "GDraw_ClipRegion",
02123     "GDraw_GetClipRegion",
02124     "GDraw_CalcSimpleBBox",
02125     "GDraw_CalcBBox",
02126     "GDraw_TransformPath",
02127     "GDraw_ScrollBitmap",
02128     "GDraw_ClearChangedBBox",
02129     "GDraw_GetChangedBBox",
02130     "GDraw_SetChangedBBox",
02131     "GDraw_SetBevelContrast ",
02132     "GDraw_SetBevelLightness",
02133     "GDraw_SetBevelDarkness ",
02134     "GDraw_TranslateBevelValue",
02135     "GBitmap_PlotTile",
02136     "GBitmap_PlotTile4",
02137     "G3D_SetTruePerspectiveFlag",
02138     "G3D_DefineView",
02139     "G3D_DefineTexture",
02140     "G3D_Define2ndTexture",
02141     "G3D_ConvertColourFormat",
02142     "G3D_AddTriangleToView",
02143     "G3D_AddFlatTriangleToView",
02144     "G3D_AddTextureToView",
02145     "G3D_AddFlatTextureToView",
02146     "G3D_AddTexturesToView",
02147     "G3D_AddFlatTexturesToView",
02148     "G3D_SetSideFaceFlag",
02149     "G3D_GetViewBBox",
02150     "G3D_PlotView",
02151     "GDraw_SetAntialiasQualityFlag"
02152 };
02153 
02154 XA_DRAW_FNS g_XaFns =
02155 {
02156     XaDrawDbg_GetVersion,
02157     XaDrawDbg_ClearLastError,
02158     XaDrawDbg_GetLastError,
02159     XaDrawDbg_GetLastErrorText,
02160     XaDrawDbg_Initialise,
02161     XaDrawDbg_CopyContext,
02162     XaColourDbg_GetGraduationTableSize,
02163     XaColourDbg_GetGraduationTableLength,
02164     XaColourDbg_GetLongGraduationTableSize,
02165     XaColourDbg_GetLongGraduationTableLength,
02166     XaColourDbg_GetTransparentGraduationTableSize,
02167     XaColourDbg_GetTransparentGraduationTableLength,
02168     XaColourDbg_GetLongTransparentGraduationTableSize,
02169     XaColourDbg_GetLongTransparentGraduationTableLength,
02170     XaDrawDbg_SetMemoryHandlers,
02171     XaDrawDbg_SetStackLimit,
02172     XaDrawDbg_SetStackSize,
02173     XaDrawDbg_Terminate,
02174     XaDrawDbg_Clean,
02175     XaDrawDbg_ContextLength,
02176     XaDrawDbg_ComparePalettes,
02177     XaColourDbg_SelectPalette,
02178     XaColourDbg_InitialiseWithPalette,
02179     XaColourDbg_SetDitherStyle,
02180     XaColourDbg_SetTileSmoothingFlag,
02181     XaColourDbg_SetTileFilteringFlag,
02182     XaColourDbg_Sharpen,
02183     XaColourDbg_Blur   ,
02184     XaColourDbg_SetHalftoneOrigin,
02185     XaColourDbg_SetColour,
02186     XaColourDbg_SetSolidColour,
02187     XaColourDbg_SetWordColour,
02188     XaColourDbg_SetInvert,
02189     XaColourDbg_SetTransparency,
02190     XaColourDbg_SetTransparencyLookupTable,
02191     XaColourDbg_ReturnBrush,
02192     XaColourDbg_ReturnBrushRGB,
02193     XaColourDbg_AddToGraduationTable,
02194     XaColourDbg_BuildGraduationTable,
02195     XaColourDbg_BuildGraduationTable32,
02196     XaColourDbg_BuildTransparencyTable,
02197     XaColourDbg_SetGraduation,
02198     XaColourDbg_SetGraduation4,
02199     XaColourDbg_Set3WayGraduation,
02200     XaColourDbg_Set3WayGraduation4,
02201     XaColourDbg_Set4WayGraduation,
02202     XaColourDbg_Set4WayGraduation4,
02203     XaColourDbg_SetGourand,
02204     XaColourDbg_SetTransparentGraduation,
02205     XaColourDbg_SetTransparentGraduation4,
02206     XaColourDbg_SetTransparent3WayGraduation,
02207     XaColourDbg_SetTransparent3WayGraduation4,
02208     XaColourDbg_SetTransparent4WayGraduation,
02209     XaColourDbg_SetTransparent4WayGraduation4,
02210     XaBitmapDbg_SetBias,
02211     XaBitmapDbg_SetGain,
02212     XaBitmapDbg_SetContone,
02213     XaBitmapDbg_SetInputRange,
02214     XaBitmapDbg_SetOutputRange,
02215     XaColourDbg_SetTilePattern,
02216     XaColourDbg_SetTilePattern4,
02217     XaColourDbg_SetTransparentTilePattern,
02218     XaColourDbg_SetTransparentTilePattern4,
02219     XaColourDbg_ConvertBitmap,
02220     XaColourDbg_SetConversionPalette,
02221     XaColourDbg_SetMaxDiffusionError,
02222     XaColourDbg_ScaleBitmap,
02223     XaColourDbg_SetGreyConversionValues,
02224     XaColourDbg_ConvertHSVtoRGB,
02225     XaColourDbg_ConvertRGBtoHSV,
02226     XaColourDbg_SetSeparationTables,
02227     XaColourDbg_SetBitmapConversionTable,
02228     XaDrawDbg_SetDIBitmap,
02229     XaDrawDbg_SetInvertedDIBitmap,
02230     XaDrawDbg_SetMatrix,
02231     XaDrawDbg_MaxScale ,
02232     XaDrawDbg_GetMaxBitmapWidth,
02233     XaDrawDbg_GetMaxBitmapDepth,
02234     XaDrawDbg_SetAntialiasFlag,
02235     XaDrawDbg_SetDashAdjustmentFlag,
02236     XaDrawDbg_SetHintingFlag,
02237     XaDrawDbg_SetFlatness,
02238     XaDrawDbg_SetMiterLimit,
02239     XaDrawDbg_FillRectangle,
02240     XaDrawDbg_FillPoint,
02241     XaDrawDbg_FillPath,
02242     XaDrawDbg_InitialiseFillPath,
02243     XaDrawDbg_FillPathLine,
02244     XaDrawDbg_DoFillPath,
02245     XaDrawDbg_FillTriangle,
02246     XaDrawDbg_HintPath,
02247     XaDrawDbg_StrokePath,
02248     XaDrawDbg_StrokePathToPath,
02249     XaDrawDbg_CalcStrokeBBox,
02250     XaDrawDbg_IsOverlap,
02251     XaDrawDbg_IsStrokeOverlap,
02252     XaDrawDbg_GetStatistics,
02253     XaDrawDbg_MakeRegion,
02254     XaDrawDbg_MakeUnclippedRegion,
02255     XaDrawDbg_FillRegion,
02256     XaDrawDbg_ClipRectangle,
02257     XaDrawDbg_DeviceClipRectangle,
02258     XaDrawDbg_GetDeviceClipRectangle,
02259     XaDrawDbg_ClipRegion,
02260     XaDrawDbg_GetClipRegion,
02261     XaDrawDbg_CalcSimpleBBox,
02262     XaDrawDbg_CalcBBox,
02263     XaDrawDbg_TransformPath,
02264     XaDrawDbg_ScrollBitmap,
02265     XaDrawDbg_ClearChangedBBox,
02266     XaDrawDbg_GetChangedBBox,
02267     XaDrawDbg_SetChangedBBox,
02268     XaDrawDbg_SetBevelContrast ,
02269     XaDrawDbg_SetBevelLightness,
02270     XaDrawDbg_SetBevelDarkness ,
02271     XaDrawDbg_TranslateBevelValue,
02272     XaSpriteDbg_PlotTile,
02273     XaSpriteDbg_PlotTile4,
02274     Xa3DDbg_SetTruePerspectiveFlag,
02275     Xa3DDbg_DefineView,
02276     Xa3DDbg_DefineTexture,
02277     Xa3DDbg_Define2ndTexture,
02278     Xa3DDbg_ConvertColourFormat,
02279     Xa3DDbg_AddTriangleToView,
02280     Xa3DDbg_AddFlatTriangleToView,
02281     Xa3DDbg_AddTextureToView,
02282     Xa3DDbg_AddFlatTextureToView,
02283     Xa3DDbg_AddTexturesToView,
02284     Xa3DDbg_AddFlatTexturesToView,
02285     Xa3DDbg_SetSideFaceFlag,
02286     Xa3DDbg_GetViewBBox,
02287     Xa3DDbg_PlotView,
02288     XaDrawDbg_SetAntialiasQualityFlag
02289 };
02290 
02291 #endif // CONFIG_DEBUG_XADRAW

Generated on Sat Nov 10 03:47:23 2007 for Camelot by  doxygen 1.4.4