diff options
Diffstat (limited to 'ldmicro/lib/linuxUI/linuxLD.h')
-rw-r--r-- | ldmicro/lib/linuxUI/linuxLD.h | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/ldmicro/lib/linuxUI/linuxLD.h b/ldmicro/lib/linuxUI/linuxLD.h new file mode 100644 index 0000000..8a3e3a2 --- /dev/null +++ b/ldmicro/lib/linuxUI/linuxLD.h @@ -0,0 +1,212 @@ +#ifndef __LINUX_LD__ +#define __LINUX_LD__ + +#include "linuxUI.h" +#include <ctype.h> +#include <vector> +#include <math.h> +#include <algorithm> +#include <sys/mman.h> + +/// 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" + +/// Macro functions +#define max(_A, _B) std::max(_A, _B) +// #define min(_A, _B) std::min(_A, _B) + +/// 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 HMODULE; +typedef PVOID HHOOK; + +typedef PVOID HANDLE; +typedef HANDLE HINSTANCE; +typedef HANDLE HGDIOBJ; + +typedef cairo_t *HCRDC; +typedef GtkWidget *HWID; +typedef GtkWidget *HMENU; +typedef GtkWindow *HWND; +typedef GtkListStore *HLIST; +typedef GtkApplication *HAPP; +typedef GtkTreeViewColumn *HTVC; +typedef GdkPixbuf *HICON; +typedef GdkRectangle GDRECT; +typedef GdkRectangle *PGDRECT; + +/// 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<HEAPCHUNCK> 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 FontTag { + int nHeight; + int nWidth; + int nOrientation; + int fnWeight; + DWORD fdwItalic; + LPCTSTR lpszFace; +} *HFONT, FONT; + +typedef struct tagLOGBRUSH { + UINT lbStyle; + COLORREF lbColor; +// ULONG_PTR lbHatch; +} LOGBRUSH, *PLOGBRUSH; + +typedef struct _RECT { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECT, *PRECT; + +/// Variables +extern std::vector<HEAPRECORD> 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); + +HICON LoadImage( + HINSTANCE hinst, + LPCTSTR lpszName, + UINT uType, + int cxDesired, + int cyDesired, + UINT fuLoad +); + +void RECT_to_GDRECT( + const RECT *rc, + GDRECT *gdrc); + +/// functions to be ported +void OutputDebugString(char*); +double GetTickCount(void); + +#endif
\ No newline at end of file |