44#define HEHT_LEFTMARGIN (0x1)
45#define HEHT_ADDRESS (0x2)
46#define HEHT_ADDRESSSPACING (0x3)
47#define HEHT_HEXDUMP (0x4)
48#define HEHT_HEXDUMPSPACING (0x5)
49#define HEHT_ASCIIDUMP (0x6)
50#define HEHT_RIGHTMARGIN (0x7)
180 INT i, isave, i0, i1,
x;
210 if(ScrollPos +
First == 0)
225 Last =
min(hed->
nLines - ScrollPos, Last);
256 if (i0 <=
i &&
i < i1)
281 hex[0] = ((
hex[0] &
L'\x007f') >=
L' ' ?
hex[0] :
L'.');
282 if (i0 <=
i &&
i < i1)
374 EditPos->
y = si.
nPos;
786 if(si.
nPos != ScrollY)
914 si.
nPos += cyMoveLines;
918 if(si.
nPos != ScrollY)
1152 else if (hed->
Index > 0)
1267 if (0x20 <= ch && ch <= 0xFF)
1301 if ((
'0' <= ch && ch <=
'9') || (
'A' <= ch && ch <=
'F') ||
1302 (
'a' <= ch && ch <=
'f'))
1322 if (
'0' <= ch && ch <=
'9')
1324 else if (
'A' <= ch && ch <=
'F')
1326 else if (
'a' <= ch && ch <=
'f')
1341 if (
'0' <= ch && ch <=
'9')
1343 else if (
'A' <= ch && ch <=
'F')
1344 buf[hed->
Index] = (ch + 10 -
'A') << 4;
1345 else if (
'a' <= ch && ch <=
'f')
1346 buf[hed->
Index] = (ch + 10 -
'a') << 4;
1377 if (
x == -1 &&
y == -1)
1455 UINT nScrollLines = 3;
#define ID_HEXEDIT_DELETE
#define ID_HEXEDIT_SELECT_ALL
#define HeapFree(x, y, z)
static VOID 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)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei GLsizei height
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum const GLvoid * addr
GLenum GLuint GLsizei bufsize
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
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
HLOCAL NTAPI LocalReAlloc(HLOCAL hMem, SIZE_T dwBytes, UINT uFlags)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
LPVOID NTAPI LocalLock(HLOCAL hMem)
BOOL NTAPI LocalUnlock(HLOCAL hMem)
SIZE_T NTAPI LocalSize(HLOCAL hMem)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
static VOID HEXEDIT_Delete(PHEXEDIT_DATA hed)
ATOM WINAPI RegisterHexEditorClass(HINSTANCE hInstance)
static LRESULT HEXEDIT_HEM_COPYBUFFER(PHEXEDIT_DATA hed, PVOID Buffer, DWORD Size)
static VOID HEXEDIT_SelectAll(PHEXEDIT_DATA hed)
static LRESULT HEXEDIT_WM_KILLFOCUS(PHEXEDIT_DATA hed)
BOOL WINAPI UnregisterHexEditorClass(HINSTANCE hInstance)
static VOID HEXEDIT_Copy(PHEXEDIT_DATA hed)
static LRESULT HEXEDIT_WM_GETDLGCODE(LPMSG Msg)
struct HEXEDIT_DATA * PHEXEDIT_DATA
static LRESULT HEXEDIT_WM_PAINT(PHEXEDIT_DATA hed)
static VOID HEXEDIT_MoveCaret(PHEXEDIT_DATA hed, BOOL Scroll)
static VOID HEXEDIT_PaintLines(PHEXEDIT_DATA hed, HDC hDC, DWORD ScrollPos, DWORD First, DWORD Last, RECT *rc)
static LRESULT HEXEDIT_WM_MOUSEWHEEL(PHEXEDIT_DATA hed, int cyMoveLines, WORD ButtonsDown, LPPOINTS MousePos)
static LRESULT HEXEDIT_WM_NCDESTROY(PHEXEDIT_DATA hed)
static DWORD HEXEDIT_HitRegionTest(PHEXEDIT_DATA hed, POINTS pt)
static BOOL HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR wch)
static LRESULT HEXEDIT_WM_VSCROLL(PHEXEDIT_DATA hed, WORD ThumbPosition, WORD SbCmd)
LRESULT CALLBACK HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
static VOID HEXEDIT_Update(PHEXEDIT_DATA hed)
#define HEHT_HEXDUMPSPACING
static UINT ClipboardFormatID
static BOOL HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
static LRESULT HEXEDIT_WM_MOUSEMOVE(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
static LRESULT HEXEDIT_WM_GETFONT(PHEXEDIT_DATA hed)
#define HEHT_ADDRESSSPACING
static VOID HEXEDIT_WM_CONTEXTMENU(PHEXEDIT_DATA hed, INT x, INT y)
static LRESULT HEXEDIT_WM_SETFOCUS(PHEXEDIT_DATA hed)
static LRESULT HEXEDIT_HEM_SETMAXBUFFERSIZE(PHEXEDIT_DATA hed, DWORD nMaxSize)
static const WCHAR ClipboardFormatName[]
static DWORD HEXEDIT_IndexFromPoint(PHEXEDIT_DATA hed, POINTS pt, DWORD Hit, POINT *EditPos, BOOL *EditField)
static LRESULT HEXEDIT_WM_SIZE(PHEXEDIT_DATA hed, DWORD sType, WORD NewWidth, WORD NewHeight)
static VOID HEXEDIT_Paste(PHEXEDIT_DATA hed)
static LRESULT HEXEDIT_WM_LBUTTONUP(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
static LRESULT HEXEDIT_WM_NCCREATE(HWND hWnd, CREATESTRUCT *cs)
static LRESULT HEXEDIT_WM_LBUTTONDOWN(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
static LRESULT HEXEDIT_WM_CREATE(PHEXEDIT_DATA hed)
static LRESULT HEXEDIT_WM_SETFONT(PHEXEDIT_DATA hed, HFONT hFont, BOOL bRedraw)
static LRESULT HEXEDIT_HEM_LOADBUFFER(PHEXEDIT_DATA hed, PVOID Buffer, DWORD Size)
static VOID HEXEDIT_Cut(PHEXEDIT_DATA hed)
static HFONT HEXEDIT_GetFixedFont(VOID)
#define HEM_SETMAXBUFFERSIZE
#define HEX_EDIT_CLASS_NAME
#define HexEdit_SetMaxBufferSize(hWnd, Size)
#define memcpy(s1, s2, n)
struct task_struct * current
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HMODULE MODULEINFO DWORD cb
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static const TBBUTTON Buttons[]
#define UNREFERENCED_PARAMETER(P)
INT nVisibleLinesComplete
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
HGDIOBJ WINAPI GetStockObject(_In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
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)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
BOOL WINAPI TextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_reads_(c) LPCWSTR lpString, _In_ int c)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
#define CreateFontIndirect
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI ShowCaret(_In_opt_ HWND)
BOOL WINAPI ReleaseCapture(void)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
struct tagSCROLLINFO SCROLLINFO
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
HANDLE WINAPI SetClipboardData(_In_ UINT, _In_opt_ HANDLE)
BOOL WINAPI SetForegroundWindow(_In_ HWND)
BOOL WINAPI CloseClipboard(void)
UINT WINAPI RegisterClipboardFormatW(_In_ LPCWSTR)
HWND WINAPI GetCapture(void)
BOOL WINAPI OpenClipboard(_In_opt_ HWND)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
HANDLE WINAPI GetClipboardData(_In_ UINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI EmptyClipboard(void)
BOOL WINAPI UpdateWindow(_In_ HWND)
#define COLOR_HIGHLIGHTTEXT
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
struct _WNDCLASSEXW WNDCLASSEXW
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
SHORT WINAPI GetAsyncKeyState(_In_ int)
BOOL WINAPI ShowScrollBar(_In_ HWND, _In_ int, _In_ BOOL)
BOOL WINAPI SetCaretPos(_In_ int, _In_ int)
BOOL WINAPI CreateCaret(_In_ HWND, _In_opt_ HBITMAP, _In_ int, _In_ int)
BOOL WINAPI DestroyCaret(void)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
BOOL WINAPI GetUpdateRect(_In_ HWND, _Out_opt_ LPRECT, _In_ BOOL)
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI ScrollWindow(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT)
SHORT WINAPI GetKeyState(_In_ int)