57 #define HEHT_LEFTMARGIN (0x1) 58 #define HEHT_ADDRESS (0x2) 59 #define HEHT_ADDRESSSPACING (0x3) 60 #define HEHT_HEXDUMP (0x4) 61 #define HEHT_HEXDUMPSPACING (0x5) 62 #define HEHT_ASCIIDUMP (0x6) 63 #define HEHT_RIGHTMARGIN (0x7) 193 INT i, isave, i0, i1,
x;
223 if(ScrollPos +
First == 0)
238 Last =
min(hed->
nLines - ScrollPos, Last);
269 if (i0 <=
i &&
i < i1)
294 hex[0] = ((
hex[0] &
L'\x007f') >=
L' ' ?
hex[0] :
L'.');
295 if (i0 <=
i &&
i < i1)
387 EditPos->
y = si.
nPos;
799 if(si.
nPos != ScrollY)
927 si.
nPos += cyMoveLines;
931 if(si.
nPos != ScrollY)
1165 else if (hed->
Index > 0)
1280 if (0x20 <= ch && ch <= 0xFF)
1314 if ((
'0' <= ch && ch <=
'9') || (
'A' <= ch && ch <=
'F') ||
1315 (
'a' <= ch && ch <=
'f'))
1335 if (
'0' <= ch && ch <=
'9')
1337 else if (
'A' <= ch && ch <=
'F')
1339 else if (
'a' <= ch && ch <=
'f')
1354 if (
'0' <= ch && ch <=
'9')
1356 else if (
'A' <= ch && ch <=
'F')
1357 buf[hed->
Index] = (ch + 10 -
'A') << 4;
1358 else if (
'a' <= ch && ch <=
'f')
1359 buf[hed->
Index] = (ch + 10 -
'a') << 4;
1390 if (
x == -1 &&
y == -1)
1468 UINT nScrollLines = 3;
HGDIOBJ WINAPI GetStockObject(_In_ int)
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
static BOOL HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR wch)
INT nVisibleLinesComplete
BOOL NTAPI LocalUnlock(HLOCAL hMem)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
HDC WINAPI GetDC(_In_opt_ HWND)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
static LRESULT HEXEDIT_HEM_COPYBUFFER(PHEXEDIT_DATA hed, PVOID Buffer, DWORD Size)
#define UNREFERENCED_PARAMETER(P)
UINT WINAPI RegisterClipboardFormatW(_In_ LPCWSTR)
static BOOL HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
#define HexEdit_SetMaxBufferSize(hWnd, Size)
static LRESULT HEXEDIT_WM_SIZE(PHEXEDIT_DATA hed, DWORD sType, WORD NewWidth, WORD NewHeight)
struct HEXEDIT_DATA * PHEXEDIT_DATA
BOOL WINAPI ShowScrollBar(_In_ HWND, _In_ int, _In_ BOOL)
BOOL WINAPI UpdateWindow(_In_ HWND)
BOOL WINAPI UnregisterHexEditorClass(HINSTANCE hInstance)
static VOID HEXEDIT_Paste(PHEXEDIT_DATA hed)
static LRESULT HEXEDIT_WM_PAINT(PHEXEDIT_DATA hed)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
IN PVOID IN PVOID IN USHORT IN USHORT Size
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
static LRESULT HEXEDIT_HEM_SETMAXBUFFERSIZE(PHEXEDIT_DATA hed, DWORD nMaxSize)
GLint GLint GLint GLint GLint x
HWND WINAPI SetFocus(_In_opt_ HWND)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
struct _WNDCLASSEXW WNDCLASSEXW
SIZE_T NTAPI LocalSize(HLOCAL hMem)
static LRESULT HEXEDIT_WM_GETFONT(PHEXEDIT_DATA hed)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
GLenum GLuint GLsizei bufsize
#define ID_HEXEDIT_DELETE
static const char hex[16]
#define ID_HEXEDIT_SELECT_ALL
static VOID HEXEDIT_Update(PHEXEDIT_DATA hed)
HANDLE WINAPI SetClipboardData(_In_ UINT, _In_opt_ HANDLE)
DWORD WINAPI GetSysColor(_In_ int)
static VOID HEXEDIT_Cut(PHEXEDIT_DATA hed)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define HEM_SETMAXBUFFERSIZE
BOOL WINAPI ScrollWindow(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT)
static UINT ClipboardFormatID
static LRESULT HEXEDIT_WM_KILLFOCUS(PHEXEDIT_DATA hed)
GLenum GLuint GLenum GLsizei const GLchar * buf
int WINAPI SetBkMode(_In_ HDC, _In_ int)
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI CreateCaret(_In_ HWND, _In_opt_ HBITMAP, _In_ int, _In_ int)
static LRESULT HEXEDIT_WM_SETFOCUS(PHEXEDIT_DATA hed)
static VOID HEXEDIT_Delete(PHEXEDIT_DATA hed)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
LRESULT CALLBACK HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
HWND WINAPI GetCapture(void)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
static LRESULT HEXEDIT_WM_SETFONT(PHEXEDIT_DATA hed, HFONT hFont, BOOL bRedraw)
static LRESULT HEXEDIT_WM_GETDLGCODE(LPMSG Msg)
static LRESULT HEXEDIT_WM_NCCREATE(HWND hWnd, CREATESTRUCT *cs)
#define COLOR_HIGHLIGHTTEXT
SHORT WINAPI GetKeyState(_In_ int)
struct tagSCROLLINFO SCROLLINFO
static VOID HEXEDIT_Copy(PHEXEDIT_DATA hed)
BOOL WINAPI SystemParametersInfoW(_In_ UINT, _In_ UINT, _Inout_opt_ PVOID, _In_ UINT)
BOOL WINAPI EmptyClipboard(void)
#define HEHT_HEXDUMPSPACING
static const TBBUTTON Buttons[]
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
_In_ WDFCOLLECTION _In_ ULONG Index
#define HEHT_ADDRESSSPACING
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
static LRESULT HEXEDIT_HEM_LOADBUFFER(PHEXEDIT_DATA hed, PVOID Buffer, DWORD Size)
static DWORD HEXEDIT_IndexFromPoint(PHEXEDIT_DATA hed, POINTS pt, DWORD Hit, POINT *EditPos, BOOL *EditField)
static LRESULT HEXEDIT_WM_VSCROLL(PHEXEDIT_DATA hed, WORD ThumbPosition, WORD SbCmd)
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
static LRESULT HEXEDIT_WM_NCDESTROY(PHEXEDIT_DATA hed)
BOOL WINAPI CloseClipboard(void)
static VOID HEXEDIT_SelectAll(PHEXEDIT_DATA hed)
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
static HFONT HEXEDIT_GetFixedFont(VOID)
GLenum const GLvoid * addr
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
BOOL WINAPI GetUpdateRect(_In_ HWND, _Out_opt_ LPRECT, _In_ BOOL)
SHORT WINAPI GetAsyncKeyState(_In_ int)
#define memcpy(s1, s2, n)
#define HEX_EDIT_CLASS_NAME
static VOID HEXEDIT_MoveCaret(PHEXEDIT_DATA hed, BOOL Scroll)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI TextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_reads_(c) LPCWSTR lpString, _In_ int c)
GLint GLint GLsizei GLsizei height
ATOM WINAPI RegisterHexEditorClass(HINSTANCE hInstance)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
static LRESULT HEXEDIT_WM_MOUSEWHEEL(PHEXEDIT_DATA hed, int cyMoveLines, WORD ButtonsDown, LPPOINTS MousePos)
HWND WINAPI SetCapture(_In_ HWND hWnd)
static const WCHAR ClipboardFormatName[]
HLOCAL NTAPI LocalReAlloc(HLOCAL hMem, SIZE_T dwBytes, UINT uFlags)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI DestroyCaret(void)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
LPVOID NTAPI LocalLock(HLOCAL hMem)
#define CreateFontIndirect
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
GLint GLint GLint GLint GLint GLint y
HANDLE WINAPI GetClipboardData(_In_ UINT)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HMODULE MODULEINFO DWORD cb
static LRESULT HEXEDIT_WM_CREATE(PHEXEDIT_DATA hed)
BOOL WINAPI ReleaseCapture(void)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static LRESULT HEXEDIT_WM_MOUSEMOVE(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI SetForegroundWindow(_In_ HWND)
BOOL WINAPI ShowCaret(_In_opt_ HWND)
static DWORD HEXEDIT_HitRegionTest(PHEXEDIT_DATA hed, POINTS pt)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI OpenClipboard(_In_opt_ HWND)
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
static LRESULT HEXEDIT_WM_LBUTTONUP(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
static VOID HEXEDIT_PaintLines(PHEXEDIT_DATA hed, HDC hDC, DWORD ScrollPos, DWORD First, DWORD Last, RECT *rc)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
static VOID HEXEDIT_WM_CONTEXTMENU(PHEXEDIT_DATA hed, INT x, INT y)
BOOL WINAPI SetCaretPos(_In_ int, _In_ int)
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
#define HeapFree(x, y, z)
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
static LRESULT HEXEDIT_WM_LBUTTONDOWN(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
struct task_struct * current