Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
1354c1a
more work on text
takev Feb 11, 2023
d1c5dcc
Merge branch 'main' into text
takev Feb 11, 2023
2123fa1
again
takev Feb 11, 2023
93823c2
again
takev Feb 12, 2023
9d76047
again
takev Feb 12, 2023
1220b55
Merge branch 'main' into text
takev Feb 12, 2023
b05ad1e
again
takev Feb 13, 2023
99586ee
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Feb 13, 2023
365bab9
remove example code
takev Feb 14, 2023
7a8578f
again
takev Feb 14, 2023
eef3032
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Feb 14, 2023
eac2ed6
again
takev Feb 15, 2023
0b783d2
again
takev Feb 15, 2023
62ef369
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Feb 15, 2023
4dd46d2
again
takev Feb 15, 2023
9fb5745
again
takev Feb 15, 2023
e366fb9
fix
takev Feb 16, 2023
2003c94
Again
takev Feb 16, 2023
262a48d
again
takev Feb 18, 2023
9ade58e
again
takev Feb 20, 2023
20c97f8
again
takev Feb 20, 2023
2f18976
again
takev Feb 20, 2023
2245b55
again
takev Feb 20, 2023
0978587
Again
takev Feb 21, 2023
cd7957f
again
takev Feb 22, 2023
afdff97
again
takev Feb 22, 2023
8a0d00d
again
takev Feb 23, 2023
f1a4829
again
takev Feb 23, 2023
8e5f60f
again
takev Feb 23, 2023
b105d72
Again
takev Feb 24, 2023
211dec8
again
takev Feb 25, 2023
8250628
Again
takev Feb 25, 2023
917412e
again
takev Feb 27, 2023
dd460b6
again
takev Feb 27, 2023
f1c5c14
compiles
takev Mar 1, 2023
032e813
fix unittest
takev Mar 1, 2023
ee701a2
global theme_book functions
takev Mar 1, 2023
25ccf74
compiles
takev Mar 1, 2023
55b4921
prepare for theme module
takev Mar 1, 2023
d76f219
Create theme module
takev Mar 1, 2023
5befb9f
split l18n and l10n
takev Mar 1, 2023
74baf69
update theme
takev Mar 1, 2023
9bc2ea3
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Mar 1, 2023
db3a2f6
again
takev Mar 2, 2023
c5a5911
remove language
takev Mar 2, 2023
01951f8
again
takev Mar 2, 2023
0ae5a03
again
takev Mar 4, 2023
f75bfaa
again
takev Mar 4, 2023
00677cf
Add GFX module
takev Mar 4, 2023
01934ce
again
takev Mar 6, 2023
9ef3273
again
takev Mar 8, 2023
c8a281e
again
takev Mar 8, 2023
b684a49
again
takev Mar 9, 2023
d1729bf
again
takev Mar 13, 2023
2dc09bc
compiles
takev Mar 13, 2023
7972281
fixes
takev Mar 13, 2023
9e94ceb
again
takev Mar 16, 2023
51c4acc
Improve decomposition and canonical combining classes tables
takev Mar 16, 2023
fbfc64b
again
takev Mar 16, 2023
fb56503
Add new composition tables
takev Mar 19, 2023
9c3282a
again
takev Mar 19, 2023
ad9c2bd
constexpr normalization
takev Mar 19, 2023
206513a
Again
takev Mar 20, 2023
493e0ca
text segmentation tables
takev Mar 20, 2023
e583972
remove header file
takev Mar 20, 2023
ee6c6e0
again
takev Mar 20, 2023
9f18956
add general category
takev Mar 20, 2023
4a7d67d
unicode index optimization
takev Mar 20, 2023
b8fea88
east asian width
takev Mar 20, 2023
91616b0
bidi class table
takev Mar 20, 2023
aa0e973
paired bracket table
takev Mar 20, 2023
5f3897e
bidi mirroring table
takev Mar 20, 2023
bc24868
remove goto
takev Mar 20, 2023
181237f
again
takev Mar 20, 2023
e069305
Unicode fully constexpr
takev Mar 21, 2023
ff6a042
generate enums from unicode database
takev Mar 21, 2023
0e94953
fix clang-cl makefile
takev Mar 21, 2023
6e91ee1
New theme file format
takev Mar 22, 2023
0114932
improve lexer
takev Mar 22, 2023
f1a1500
Again
takev Mar 23, 2023
48b0c08
again
takev Mar 25, 2023
f0a6b2c
lexer finished
takev Mar 25, 2023
1167404
again
takev Mar 26, 2023
eef8815
Agina
takev Mar 27, 2023
afe9199
again
takev Mar 28, 2023
46803ff
new unicode data
takev Mar 28, 2023
c15832b
again
takev Mar 28, 2023
755c263
again
takev Mar 29, 2023
3684033
again
takev Mar 30, 2023
242a4dd
ini string
takev Mar 30, 2023
41f5d2a
again
takev Apr 2, 2023
8157559
again
takev Apr 2, 2023
e57d1be
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Apr 2, 2023
0f2c09b
again
takev Apr 2, 2023
f5930f8
again
takev Apr 3, 2023
b0ebd8f
again
takev Apr 3, 2023
a66766f
Again
takev Apr 3, 2023
95751b9
again
takev Apr 4, 2023
792f98d
again
takev Apr 4, 2023
111c707
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Apr 4, 2023
f6facbe
again
takev Apr 6, 2023
3a6d570
again
takev Apr 6, 2023
66e11bc
Merge branch 'text' of github.com:hikogui/hikogui into text
takev Apr 6, 2023
1014c39
again
takev Apr 6, 2023
2503d10
again
takev Apr 10, 2023
9d67607
agina
takev Apr 10, 2023
cfcb145
again
takev Apr 11, 2023
c8b3259
Again
takev Apr 11, 2023
1931f5f
set default color values
takev Apr 12, 2023
3e07960
more complete parser
takev Apr 12, 2023
bb54ff5
add some unittest for theme parser
takev Apr 12, 2023
d108735
fix 0. float
takev Apr 12, 2023
15087a7
add unit system for lengths
takev Apr 13, 2023
4faac06
id starting with after number
takev Apr 13, 2023
859c593
comments
takev Apr 15, 2023
3ac2521
style sheet refactor
takev Apr 15, 2023
3c881ca
add state parser in css
takev Apr 16, 2023
33534b3
Add unittest for css states
takev Apr 16, 2023
150d871
new theme model
takev Apr 17, 2023
6190e32
New theme model interface
takev Apr 19, 2023
fa27529
again
takev Apr 20, 2023
7b5b841
theme update in widgets
takev Apr 24, 2023
2a6d174
update widgets for new theme
takev Apr 24, 2023
9e5aef2
Merge remote-tracking branch 'origin/main' into text
takev Apr 24, 2023
10d97ac
Add high dpi document
takev Apr 26, 2023
5b30280
Fix many syntax errors
takev Apr 26, 2023
fb48c00
Scale text theme
takev Apr 26, 2023
59b707a
Fix syntax errors
takev Apr 28, 2023
75d383f
activate theme, partially
takev Apr 29, 2023
2fec775
text-style work
takev Apr 29, 2023
190b8bb
again
takev Apr 30, 2023
def5431
again
takev Apr 30, 2023
219b06b
docs
takev May 1, 2023
7d9c78b
fix syntax errors
takev May 1, 2023
4bf0ffa
fix bugs
takev May 1, 2023
4a6f461
again
takev May 2, 2023
ce960a4
Demo runs again
takev May 4, 2023
32f321e
text shaper works
takev May 8, 2023
37d10be
No more multiple draws
takev May 9, 2023
a4b7efb
try and separate toggle widget
takev May 9, 2023
064378a
again
takev May 17, 2023
d6dda62
back to float
takev May 17, 2023
0da00ba
new casting, float and integral
takev May 18, 2023
617b960
Documentation for casting
takev May 21, 2023
b69cd29
Constraints and updates now do integer arithmatic on floating point n…
takev May 21, 2023
7915e21
remove padding
takev May 22, 2023
3ee969b
remove padding finished
takev May 22, 2023
ac82ce0
Add priority to grid-layout
takev May 23, 2023
1c2ac74
toggle button looks okay again
takev May 25, 2023
52b4a03
fix checkbox
takev May 27, 2023
8c5102a
start super-grid
takev May 30, 2023
465a94f
more super
takev May 31, 2023
598c709
logic names
takev Jun 4, 2023
f25a55e
refactor"
takev Jun 5, 2023
24f1f18
grid-axis
takev Jun 5, 2023
a6fb58f
work on grid
takev Jun 5, 2023
930b1f1
comments
takev Jun 7, 2023
eae27ad
vs just crashed
takev Jun 7, 2023
792bdae
Save stuff
takev Jun 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

