blob: c7ce92ea92467700b3323d8b893da169c8ac1395 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#ifndef __LINUX_LD__
#define __LINUX_LD__
#include "linuxUI.h"
#include <ctype.h>
#include <vector>
#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
/// 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<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;
/// 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);
/// functions to be ported
void OutputDebugString(char*);
double GetTickCount(void);
#endif
|