#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 /// Image loading flags #define IMAGE_ICON 1 #define LDMICRO_ICON "ldmicro.ico" /// 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 typedef WORD ATOM; #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 HFONT; typedef PVOID HANDLE; typedef HANDLE HINSTANCE; typedef HANDLE HDC; typedef GtkWidget *HWID; typedef GtkWidget *HMENU; typedef GtkWindow *HWND; typedef GtkListStore *HLIST; typedef GtkApplication *HAPP; typedef GtkTreeViewColumn *HTVC; typedef GdkPixbuf *HICON; /// 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; /// Classes typedef class tagColorReferance: public GdkRGBA{ public: tagColorReferance() { this->red = 0.0; this->green = 0.0; this->blue = 0.0; this->alpha = 1.0; } tagColorReferance(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; } GdkRGBA* getThis() { return this; } } COLORREF, *HBRUSH; /// 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; typedef struct tagWNDCLASSEX { UINT cbSize; UINT style; // WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; // HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; HICON hIconSm; } WNDCLASSEX, *PWNDCLASSEX; /// Variables extern std::vector HeapRecord; extern std::vector WindClassRecord; /// 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); BOOL RegisterClassEx(const WNDCLASSEX *lpwcx); HANDLE LoadImage( HINSTANCE hinst, LPCTSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad ); /// functions to be ported void OutputDebugString(char*); double GetTickCount(void); #endif