[*]
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
spelling_languages = en-us
guidelines = 80 dashed, 130

6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,10 @@ elseif (MSVC)
# The hikogui generic tokenizer uses large constexpr tables.
target_compile_options(hikogui PUBLIC "-constexpr:steps100000000")

# C1128 number of sections exceed object file format limit: compile with /bigobj
# HikoGUI is big now, hopefully can be fixed when going modular.
target_compile_options(hikogui PUBLIC "-bigobj")

# C4068: unknown pragma.
# Ignore unknown pragmas, needed for other compilers.
target_compile_options(hikogui PUBLIC -wd4068)
Expand Down Expand Up @@ -417,7 +421,7 @@ add_shader_target(hikogui_shaders
)

set(hikogui_resource_files
resources/themes/hikogui_dark.theme.json
resources/themes/hikogui_dark.css
resources/themes/hikogui_light.theme.json
resources/fonts/elusiveicons-webfont.ttf
resources/fonts/hikogui_icons.ttf
Expand Down
44 changes: 42 additions & 2 deletions CMakeLists_implementations.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,53 @@ target_sources(hikogui PRIVATE
${HIKOGUI_SOURCE_DIR}/concurrency/thread_impl.cpp
$<$<PLATFORM_ID:Darwin>:${HIKOGUI_SOURCE_DIR}/concurrency/thread_macos_impl.cpp>
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/concurrency/thread_win32_impl.cpp>
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/file/file_win32_impl.cpp>
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/file/file_view_win32_impl.cpp>
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/file/path_location_win32_impl.cpp>
${HIKOGUI_SOURCE_DIR}/font/font_book_impl.cpp
${HIKOGUI_SOURCE_DIR}/font/font_impl.cpp
${HIKOGUI_SOURCE_DIR}/font/glyph_ids_impl.cpp
${HIKOGUI_SOURCE_DIR}/font/true_type_font_coverage_impl.cpp
#${HIKOGUI_SOURCE_DIR}/font/true_type_font_coverage_impl.cpp
#${HIKOGUI_SOURCE_DIR}/font/true_type_font_GSUB_impl.cpp
${HIKOGUI_SOURCE_DIR}/font/true_type_font_impl.cpp
${HIKOGUI_SOURCE_DIR}/geometry/axis_aligned_rectangle_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_device_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_device_vulkan_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_surface_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_surface_vulkan_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_system_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_system_vulkan_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_system_vulkan_win32_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/paged_image_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_alpha_device_shared_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_alpha_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_box_device_shared_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_box_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_device_shared_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_texture_map_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_device_shared_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_texture_map_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_tone_mapper_device_shared_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_tone_mapper_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_vulkan_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/RenderDoc_impl.cpp
${HIKOGUI_SOURCE_DIR}/GFX/VulkanMemoryAllocator_impl.cpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_system_impl.cpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_system_win32_impl.cpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_window_impl.cpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/GUI/gui_window_win32_impl.cpp>
${HIKOGUI_SOURCE_DIR}/GUI/keyboard_bindings_impl.cpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/GUI/keyboard_virtual_key_win32_impl.cpp>
${HIKOGUI_SOURCE_DIR}/GUI/widget_draw_context_impl.cpp
${HIKOGUI_SOURCE_DIR}/i18n/iso_3166_impl.cpp
${HIKOGUI_SOURCE_DIR}/i18n/iso_15924_impl.cpp
${HIKOGUI_SOURCE_DIR}/i18n/language_tag_impl.cpp
${HIKOGUI_SOURCE_DIR}/l10n/po_parser_impl.cpp
${HIKOGUI_SOURCE_DIR}/l10n/translation_impl.cpp
${HIKOGUI_SOURCE_DIR}/text/text_shaper_char_impl.cpp
${HIKOGUI_SOURCE_DIR}/text/text_shaper_impl.cpp
${HIKOGUI_SOURCE_DIR}/text/text_shaper_line_impl.cpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/utility/debugger_win32_impl.cpp>
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/utility/exception_win32_impl.cpp>
)
170 changes: 167 additions & 3 deletions CMakeLists_includes.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ target_sources(hikogui PUBLIC FILE_SET hikogui_include_files TYPE HEADERS BASE_D
${HIKOGUI_SOURCE_DIR}/color/quad_color.hpp
${HIKOGUI_SOURCE_DIR}/color/Rec2020.hpp
${HIKOGUI_SOURCE_DIR}/color/Rec2100.hpp
${HIKOGUI_SOURCE_DIR}/color/semantic_color.hpp
${HIKOGUI_SOURCE_DIR}/color/sRGB.hpp
${HIKOGUI_SOURCE_DIR}/concurrency/dead_lock_detector.hpp
${HIKOGUI_SOURCE_DIR}/concurrency/global_state.hpp
Expand All @@ -26,18 +25,26 @@ target_sources(hikogui PUBLIC FILE_SET hikogui_include_files TYPE HEADERS BASE_D
${HIKOGUI_SOURCE_DIR}/concurrency/subsystem.hpp
${HIKOGUI_SOURCE_DIR}/concurrency/thread.hpp
${HIKOGUI_SOURCE_DIR}/concurrency/wfree_idle_count.hpp
${HIKOGUI_SOURCE_DIR}/file/module.hpp
${HIKOGUI_SOURCE_DIR}/file/file.hpp
${HIKOGUI_SOURCE_DIR}/file/file_view.hpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/file/file_win32.hpp>
${HIKOGUI_SOURCE_DIR}/file/glob.hpp
${HIKOGUI_SOURCE_DIR}/file/path_location.hpp
${HIKOGUI_SOURCE_DIR}/file/resource_view.hpp
${HIKOGUI_SOURCE_DIR}/file/URI.hpp
${HIKOGUI_SOURCE_DIR}/file/URL.hpp
${HIKOGUI_SOURCE_DIR}/font/elusive_icon.hpp
${HIKOGUI_SOURCE_DIR}/font/font.hpp
${HIKOGUI_SOURCE_DIR}/font/font_book.hpp
${HIKOGUI_SOURCE_DIR}/font/font_char_map.hpp
${HIKOGUI_SOURCE_DIR}/font/font_family_id.hpp
${HIKOGUI_SOURCE_DIR}/font/font_grapheme_id.hpp
${HIKOGUI_SOURCE_DIR}/font/font_metrics.hpp
${HIKOGUI_SOURCE_DIR}/font/font_style.hpp
${HIKOGUI_SOURCE_DIR}/font/font_variant.hpp
${HIKOGUI_SOURCE_DIR}/font/font_weight.hpp
${HIKOGUI_SOURCE_DIR}/font/glyph_atlas_info.hpp
${HIKOGUI_SOURCE_DIR}/font/glyph_id.hpp
${HIKOGUI_SOURCE_DIR}/font/glyph_ids.hpp
${HIKOGUI_SOURCE_DIR}/font/glyph_metrics.hpp
${HIKOGUI_SOURCE_DIR}/font/hikogui_icon.hpp
${HIKOGUI_SOURCE_DIR}/font/otype_cmap.hpp
Expand Down Expand Up @@ -76,6 +83,67 @@ target_sources(hikogui PUBLIC FILE_SET hikogui_include_files TYPE HEADERS BASE_D
${HIKOGUI_SOURCE_DIR}/geometry/transform.hpp
${HIKOGUI_SOURCE_DIR}/geometry/translate.hpp
${HIKOGUI_SOURCE_DIR}/geometry/vector.hpp
${HIKOGUI_SOURCE_DIR}/GFX/module.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_device.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_device_vulkan.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_draw_context.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_queue_vulkan.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_surface.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_surface_delegate.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_surface_delegate_vulkan.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_system.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_system_globals.hpp
${HIKOGUI_SOURCE_DIR}/GFX/gfx_system_vulkan.hpp
${HIKOGUI_SOURCE_DIR}/GFX/paged_image.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_alpha.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_alpha_device_shared.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_alpha_push_constants.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_alpha_vertex.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_box.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_box_device_shared.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_box_push_constants.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_box_vertex.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_device_shared.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_push_constants.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_texture_map.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_image_vertex.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_device_shared.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_push_constants.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_texture_map.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_SDF_vertex.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_tone_mapper.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_tone_mapper_device_shared.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_tone_mapper_push_constants.hpp
${HIKOGUI_SOURCE_DIR}/GFX/pipeline_vulkan.hpp
${HIKOGUI_SOURCE_DIR}/GFX/RenderDoc.hpp
${HIKOGUI_SOURCE_DIR}/GFX/renderdoc_app.h
${HIKOGUI_SOURCE_DIR}/GFX/subpixel_orientation.hpp
${HIKOGUI_SOURCE_DIR}/GUI/widget_draw_context.hpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_event.hpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_event_type.hpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_event_variant.hpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_system.hpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_system_delegate.hpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/GUI/gui_system_win32.hpp>
${HIKOGUI_SOURCE_DIR}/GUI/gui_window.hpp
${HIKOGUI_SOURCE_DIR}/GUI/gui_window_size.hpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/GUI/gui_window_win32.hpp>
${HIKOGUI_SOURCE_DIR}/GUI/hitbox.hpp
${HIKOGUI_SOURCE_DIR}/GUI/keyboard_bindings.hpp
${HIKOGUI_SOURCE_DIR}/GUI/keyboard_focus_direction.hpp
${HIKOGUI_SOURCE_DIR}/GUI/keyboard_focus_group.hpp
${HIKOGUI_SOURCE_DIR}/GUI/keyboard_state.hpp
${HIKOGUI_SOURCE_DIR}/GUI/keyboard_virtual_key.hpp
${HIKOGUI_SOURCE_DIR}/GUI/module.hpp
${HIKOGUI_SOURCE_DIR}/GUI/mouse_buttons.hpp
${HIKOGUI_SOURCE_DIR}/GUI/mouse_cursor.hpp
${HIKOGUI_SOURCE_DIR}/GUI/widget.hpp
${HIKOGUI_SOURCE_DIR}/GUI/widget_id.hpp
${HIKOGUI_SOURCE_DIR}/GUI/widget_layout.hpp
${HIKOGUI_SOURCE_DIR}/GUI/widget_mode.hpp
${HIKOGUI_SOURCE_DIR}/image/module.hpp
${HIKOGUI_SOURCE_DIR}/image/pixmap.hpp
${HIKOGUI_SOURCE_DIR}/image/pixmap_span.hpp
Expand All @@ -89,6 +157,15 @@ target_sources(hikogui PUBLIC FILE_SET hikogui_include_files TYPE HEADERS BASE_D
${HIKOGUI_SOURCE_DIR}/image/srgb_abgr8_pack.hpp
${HIKOGUI_SOURCE_DIR}/image/uint_abgr8_pack.hpp
${HIKOGUI_SOURCE_DIR}/image/unorm_a2bgr10_pack.hpp
${HIKOGUI_SOURCE_DIR}/i18n/module.hpp
${HIKOGUI_SOURCE_DIR}/i18n/iso_639.hpp
${HIKOGUI_SOURCE_DIR}/i18n/iso_3166.hpp
${HIKOGUI_SOURCE_DIR}/i18n/iso_15924.hpp
${HIKOGUI_SOURCE_DIR}/i18n/language_tag.hpp
${HIKOGUI_SOURCE_DIR}/l10n/module.hpp
${HIKOGUI_SOURCE_DIR}/l10n/po_parser.hpp
${HIKOGUI_SOURCE_DIR}/l10n/translate.hpp
${HIKOGUI_SOURCE_DIR}/l10n/translation.hpp
${HIKOGUI_SOURCE_DIR}/SIMD/float16_sse4_1.hpp
${HIKOGUI_SOURCE_DIR}/SIMD/module.hpp
${HIKOGUI_SOURCE_DIR}/SIMD/native_f16x8_sse2.hpp
Expand All @@ -102,6 +179,56 @@ target_sources(hikogui PUBLIC FILE_SET hikogui_include_files TYPE HEADERS BASE_D
${HIKOGUI_SOURCE_DIR}/SIMD/native_simd_utility.hpp
${HIKOGUI_SOURCE_DIR}/SIMD/native_u32x4_sse2.hpp
${HIKOGUI_SOURCE_DIR}/SIMD/simd.hpp
${HIKOGUI_SOURCE_DIR}/parser/module.hpp
${HIKOGUI_SOURCE_DIR}/parser/token.hpp
${HIKOGUI_SOURCE_DIR}/parser/lexer.hpp
${HIKOGUI_SOURCE_DIR}/parser/lookahead_iterator.hpp
${HIKOGUI_SOURCE_DIR}/text/module.hpp
${HIKOGUI_SOURCE_DIR}/text/character.hpp
${HIKOGUI_SOURCE_DIR}/text/character_attributes.hpp
#${HIKOGUI_SOURCE_DIR}/text/spell_check.hpp
${HIKOGUI_SOURCE_DIR}/text/text.hpp
${HIKOGUI_SOURCE_DIR}/text/text_cursor.hpp
${HIKOGUI_SOURCE_DIR}/text/text_decoration.hpp
${HIKOGUI_SOURCE_DIR}/text/text_phrasing.hpp
${HIKOGUI_SOURCE_DIR}/text/text_selection.hpp
${HIKOGUI_SOURCE_DIR}/text/text_shaper.hpp
${HIKOGUI_SOURCE_DIR}/text/text_shaper_char.hpp
${HIKOGUI_SOURCE_DIR}/text/text_shaper_line.hpp
${HIKOGUI_SOURCE_DIR}/text/text_style.hpp
${HIKOGUI_SOURCE_DIR}/text/text_theme.hpp
${HIKOGUI_SOURCE_DIR}/theme/theme_book.hpp
${HIKOGUI_SOURCE_DIR}/theme/theme_mode.hpp
${HIKOGUI_SOURCE_DIR}/theme/theme_state.hpp
${HIKOGUI_SOURCE_DIR}/theme/theme_model.hpp
${HIKOGUI_SOURCE_DIR}/theme/style_sheet.hpp
${HIKOGUI_SOURCE_DIR}/theme/style_sheet_parser.hpp
${HIKOGUI_SOURCE_DIR}/unicode/module.hpp
${HIKOGUI_SOURCE_DIR}/unicode/grapheme.hpp
${HIKOGUI_SOURCE_DIR}/unicode/gstring.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_bidi_classes.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_bidi_paired_bracket_types.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_bidi_mirroring_glyphs.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_canonical_combining_classes.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_compositions.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_decompositions.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_east_asian_widths.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_general_categories.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_grapheme_cluster_breaks.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_lexical_classes.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_line_break_classes.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_scripts.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_sentence_break_properties.hpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_word_break_properties.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_bidi.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_break_opportunity.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_description.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_grapheme_cluster_break.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_line_break.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_normalization.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_plural.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_sentence_break.hpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_word_break.hpp
${HIKOGUI_SOURCE_DIR}/utility/architecture.hpp
${HIKOGUI_SOURCE_DIR}/utility/assert.hpp
${HIKOGUI_SOURCE_DIR}/utility/cast.hpp
Expand All @@ -121,9 +248,46 @@ target_sources(hikogui PUBLIC FILE_SET hikogui_include_files TYPE HEADERS BASE_D
${HIKOGUI_SOURCE_DIR}/utility/module.hpp
${HIKOGUI_SOURCE_DIR}/utility/numbers.hpp
${HIKOGUI_SOURCE_DIR}/utility/test.hpp
${HIKOGUI_SOURCE_DIR}/utility/time_zone.hpp
${HIKOGUI_SOURCE_DIR}/utility/type_traits.hpp
${HIKOGUI_SOURCE_DIR}/utility/units.hpp
${HIKOGUI_SOURCE_DIR}/utility/utility.hpp
${HIKOGUI_SOURCE_DIR}/utility/value_traits.hpp
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/utility/win32_headers.hpp>
${HIKOGUI_SOURCE_DIR}/widgets/abstract_button_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/audio_device_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/button_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/checkbox_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/checkbox_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/grid_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/icon_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/label_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/module.hpp
${HIKOGUI_SOURCE_DIR}/widgets/momentary_button_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/overlay_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/radio_button_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/radio_menu_button_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/row_column_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/scroll_aperture_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/scroll_bar_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/scroll_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/selection_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/selection_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/spacer_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/system_menu_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/tab_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/tab_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/text_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/text_field_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/text_field_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/text_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/toggle_delegate.hpp
${HIKOGUI_SOURCE_DIR}/widgets/toggle_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/toolbar_button_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/toolbar_tab_button_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/toolbar_widget.hpp
#${HIKOGUI_SOURCE_DIR}/widgets/window_traffic_lights_widget.hpp
${HIKOGUI_SOURCE_DIR}/widgets/window_widget.hpp
${HIKOGUI_SOURCE_DIR}/module.hpp
${HIKOGUI_SOURCE_DIR}/terminate.hpp
)
15 changes: 12 additions & 3 deletions CMakeLists_tests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ target_sources(hikogui_tests PRIVATE
${HIKOGUI_SOURCE_DIR}/file/URI_tests.cpp
${HIKOGUI_SOURCE_DIR}/file/URL_tests.cpp
${HIKOGUI_SOURCE_DIR}/font/font_char_map_tests.cpp
${HIKOGUI_SOURCE_DIR}/font/font_weight_tests.cpp
${HIKOGUI_SOURCE_DIR}/formula/formula_tests.cpp
${HIKOGUI_SOURCE_DIR}/geometry/identity_tests.cpp
${HIKOGUI_SOURCE_DIR}/geometry/matrix_tests.cpp
Expand All @@ -49,25 +50,33 @@ target_sources(hikogui_tests PRIVATE
${HIKOGUI_SOURCE_DIR}/image/pixmap_span_tests.cpp
${HIKOGUI_SOURCE_DIR}/layout/spreadsheet_address_tests.cpp
#${HIKOGUI_SOURCE_DIR}/random/dither_tests.cpp
${HIKOGUI_SOURCE_DIR}/parser/lookahead_iterator_tests.cpp
${HIKOGUI_SOURCE_DIR}/parser/lexer_tests.cpp
${HIKOGUI_SOURCE_DIR}/random/seed_tests.cpp
${HIKOGUI_SOURCE_DIR}/random/xorshift128p_tests.cpp
${HIKOGUI_SOURCE_DIR}/SIMD/simd_tests.cpp
${HIKOGUI_SOURCE_DIR}/text/text_tests.cpp
${HIKOGUI_SOURCE_DIR}/skeleton/skeleton_tests.cpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_bidi_tests.cpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_break_tests.cpp
${HIKOGUI_SOURCE_DIR}/unicode/unicode_normalization_tests.cpp
${HIKOGUI_SOURCE_DIR}/unicode/ucd_scripts_tests.cpp
${HIKOGUI_SOURCE_DIR}/widgets/text_widget_tests.cpp
${HIKOGUI_SOURCE_DIR}/concurrency/dead_lock_detector_tests.cpp
${HIKOGUI_SOURCE_DIR}/concurrency/rcu_tests.cpp
${HIKOGUI_SOURCE_DIR}/theme/style_sheet_parser_tests.cpp
${HIKOGUI_SOURCE_DIR}/theme/theme_model_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/cast_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/enum_metadata_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/fixed_string_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/float16_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/math_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/exceptions_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/type_traits_tests.cpp
${HIKOGUI_SOURCE_DIR}/utility/units_tests.cpp
$<$<PLATFORM_ID:Darwin>:${HIKOGUI_SOURCE_DIR}/utility/debugger_macos.mm>
$<$<PLATFORM_ID:Windows>:${HIKOGUI_SOURCE_DIR}/utility/debugger_win32_impl.cpp>
${HIKOGUI_SOURCE_DIR}/widgets/text_widget_tests.cpp
${HIKOGUI_SOURCE_DIR}/algorithm_tests.cpp
${HIKOGUI_SOURCE_DIR}/bezier_curve_tests.cpp
${HIKOGUI_SOURCE_DIR}/bigint_tests.cpp
Expand Down Expand Up @@ -179,9 +188,9 @@ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64|x86_64")
target_compile_options(hikogui_x64v3_tests PRIVATE -arch:AVX2 -DHI_X86_64_MAX_LEVEL=3)
target_compile_options(hikogui_x64v4_tests PRIVATE -arch:AVX512 -DHI_X86_64_MAX_LEVEL=4)
else()
message(WARNING "Unknown compiler to generate architecture depended tests.")
message(WARNING "Unknown compiler to generate architecture depended tests.")
endif()

# Only execute the tests that will run on the current host.
if(HOST_IS_X86_64_1)
gtest_discover_tests(hikogui_x64v1_tests DISCOVERY_MODE PRE_TEST)
Expand All @@ -197,5 +206,5 @@ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64|x86_64")
endif()

else()
message(WARNING "Unknown CPU to generate architecture depended tests.")
message(WARNING "Unknown CPU to generate architecture depended tests.")
endif()
Loading