00001 //--------------------------------------------------------------------------- 00002 /// \file CATOSFuncs.h 00003 /// \brief Functions that can be abstracted between platforms directly 00004 /// \ingroup CAT 00005 /// 00006 /// These functions have direct (or nearly direct) correlations between 00007 /// platforms, so we can abstract them at a function level to keep our 00008 /// classes cleaner. 00009 /// 00010 /// Or at least I hope they have direct correlations.. if not, then 00011 /// remove them and put them back in the class(es) that call them. 00012 /// 00013 /// Copyright (c) 2003-2008 by Michael Ellison. 00014 /// See COPYING.txt for the \ref gaslicense License (MIT License). 00015 /// 00016 // $Author: mikeellison $ 00017 // $Date: 2008-01-29 07:01:23 -0600 (Tue, 29 Jan 2008) $ 00018 // $Revision: $ 00019 // $NoKeywords: $ 00020 //--------------------------------------------------------------------------- 00021 #ifndef CATOSFuncs_H_ 00022 #define CATOSFuncs_H_ 00023 00024 #include "CATTypes.h" 00025 #include "CATResult.h" 00026 #include "CATDebug.h" 00027 #include "CATUtil.h" 00028 #include "CATRect.h" 00029 #include "CATString.h" 00030 00031 class CATWindow; 00032 class CATImage; 00033 /// CATInvalidateRect invalidates a rectangular region within a 00034 /// window so that it is drawn on the next paint. 00035 /// 00036 /// \param window - OS defined window to invalidate 00037 /// \param rect - Rectangle in window to mark as invalid. 00038 void CATInvalidateRect( CATWND window, 00039 const CATRect& rect ); 00040 00041 /// CATPostQuit() posts a quit message to a GUI interface... 00042 void CATPostQuit( CATInt32 exitCode); 00043 00044 00045 /// CATExecute() executes a shell command. Be careful. 00046 CATResult CATExecute(const CATWChar* shellCommand, CATWND wnd = 0); 00047 00048 CATResult OSLoadIconImage(const CATWChar* appPath,CATICON* image, CATString& appName); 00049 CATResult OSGetWindowIcon(const CATWChar* windowName,CATICON* icon); 00050 00051 CATMODKEY GetModifierKeys(); 00052 00053 CATRect GetPrimaryMonitorRect(); 00054 00055 CATString GetInstallLoc(const CATWChar* uninstKey); 00056 00057 // Snags a value string from HKLM\\regString - full path to value, including value name. 00058 CATString GetSoftwareReg(const CATWChar* regString); 00059 00060 // Implement these.................... 00061 // GGUnicodeToASCII 00062 // GGASCIIToUnicode 00063 00064 #endif // CATOSFuncs_H_ 00065 00066