Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

LgiOs.h

00001 //
00002 //      FILE:           LgiOs.h (Win32)
00003 //      AUTHOR:         Matthew Allen
00004 //      DATE:           24/9/99
00005 //      DESCRIPTION:    Lgi Win32 OS defines
00006 //
00007 //      Copyright (C) 1999, Matthew Allen
00008 //              fret@memecode.com
00009 //
00010 
00011 #include "windows.h"
00012 // WIN32 defined here
00013 #include "commctrl.h"
00014 
00015 // Stupid mouse wheel defines don't work. hmmm
00016 #define WM_MOUSEWHEEL               0x020A
00017 #define WHEEL_DELTA                 120
00018 #define SPI_GETWHEELSCROLLLINES     104
00019 
00020 // directories
00021 #define DIR_CHAR                    '\\'
00022 #define DIR_STR                     "\\"
00023 
00024 #define IsSlash(c)                  (((c)=='/')OR((c)=='\\'))
00025 #define IsQuote(c)                  (((c)=='\"')OR((c)=='\''))
00026 
00027 // Win32 Memory Handler
00028 class LgiClass GMem
00029 {
00030     int64 Size;
00031     HGLOBAL hMem;
00032     void *pMem;
00033 
00034 public:
00035     GMem(int64 size)
00036     {
00037         Size = size;
00038         hMem = GlobalAlloc(GMEM_FIXED, Size);
00039         pMem = 0;
00040     }
00041 
00042     GMem(HGLOBAL hmem)
00043     {
00044         hMem = hmem;
00045         Size = GlobalSize(hMem);
00046         pMem = 0;
00047     }
00048 
00049     ~GMem()
00050     {
00051         if (pMem)
00052         {
00053             GlobalUnlock(hMem);
00054             pMem = 0;
00055         }
00056         GlobalFree(hMem);
00057         hMem = 0;
00058     }
00059 
00060     void *Lock()
00061     {
00062         return pMem = GlobalLock(hMem);
00063     }
00064 
00065     void UnLock()
00066     {
00067         if (pMem)
00068         {
00069             GlobalUnlock(hMem);
00070             pMem = 0;
00071         }
00072     }
00073 
00074     HGLOBAL Handle() { return hMem; }
00075     int64 GetSize() { return Size; }
00076 };
00077 

Generated on Wed Oct 26 14:46:50 2005 for Lgi by  doxygen 1.4.1