#ifndef __LINUX_LD__ #define __LINUX_LD__ #include "linuxUI.h" #include #include #include #include /// common windows referances for linux /// definitions #define MAX_PATH PATH_MAX /// CALLBACK or __stdcall os defined empty #define CALLBACK #define CONST const #define HEAP_ZERO_MEMORY 0x00000008 /// Typedefs //typedef int64_t __int64; typedef bool BOOL; typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned int DWORD; typedef unsigned int UINT; typedef size_t SIZE_T; typedef long LONG; typedef wchar_t WCHAR; typedef char CHAR; typedef CONST WCHAR *LPCWSTR; typedef CONST CHAR *LPCSTR; /// should be __nullterminated #ifdef UNICODE typedef LPCWSTR LPCTSTR; #else typedef LPCSTR LPCTSTR; #endif typedef WCHAR *LPWSTR; typedef CHAR *LPSTR; #ifdef UNICODE typedef LPWSTR LPTSTR; #else typedef LPSTR LPTSTR; #endif typedef void *PVOID; typedef void *LPVOID; typedef PVOID HFONT; typedef PVOID HMODULE; typedef PVOID HHOOK; typedef PVOID HBRUSH; typedef PVOID HFONT; typedef PVOID HANDLE; typedef HANDLE HINSTANCE; typedef HANDLE HDC; typedef GtkWidget *HWID; typedef GtkWidget *HMENU; typedef GtkWindow *HWND; typedef GtkApplication *HAPP; /// Check if system is x64 or x86 #if defined(__UNIX64) typedef uint64_t UINT_PTR; #else typedef unsigned int UINT_PTR; #endif typedef UINT_PTR WPARAM; #if defined(__UNIX64) typedef __int64_t LONG_PTR; #else typedef long LONG_PTR; #endif typedef LONG_PTR LPARAM; typedef LONG_PTR LRESULT; /// Custom classes class COLORREF : public GdkRGBA{ public: COLORREF() { this->red = 0.0; this->green = 0.0; this->blue = 0.0; this->alpha = 1.0; } COLORREF(int r, int g, int b) { this->red = r/255.0; this->green = g/255.0; this->blue = b/255.0; this->alpha = 1.0; } }; /// Custom structures typedef struct HeapRecordChunckTag{ PVOID Chunck; SIZE_T dwSize; } HEAPCHUNCK; typedef struct HeapRecordTag{ PVOID hHeap; DWORD HeapID; std::vector Element; SIZE_T dwMaximumSize; SIZE_T dwSize; SIZE_T dwAllocatedSizeOffset; } HEAPRECORD; typedef struct tagSCROLLINFO { UINT cbSize; UINT fMask; int nMin; int nMax; UINT nPage; int nPos; int nTrackPos; } SCROLLINFO, *LPCSCROLLINFO; typedef struct tagNMHDR { HWND hwndFrom; UINT_PTR idFrom; UINT code; } NMHDR; /// Variables extern std::vector HeapRecord; /// Functions HANDLE HeapCreate( DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize); LPVOID HeapAlloc( HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes); BOOL HeapFree( HANDLE hHeap, DWORD dwFlags, LPVOID lpMem); /// functions to be ported void OutputDebugString(char*); double GetTickCount(void); #endif