Skip to content

Commit 92b35a6

Browse files
committed
Implement better preview for bitmap visualisation (#263).
This replaces the native preview bitmap with a custom renderer that allows us to render only the visible preview area on demand, working around a crash on Linux and improving performance. See also wxWidgets/wxWidgets#25656
1 parent bb9d391 commit 92b35a6

File tree

11 files changed

+547
-266
lines changed

11 files changed

+547
-266
lines changed

CHANGES.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ Version TBC:
1111

1212
* Add search history to text search dialog (#260).
1313

14+
* Work around crash with large bitmap previews on Linux (#263).
15+
16+
* Improve performance of bitmap visualisation.
17+
1418
Version 0.63.2 (2025-07-13):
1519

1620
* Add missing file required for binary template support.

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ APP_OBJS := \
438438
src/MultiSplitter.$(BUILD_TYPE).o \
439439
src/Palette.$(BUILD_TYPE).o \
440440
src/PopupTipWindow.$(BUILD_TYPE).o \
441+
src/ProceduralBitmap.$(BUILD_TYPE).o \
441442
src/profile.$(BUILD_TYPE).o \
442443
src/RangeChoiceLinear.$(BUILD_TYPE).o \
443444
src/RangeDialog.$(BUILD_TYPE).o \
@@ -561,6 +562,7 @@ TEST_OBJS := \
561562
src/MultiSplitter.$(BUILD_TYPE).o \
562563
src/Palette.$(BUILD_TYPE).o \
563564
src/PopupTipWindow.$(BUILD_TYPE).o \
565+
src/ProceduralBitmap.$(BUILD_TYPE).o \
564566
src/RangeDialog.$(BUILD_TYPE).o \
565567
src/RangeProcessor.$(BUILD_TYPE).o \
566568
src/search.$(BUILD_TYPE).o \

msvc/all-tests/all-tests.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@
302302
<ClCompile Include="..\..\src\MultiSplitter.cpp" />
303303
<ClCompile Include="..\..\src\Palette.cpp" />
304304
<ClCompile Include="..\..\src\PopupTipWindow.cpp" />
305+
<ClCompile Include="..\..\src\ProceduralBitmap.cpp" />
305306
<ClCompile Include="..\..\src\RangeDialog.cpp" />
306307
<ClCompile Include="..\..\src\RangeProcessor.cpp" />
307308
<ClCompile Include="..\..\src\search.cpp" />

msvc/all-tests/all-tests.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,9 @@
466466
<ClCompile Include="..\..\src\PopupTipWindow.cpp">
467467
<Filter>src</Filter>
468468
</ClCompile>
469+
<ClCompile Include="..\..\src\ProceduralBitmap.cpp">
470+
<Filter>src</Filter>
471+
</ClCompile>
469472
<ClCompile Include="..\..\src\MultiSplitter.cpp">
470473
<Filter>src</Filter>
471474
</ClCompile>

msvc/rehex.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,7 @@
514514
<ClCompile Include="..\src\MultiSplitter.cpp" />
515515
<ClCompile Include="..\src\Palette.cpp" />
516516
<ClCompile Include="..\src\PopupTipWindow.cpp" />
517+
<ClCompile Include="..\src\ProceduralBitmap.cpp" />
517518
<ClCompile Include="..\src\profile.cpp" />
518519
<ClCompile Include="..\src\RangeChoiceLinear.cpp" />
519520
<ClCompile Include="..\src\RangeDialog.cpp" />

msvc/rehex.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,9 @@
249249
<ClCompile Include="..\src\profile.cpp">
250250
<Filter>Source Files</Filter>
251251
</ClCompile>
252+
<ClCompile Include="..\src\ProceduralBitmap.cpp">
253+
<Filter>Source Files</Filter>
254+
</ClCompile>
252255
<ClCompile Include="..\src\BitEditor.cpp">
253256
<Filter>Source Files</Filter>
254257
</ClCompile>

0 commit comments

Comments
 (0)