Releases: jovibor/HexCtrl
Releases · jovibor/HexCtrl
HexCtrl 3.6
- New interface methods:
GetScrollRatio
IsInfoBar
GetDlgItemHandle
, to retrieve HWNDs of dialogs' items.
- New
EHexDataType
enum added - New Sample Dialog DLL project added, for showing HexCtrl work as a DLL
- New UnitTest project added
- New
HEXCTRL_FLAG_DLG_NOESC
flag added, common for all dialogs - New
IHexTemplates::AddTemplate(PCHEXTEMPLATE pTemplate)
method added GetColors()
interface method now returns a const reference- Two new members added to the
HEXCOLORS
struct:clrBkBkm
,clrFontBkm
(Bk/Font colors for bookmarks) HEXBKM
struct: new member addedHEXCOLOR stClr
, instead of twoCOLORREF
s to be consistent with the rest of codebaseHEXTEMPLATEFIELD
struct: newHEXCOLOR stClr
instead of twoCOLORREF
sGetWindowHandle
renamed toGetWndHandle
, and now takes second argumentbool fCreate
- Static
IHexTemplates::LoadFromFile
function added, to be able to load templates once upfront and then add to many HexCtrls HEXTEMPLATEFIELD->HEXTEMPLFIELD
- Operations dialog redesigned
- Description added for every operation
- SSE intrinsics added for most of the Operations
OPER_ASSIGN
speed increased drastically- Speed of some operations has increased up to 15x times
OPER_CEIL
/OPER_FLOOR
renamed toOPER_MAX
/OPER_MIN
CreateHexCtrl
now takesHINSTANCE
arg defaulted tonullptr
- Data Interpreter binary property now shows binary representation of the selected data type, previously it was limited to just one byte
- Search dialog redesigned
- Added range start/end fields
- Find All/Replace All speed increased drastically
- Found/Replaced amount is now shown in the search Callback's dialog
- SSE intrinsics added for 1, 2, 4 bytes data size, search speed has increased significantly
- Go to... dialog redesigned
CreateRawHexCtrl
factory function removedGetDlgData
method removed. AllHEXCTRL_FLAG_*
removedSetDlgData
->SetDlgProperties
- Minor fixes and improvements
HexCtrl 3.5
- Partially modularized
- "End offset" field added to the Search dialog
HEXCREATE::stColor
member changed topColors
pointerHEXCREATE
fields:dbWheelRatio
->flScrollRatio
,fPageLines
->fScrollLines
to avoid confusion with the term "Page" from theSetPageSize
methodSetWheelRatio
renamed toSetScrollRatio
(Set/Get)GroupMode
renamed to(Set/Get)GroupSize
and can now be used with arbitrary [1..64] size numberEHexCmd
new members:CMD_GROUPDATA_INC
,CMD_GROUPDATA_DEC
- New
mouse_wheel_up
,mouse_wheel_down
command names for setting in config file - New
SetCharsExtraSpace
interface method, to set extra space in pixels between adjacent chars - New members added to the
HEXCREATE
struct:dwCapacity
,dwGroupSize
,fOffsetHex
- New
HEXCTRL_FLAG_TEMPLMGR_NOESC
,HEXCTRL_FLAG_DATAINTERP_NOESC
,HEXCTRL_FLAG_BKMMGR_NOESC
dialog flags added, to prevent dialogs from closing on Esc key - Overall search speed has been increased by 10-20%
- Many internal fixes and improvements
HexCtrl 3.4
Breaking changes:
GetHexCtrlInfo
method andHEXCTRLINFO
struct have been removedGetEncoding
method renamed toGetCodepage
SetEncoding
method renamed toSetCodepage
.EHexWnd::DLG_ENCODING
->DLG_CODEPAGE
EHexCmd::CMD_ENCODING_DLG
->CMD_CODEPAGE_DLG
EHexWnd::DLG_BKMMANAGER
->DLG_BKMMGR
HEXCOLORINFO
struct andIHexVirtColors
interface are slightly changedCMD_CLPBRD_COPY_TEXTUTF16
->CMD_CLPBRD_COPY_TEXTCP
CMD_APPEAR_FONTCHOOSE
->CMD_APPEAR_FONT_DLG
- Renamed codes:
HEXCTRL_MSG_CARETCHANGE
toHEXCTRL_MSG_SETCARET
HEXCTRL_MSG_SELECTION
toHEXCTRL_MSG_SETSELECTION
New:
- New "Reverse Bits" Operation added
- New
SetDlgData
andGetDlgData
interface methods added. - New notification codes added:
HEXCTRL_MSG_SETCAPACITY
,HEXCTRL_MSG_SETCODEPAGE
,HEXCTRL_MSG_SETFONT
,HEXCTRL_MSG_SETGROUPMODE
,HEXCTRL_MSG_DLGBKMMGR
,HEXCTRL_MSG_DLGCODEPAGE
,HEXCTRL_MSG_DLGDATAINTERP
,HEXCTRL_MSG_DLGGOTO
,HEXCTRL_MSG_DLGMODIFY
,HEXCTRL_MSG_DLGSEARCH
,HEXCTRL_MSG_DLGTEMPLMGR
- New Flags added:
HEXCTRL_FLAG_TEMPLMGR_MINIMIZED
,HEXCTRL_FLAG_TEMPLMGR_HEXNUM
,HEXCTRL_FLAG_TEMPLMGR_SHOWTT
,HEXCTRL_FLAG_TEMPLMGR_HGLSEL
,HEXCTRL_FLAG_TEMPLMGR_SWAPENDIAN
,HEXCTRL_FLAG_DATAINTERP_HEXNUM
,HEXCTRL_FLAG_DATAINTERP_BE
,HEXCTRL_FLAG_BKMMGR_HEXNUM
Other:
- All the
HEXCTRL_VERSION_***
constants are moved to theHexCtrl.h
and now available for the client code
HexCtrl 3.3
- Drag-n-drop for any files added to the Sample Dialog
- Interface method
GetFont(LOGFONTW& lf)
signature was changed toauto GetFont()->LOGFONTW
- Template Manager dialog redesigned a bit
- Bookmark Manager dialog redesigned
- Some
EHexCmd
entities were renamed to follow one common pattern:CMD_BKM_DLG_MANAGER
->CMD_BKM_DLG_MGR
,CMD_DLG_TEMPLMGR
->CMD_TEMPL_DLG_MGR
, etc...
- Renamed
IHexBookmarks::ClearAll
->RemoveAll
HexCtrlDef.h
was removedbool fShow
member added to theHEXMENUINFO
struct, to allow parent window disabling context menu showing up in response to theHEXCTRL_MSG_CONTEXTMENU
message- Latest Rapidjson
- Latest StrToNum
- Minor bugs fixes
HexCtrl 3.2.1
- Big improvement in HexCtrl's creation speed
GetHexCtrlInfo
now returnsHEXCTRLINFO
instead of pointer- Further Templates improvements
- array property added
- CustomTypes, for user created types
- Tree iteration in Templates manager is now much faster, and some other small improvements/fixes
HexCtrl 3.2
New
- Template manager
- Ability to set mouse scroll to exact amount of lines,
SetWheelRatio
now has second argument.
Misc
- Fixed many inconsistencies in Data Interpreter with big-endian
HexCtrl 3.1.2
- Sample dialog window's title now shows opened file name
- Bugs fixes
HexCtrl 3.1.1
New:
InfoBar is now togglable, it can be hided/showed.
ShowInfoBar
interface methodHEXCREATE::fInfoBar
flagHEXCOLORS::clrFontInfoParam
,HEXCOLORS::clrFontInfoData
colors for infobar
Other:
Many internal improvements/bug fixes.
HexCtrl 3.1.0
New
- Paste as Text UTF-16 and Paste as Text Codepage (to paste text in currently displaying CP) menu
- UTF-16 codepage in encodings dialog list
GetActualWidth
,GetBookmarks
,SetVirtualBkm
interface methodsIHexBookmarks
interface which is now the main housekeeper for both - internal and Virtual bookmarks.- New icons added to the context menu.
Changes
EHexCreateMode
enum removed- All the
Bkm*
family functions have been removed along with theIHexVirtBkm
interface
HexCtrl 3.0.0
HexCtrl now requires a C++20 compliant compiler, i.e. MSVS 2019 or 2022.
New:
- HexCtrl is now High DPI aware. All bitmaps changed to high-res for HighDPI compatibility
- Experimental support for all encodings, with max chars greater than one
- Appearance->Choose font dialog to set desirable font
- Pseudo Random Data option in Fill with Data... dialog, for fast random data filling
- Text UTF-8 search option
- Shift + LeftMouseDblClick now selects whole row
- Search and Fill with Data... routines now show current speed in MB/s
- Double clicking on the text caption area now pops up encodings dialog
GetFont
,GetDateInfo
,SetDateInfo
,GetUnprintableChar
,SetUnprintableChar
,SetRedraw
interface methods
Improvements and changes:
- Significantly improved search speed
- Significantly improved Fill with Data... routines speed
- Rendering speed has improved, less GDI system calls
swprintf
functions have been superceded by a C++20std::format
facilityHEXDATA
,HEXDATAINFO
,HEXMODIFY
structs now usestd::span
, as well asGetData
method- Data Interpreter now correctly displays negative signed integral types
- Lots of other internal changes, fixes and improvements