Fix wxWidgets WASM rendering and add comprehensive tests

- Update wxwidgets submodule with bitmap, template, and listbox fixes
- Add pcre2 include path to build script
- Add comprehensive UI interaction test covering all tabs
- Update test app with full control demonstration
- Add Makefile.wasm with HEAP exports for Emscripten
- Fix .gitignore to not ignore Makefile.wasm

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2025-11-28 14:24:53 +01:00
commit 4069de6a0b
7 changed files with 1067 additions and 35 deletions

View file

@ -0,0 +1,31 @@
# Makefile for minimal wxWidgets WASM test app
# Uses the local wxWidgets build
WXCONFIG = ../../build-wasm/wxwidgets-universal/wx-config
TOOLS_ROOT = ../../wxwidgets/build/wasm
CXX = em++
WX_CXXFLAGS := $(shell $(WXCONFIG) --cxxflags)
WX_LDFLAGS := $(shell $(WXCONFIG) --libs base,core)
TARGET = minimal_test
SOURCES = minimal_test.cpp
CXXFLAGS = -O2 $(WX_CXXFLAGS)
LDFLAGS = -s TOTAL_MEMORY=32MB -s ERROR_ON_UNDEFINED_SYMBOLS=0 -s "EXPORTED_RUNTIME_METHODS=['HEAPU8','HEAP8','HEAP32']" $(WX_LDFLAGS)
JS = $(TOOLS_ROOT)/wx.js
HTML = $(TOOLS_ROOT)/template.html
all: $(TARGET).html
$(TARGET).o: $(SOURCES)
$(CXX) -c $(CXXFLAGS) $< -o $@
$(TARGET).html: $(TARGET).o
$(CXX) $(TARGET).o $(LDFLAGS) --pre-js $(JS) --shell-file $(HTML) -o $@
clean:
rm -f $(TARGET).o $(TARGET).html $(TARGET).js $(TARGET).wasm
.PHONY: all clean