aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--demos/graphics_experiments/1.cpp12
-rw-r--r--demos/graphics_experiments/2.cpp12
-rw-r--r--demos/graphics_experiments/4.cpp12
-rw-r--r--demos/input_method/main.cpp16
-rw-r--r--demos/main/main.cpp26
-rw-r--r--demos/parse/EliminateLeftRecursion.cpp2
-rw-r--r--demos/scroll_view/main.cpp12
-rw-r--r--include/cru/common/Base.h (renamed from include/cru/common/Base.hpp)2
-rw-r--r--include/cru/common/Bitmask.h (renamed from include/cru/common/Bitmask.hpp)2
-rw-r--r--include/cru/common/ClonablePtr.h (renamed from include/cru/common/ClonablePtr.hpp)0
-rw-r--r--include/cru/common/Event.h (renamed from include/cru/common/Event.hpp)4
-rw-r--r--include/cru/common/Exception.h (renamed from include/cru/common/Exception.hpp)2
-rw-r--r--include/cru/common/Format.h (renamed from include/cru/common/Format.hpp)4
-rw-r--r--include/cru/common/HandlerRegistry.h (renamed from include/cru/common/HandlerRegistry.hpp)2
-rw-r--r--include/cru/common/Logger.h (renamed from include/cru/common/Logger.hpp)6
-rw-r--r--include/cru/common/PreConfig.h (renamed from include/cru/common/PreConfig.hpp)0
-rw-r--r--include/cru/common/PropertyTree.h (renamed from include/cru/common/PropertyTree.hpp)4
-rw-r--r--include/cru/common/Range.h (renamed from include/cru/common/Range.hpp)2
-rw-r--r--include/cru/common/SelfResolvable.h (renamed from include/cru/common/SelfResolvable.hpp)2
-rw-r--r--include/cru/common/String.h (renamed from include/cru/common/String.hpp)6
-rw-r--r--include/cru/common/StringUtil.h (renamed from include/cru/common/StringUtil.hpp)2
-rw-r--r--include/cru/common/io/FileStream.h (renamed from include/cru/common/io/FileStream.hpp)4
-rw-r--r--include/cru/common/io/MemoryStream.h (renamed from include/cru/common/io/MemoryStream.hpp)2
-rw-r--r--include/cru/common/io/OpenFileFlag.h (renamed from include/cru/common/io/OpenFileFlag.hpp)2
-rw-r--r--include/cru/common/io/Resource.h (renamed from include/cru/common/io/Resource.hpp)2
-rw-r--r--include/cru/common/io/Stream.h (renamed from include/cru/common/io/Stream.hpp)4
-rw-r--r--include/cru/common/platform/Exception.h (renamed from include/cru/common/platform/Exception.hpp)4
-rw-r--r--include/cru/common/platform/osx/Convert.h (renamed from include/cru/common/platform/osx/Convert.hpp)4
-rw-r--r--include/cru/common/platform/osx/Exception.h (renamed from include/cru/common/platform/osx/Exception.hpp)4
-rw-r--r--include/cru/common/platform/unix/ErrnoException.h (renamed from include/cru/common/platform/unix/ErrnoException.hpp)4
-rw-r--r--include/cru/common/platform/unix/UnixFileStream.h (renamed from include/cru/common/platform/unix/UnixFileStream.hpp)8
-rw-r--r--include/cru/common/platform/win/ComAutoInit.h (renamed from include/cru/common/platform/win/ComAutoInit.hpp)6
-rw-r--r--include/cru/common/platform/win/Exception.h (renamed from include/cru/common/platform/win/Exception.hpp)6
-rw-r--r--include/cru/common/platform/win/StreamConvert.h (renamed from include/cru/common/platform/win/StreamConvert.hpp)4
-rw-r--r--include/cru/common/platform/win/Win32FileStream.h (renamed from include/cru/common/platform/win/Win32FileStream.hpp)8
-rw-r--r--include/cru/common/platform/win/WinPreConfig.h (renamed from include/cru/common/platform/win/WinPreConfig.hpp)2
-rw-r--r--include/cru/osx/Convert.h2
-rw-r--r--include/cru/osx/Convert.hpp2
-rw-r--r--include/cru/osx/Exception.h3
-rw-r--r--include/cru/osx/Exception.hpp3
-rw-r--r--include/cru/osx/Resource.h (renamed from include/cru/osx/Resource.hpp)2
-rw-r--r--include/cru/osx/graphics/quartz/Brush.h (renamed from include/cru/osx/graphics/quartz/Brush.hpp)8
-rw-r--r--include/cru/osx/graphics/quartz/Convert.h (renamed from include/cru/osx/graphics/quartz/Convert.hpp)8
-rw-r--r--include/cru/osx/graphics/quartz/Factory.h (renamed from include/cru/osx/graphics/quartz/Factory.hpp)10
-rw-r--r--include/cru/osx/graphics/quartz/Font.h (renamed from include/cru/osx/graphics/quartz/Font.hpp)6
-rw-r--r--include/cru/osx/graphics/quartz/Geometry.h (renamed from include/cru/osx/graphics/quartz/Geometry.hpp)4
-rw-r--r--include/cru/osx/graphics/quartz/Image.h (renamed from include/cru/osx/graphics/quartz/Image.hpp)6
-rw-r--r--include/cru/osx/graphics/quartz/ImageFactory.h (renamed from include/cru/osx/graphics/quartz/ImageFactory.hpp)4
-rw-r--r--include/cru/osx/graphics/quartz/Painter.h (renamed from include/cru/osx/graphics/quartz/Painter.hpp)8
-rw-r--r--include/cru/osx/graphics/quartz/Resource.h (renamed from include/cru/osx/graphics/quartz/Resource.hpp)6
-rw-r--r--include/cru/osx/graphics/quartz/TextLayout.h (renamed from include/cru/osx/graphics/quartz/TextLayout.hpp)8
-rw-r--r--include/cru/osx/gui/Clipboard.h (renamed from include/cru/osx/gui/Clipboard.hpp)6
-rw-r--r--include/cru/osx/gui/Cursor.h (renamed from include/cru/osx/gui/Cursor.hpp)4
-rw-r--r--include/cru/osx/gui/InputMethod.h (renamed from include/cru/osx/gui/InputMethod.hpp)4
-rw-r--r--include/cru/osx/gui/Keyboard.h (renamed from include/cru/osx/gui/Keyboard.hpp)2
-rw-r--r--include/cru/osx/gui/Menu.h (renamed from include/cru/osx/gui/Menu.hpp)4
-rw-r--r--include/cru/osx/gui/Resource.h (renamed from include/cru/osx/gui/Resource.hpp)4
-rw-r--r--include/cru/osx/gui/UiApplication.h (renamed from include/cru/osx/gui/UiApplication.hpp)4
-rw-r--r--include/cru/osx/gui/Window.h (renamed from include/cru/osx/gui/Window.hpp)8
-rw-r--r--include/cru/parse/Base.h (renamed from include/cru/parse/Base.hpp)0
-rw-r--r--include/cru/parse/Grammar.h (renamed from include/cru/parse/Grammar.hpp)2
-rw-r--r--include/cru/parse/Nonterminal.h (renamed from include/cru/parse/Nonterminal.hpp)2
-rw-r--r--include/cru/parse/ParsingAlgorithm.h (renamed from include/cru/parse/ParsingAlgorithm.hpp)2
-rw-r--r--include/cru/parse/ParsingAlgorithmContext.h (renamed from include/cru/parse/ParsingAlgorithmContext.hpp)6
-rw-r--r--include/cru/parse/ParsingContext.h (renamed from include/cru/parse/ParsingContext.hpp)4
-rw-r--r--include/cru/parse/ParsingTreeNode.h (renamed from include/cru/parse/ParsingTreeNode.hpp)2
-rw-r--r--include/cru/parse/Production.h (renamed from include/cru/parse/Production.hpp)6
-rw-r--r--include/cru/parse/RecursiveDescentAlgorithm.h (renamed from include/cru/parse/RecursiveDescentAlgorithm.hpp)2
-rw-r--r--include/cru/parse/RecursiveDescentAlgorithmContext.h (renamed from include/cru/parse/RecursiveDescentAlgorithmContext.hpp)8
-rw-r--r--include/cru/parse/Symbol.h (renamed from include/cru/parse/Symbol.hpp)4
-rw-r--r--include/cru/parse/Terminal.h (renamed from include/cru/parse/Terminal.hpp)2
-rw-r--r--include/cru/parse/Token.h (renamed from include/cru/parse/Token.hpp)0
-rw-r--r--include/cru/parse/TokenType.h (renamed from include/cru/parse/TokenType.hpp)6
-rw-r--r--include/cru/platform/Base.h (renamed from include/cru/platform/Base.hpp)0
-rw-r--r--include/cru/platform/Check.h (renamed from include/cru/platform/Check.hpp)8
-rw-r--r--include/cru/platform/Color.h (renamed from include/cru/platform/Color.hpp)8
-rw-r--r--include/cru/platform/Exception.h (renamed from include/cru/platform/Exception.hpp)8
-rw-r--r--include/cru/platform/GraphicsBase.h (renamed from include/cru/platform/GraphicsBase.hpp)8
-rw-r--r--include/cru/platform/Matrix.h (renamed from include/cru/platform/Matrix.hpp)2
-rw-r--r--include/cru/platform/Resource.h (renamed from include/cru/platform/Resource.hpp)6
-rw-r--r--include/cru/platform/bootstrap/Bootstrap.h (renamed from include/cru/platform/bootstrap/Bootstrap.hpp)2
-rw-r--r--include/cru/platform/graphics/Base.h (renamed from include/cru/platform/graphics/Base.hpp)8
-rw-r--r--include/cru/platform/graphics/Brush.h (renamed from include/cru/platform/graphics/Brush.hpp)2
-rw-r--r--include/cru/platform/graphics/Factory.h (renamed from include/cru/platform/graphics/Factory.hpp)14
-rw-r--r--include/cru/platform/graphics/Font.h (renamed from include/cru/platform/graphics/Font.hpp)2
-rw-r--r--include/cru/platform/graphics/Geometry.h (renamed from include/cru/platform/graphics/Geometry.hpp)2
-rw-r--r--include/cru/platform/graphics/Image.h (renamed from include/cru/platform/graphics/Image.hpp)2
-rw-r--r--include/cru/platform/graphics/ImageFactory.h (renamed from include/cru/platform/graphics/ImageFactory.hpp)6
-rw-r--r--include/cru/platform/graphics/NullPainter.h (renamed from include/cru/platform/graphics/NullPainter.hpp)4
-rw-r--r--include/cru/platform/graphics/Painter.h (renamed from include/cru/platform/graphics/Painter.hpp)2
-rw-r--r--include/cru/platform/graphics/Resource.h (renamed from include/cru/platform/graphics/Resource.hpp)2
-rw-r--r--include/cru/platform/graphics/TextLayout.h (renamed from include/cru/platform/graphics/TextLayout.hpp)2
-rw-r--r--include/cru/platform/graphics/util/Painter.h (renamed from include/cru/platform/graphics/util/Painter.hpp)2
-rw-r--r--include/cru/platform/gui/Base.h (renamed from include/cru/platform/gui/Base.hpp)8
-rw-r--r--include/cru/platform/gui/Clipboard.h (renamed from include/cru/platform/gui/Clipboard.hpp)2
-rw-r--r--include/cru/platform/gui/Cursor.h (renamed from include/cru/platform/gui/Cursor.hpp)2
-rw-r--r--include/cru/platform/gui/DebugFlags.h (renamed from include/cru/platform/gui/DebugFlags.hpp)0
-rw-r--r--include/cru/platform/gui/InputMethod.h (renamed from include/cru/platform/gui/InputMethod.hpp)4
-rw-r--r--include/cru/platform/gui/Keyboard.h (renamed from include/cru/platform/gui/Keyboard.hpp)4
-rw-r--r--include/cru/platform/gui/Menu.h (renamed from include/cru/platform/gui/Menu.hpp)4
-rw-r--r--include/cru/platform/gui/SaveOpenDialogOptions.h (renamed from include/cru/platform/gui/SaveOpenDialogOptions.hpp)2
-rw-r--r--include/cru/platform/gui/TimerHelper.h (renamed from include/cru/platform/gui/TimerHelper.hpp)2
-rw-r--r--include/cru/platform/gui/UiApplication.h (renamed from include/cru/platform/gui/UiApplication.hpp)8
-rw-r--r--include/cru/platform/gui/Window.h (renamed from include/cru/platform/gui/Window.hpp)6
-rw-r--r--include/cru/toml/Base.h (renamed from include/cru/toml/Base.hpp)0
-rw-r--r--include/cru/toml/TomlDocument.h (renamed from include/cru/toml/TomlDocument.hpp)6
-rw-r--r--include/cru/toml/TomlParser.h (renamed from include/cru/toml/TomlParser.hpp)4
-rw-r--r--include/cru/ui/Base.h (renamed from include/cru/ui/Base.hpp)6
-rw-r--r--include/cru/ui/DebugFlags.h (renamed from include/cru/ui/DebugFlags.hpp)0
-rw-r--r--include/cru/ui/ThemeManager.h (renamed from include/cru/ui/ThemeManager.hpp)16
-rw-r--r--include/cru/ui/components/Component.h (renamed from include/cru/ui/components/Component.hpp)2
-rw-r--r--include/cru/ui/components/Menu.h (renamed from include/cru/ui/components/Menu.hpp)14
-rw-r--r--include/cru/ui/controls/Base.h (renamed from include/cru/ui/controls/Base.hpp)2
-rw-r--r--include/cru/ui/controls/Button.h (renamed from include/cru/ui/controls/Button.hpp)12
-rw-r--r--include/cru/ui/controls/Container.h (renamed from include/cru/ui/controls/Container.hpp)2
-rw-r--r--include/cru/ui/controls/ContentControl.h (renamed from include/cru/ui/controls/ContentControl.hpp)4
-rw-r--r--include/cru/ui/controls/Control.h (renamed from include/cru/ui/controls/Control.hpp)8
-rw-r--r--include/cru/ui/controls/FlexLayout.h (renamed from include/cru/ui/controls/FlexLayout.hpp)2
-rw-r--r--include/cru/ui/controls/IBorderControl.h (renamed from include/cru/ui/controls/IBorderControl.hpp)6
-rw-r--r--include/cru/ui/controls/IClickableControl.h (renamed from include/cru/ui/controls/IClickableControl.hpp)6
-rw-r--r--include/cru/ui/controls/LayoutControl.h (renamed from include/cru/ui/controls/LayoutControl.hpp)2
-rw-r--r--include/cru/ui/controls/NoChildControl.h (renamed from include/cru/ui/controls/NoChildControl.hpp)2
-rw-r--r--include/cru/ui/controls/Popup.h (renamed from include/cru/ui/controls/Popup.hpp)4
-rw-r--r--include/cru/ui/controls/RootControl.h (renamed from include/cru/ui/controls/RootControl.hpp)16
-rw-r--r--include/cru/ui/controls/ScrollView.h (renamed from include/cru/ui/controls/ScrollView.hpp)8
-rw-r--r--include/cru/ui/controls/StackLayout.h (renamed from include/cru/ui/controls/StackLayout.hpp)4
-rw-r--r--include/cru/ui/controls/TextBlock.h (renamed from include/cru/ui/controls/TextBlock.hpp)4
-rw-r--r--include/cru/ui/controls/TextBox.h (renamed from include/cru/ui/controls/TextBox.hpp)6
-rw-r--r--include/cru/ui/controls/TextHostControlService.h (renamed from include/cru/ui/controls/TextHostControlService.hpp)12
-rw-r--r--include/cru/ui/controls/Window.h (renamed from include/cru/ui/controls/Window.hpp)6
-rw-r--r--include/cru/ui/events/FocusChangeEventArgs.h (renamed from include/cru/ui/events/FocusChangeEventArgs.hpp)2
-rw-r--r--include/cru/ui/events/KeyEventArgs.h (renamed from include/cru/ui/events/KeyEventArgs.hpp)4
-rw-r--r--include/cru/ui/events/MouseButtonEventArgs.h (renamed from include/cru/ui/events/MouseButtonEventArgs.hpp)4
-rw-r--r--include/cru/ui/events/MouseEventArgs.h (renamed from include/cru/ui/events/MouseEventArgs.hpp)2
-rw-r--r--include/cru/ui/events/MouseWheelEventArgs.h (renamed from include/cru/ui/events/MouseWheelEventArgs.hpp)4
-rw-r--r--include/cru/ui/events/PaintEventArgs.h (renamed from include/cru/ui/events/PaintEventArgs.hpp)2
-rw-r--r--include/cru/ui/events/RoutedEvent.h (renamed from include/cru/ui/events/RoutedEvent.hpp)4
-rw-r--r--include/cru/ui/events/UiEventArgs.h (renamed from include/cru/ui/events/UiEventArgs.hpp)2
-rw-r--r--include/cru/ui/events/UiEvents.h10
-rw-r--r--include/cru/ui/events/UiEvents.hpp10
-rw-r--r--include/cru/ui/helper/ClickDetector.h (renamed from include/cru/ui/helper/ClickDetector.hpp)2
-rw-r--r--include/cru/ui/helper/ShortcutHub.h (renamed from include/cru/ui/helper/ShortcutHub.hpp)8
-rw-r--r--include/cru/ui/host/LayoutPaintCycler.h (renamed from include/cru/ui/host/LayoutPaintCycler.hpp)6
-rw-r--r--include/cru/ui/host/WindowHost.h (renamed from include/cru/ui/host/WindowHost.hpp)12
-rw-r--r--include/cru/ui/mapper/BorderStyleMapper.h (renamed from include/cru/ui/mapper/BorderStyleMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/BrushMapper.h (renamed from include/cru/ui/mapper/BrushMapper.hpp)8
-rw-r--r--include/cru/ui/mapper/ColorMapper.h (renamed from include/cru/ui/mapper/ColorMapper.hpp)4
-rw-r--r--include/cru/ui/mapper/CornerRadiusMapper.h (renamed from include/cru/ui/mapper/CornerRadiusMapper.hpp)2
-rw-r--r--include/cru/ui/mapper/CursorMapper.h (renamed from include/cru/ui/mapper/CursorMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/FontMapper.h (renamed from include/cru/ui/mapper/FontMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/Mapper.h (renamed from include/cru/ui/mapper/Mapper.hpp)8
-rw-r--r--include/cru/ui/mapper/MapperRegistry.h (renamed from include/cru/ui/mapper/MapperRegistry.hpp)2
-rw-r--r--include/cru/ui/mapper/PointMapper.h (renamed from include/cru/ui/mapper/PointMapper.hpp)2
-rw-r--r--include/cru/ui/mapper/SizeMapper.h (renamed from include/cru/ui/mapper/SizeMapper.hpp)2
-rw-r--r--include/cru/ui/mapper/ThicknessMapper.h (renamed from include/cru/ui/mapper/ThicknessMapper.hpp)8
-rw-r--r--include/cru/ui/mapper/style/AndConditionMapper.h (renamed from include/cru/ui/mapper/style/AndConditionMapper.hpp)4
-rw-r--r--include/cru/ui/mapper/style/BorderStylerMapper.h (renamed from include/cru/ui/mapper/style/BorderStylerMapper.hpp)10
-rw-r--r--include/cru/ui/mapper/style/ClickStateConditionMapper.h (renamed from include/cru/ui/mapper/style/ClickStateConditionMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/style/CursorStylerMapper.h (renamed from include/cru/ui/mapper/style/CursorStylerMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/style/FocusConditionMapper.h (renamed from include/cru/ui/mapper/style/FocusConditionMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/style/HoverConditionMapper.h (renamed from include/cru/ui/mapper/style/HoverConditionMapper.hpp)6
-rw-r--r--include/cru/ui/mapper/style/IConditionMapper.h (renamed from include/cru/ui/mapper/style/IConditionMapper.hpp)10
-rw-r--r--include/cru/ui/mapper/style/IStylerMapper.h (renamed from include/cru/ui/mapper/style/IStylerMapper.hpp)10
-rw-r--r--include/cru/ui/mapper/style/NoConditionMapper.h (renamed from include/cru/ui/mapper/style/NoConditionMapper.hpp)12
-rw-r--r--include/cru/ui/mapper/style/OrConditionMapper.h (renamed from include/cru/ui/mapper/style/OrConditionMapper.hpp)4
-rw-r--r--include/cru/ui/mapper/style/StyleRuleMapper.h (renamed from include/cru/ui/mapper/style/StyleRuleMapper.hpp)8
-rw-r--r--include/cru/ui/mapper/style/StyleRuleSetMapper.h (renamed from include/cru/ui/mapper/style/StyleRuleSetMapper.hpp)4
-rw-r--r--include/cru/ui/render/Base.h (renamed from include/cru/ui/render/Base.hpp)2
-rw-r--r--include/cru/ui/render/BorderRenderObject.h (renamed from include/cru/ui/render/BorderRenderObject.hpp)8
-rw-r--r--include/cru/ui/render/CanvasRenderObject.h (renamed from include/cru/ui/render/CanvasRenderObject.hpp)2
-rw-r--r--include/cru/ui/render/FlexLayoutRenderObject.h (renamed from include/cru/ui/render/FlexLayoutRenderObject.hpp)2
-rw-r--r--include/cru/ui/render/LayoutHelper.h (renamed from include/cru/ui/render/LayoutHelper.hpp)4
-rw-r--r--include/cru/ui/render/LayoutRenderObject.h (renamed from include/cru/ui/render/LayoutRenderObject.hpp)4
-rw-r--r--include/cru/ui/render/MeasureRequirement.h (renamed from include/cru/ui/render/MeasureRequirement.hpp)4
-rw-r--r--include/cru/ui/render/RenderObject.h (renamed from include/cru/ui/render/RenderObject.hpp)10
-rw-r--r--include/cru/ui/render/ScrollBar.h (renamed from include/cru/ui/render/ScrollBar.hpp)26
-rw-r--r--include/cru/ui/render/ScrollRenderObject.h (renamed from include/cru/ui/render/ScrollRenderObject.hpp)10
-rw-r--r--include/cru/ui/render/StackLayoutRenderObject.h (renamed from include/cru/ui/render/StackLayoutRenderObject.hpp)4
-rw-r--r--include/cru/ui/render/TextRenderObject.h (renamed from include/cru/ui/render/TextRenderObject.hpp)2
-rw-r--r--include/cru/ui/style/ApplyBorderStyleInfo.h (renamed from include/cru/ui/style/ApplyBorderStyleInfo.hpp)2
-rw-r--r--include/cru/ui/style/Condition.h (renamed from include/cru/ui/style/Condition.hpp)12
-rw-r--r--include/cru/ui/style/StyleRule.h (renamed from include/cru/ui/style/StyleRule.hpp)8
-rw-r--r--include/cru/ui/style/StyleRuleSet.h (renamed from include/cru/ui/style/StyleRuleSet.hpp)6
-rw-r--r--include/cru/ui/style/Styler.h (renamed from include/cru/ui/style/Styler.hpp)12
-rw-r--r--include/cru/win/Base.h (renamed from include/cru/win/Base.hpp)2
-rw-r--r--include/cru/win/DebugLogger.h (renamed from include/cru/win/DebugLogger.hpp)4
-rw-r--r--include/cru/win/Exception.h3
-rw-r--r--include/cru/win/Exception.hpp3
-rw-r--r--include/cru/win/StdOutLogger.h (renamed from include/cru/win/StdOutLogger.hpp)4
-rw-r--r--include/cru/win/WinPreConfig.h2
-rw-r--r--include/cru/win/WinPreConfig.hpp2
-rw-r--r--include/cru/win/graphics/direct/Base.h (renamed from include/cru/win/graphics/direct/Base.hpp)2
-rw-r--r--include/cru/win/graphics/direct/Brush.h (renamed from include/cru/win/graphics/direct/Brush.hpp)6
-rw-r--r--include/cru/win/graphics/direct/ComResource.h (renamed from include/cru/win/graphics/direct/ComResource.hpp)4
-rw-r--r--include/cru/win/graphics/direct/ConvertUtil.h (renamed from include/cru/win/graphics/direct/ConvertUtil.hpp)4
-rw-r--r--include/cru/win/graphics/direct/Exception.h (renamed from include/cru/win/graphics/direct/Exception.hpp)2
-rw-r--r--include/cru/win/graphics/direct/Factory.h (renamed from include/cru/win/graphics/direct/Factory.hpp)10
-rw-r--r--include/cru/win/graphics/direct/Font.h (renamed from include/cru/win/graphics/direct/Font.hpp)6
-rw-r--r--include/cru/win/graphics/direct/Geometry.h (renamed from include/cru/win/graphics/direct/Geometry.hpp)6
-rw-r--r--include/cru/win/graphics/direct/Image.h (renamed from include/cru/win/graphics/direct/Image.hpp)4
-rw-r--r--include/cru/win/graphics/direct/ImageFactory.h (renamed from include/cru/win/graphics/direct/ImageFactory.hpp)6
-rw-r--r--include/cru/win/graphics/direct/Painter.h (renamed from include/cru/win/graphics/direct/Painter.hpp)6
-rw-r--r--include/cru/win/graphics/direct/Resource.h (renamed from include/cru/win/graphics/direct/Resource.hpp)4
-rw-r--r--include/cru/win/graphics/direct/TextLayout.h (renamed from include/cru/win/graphics/direct/TextLayout.hpp)6
-rw-r--r--include/cru/win/graphics/direct/WindowPainter.h (renamed from include/cru/win/graphics/direct/WindowPainter.hpp)4
-rw-r--r--include/cru/win/graphics/direct/WindowRenderTarget.h (renamed from include/cru/win/graphics/direct/WindowRenderTarget.hpp)2
-rw-r--r--include/cru/win/gui/Base.h (renamed from include/cru/win/gui/Base.hpp)4
-rw-r--r--include/cru/win/gui/Clipboard.h (renamed from include/cru/win/gui/Clipboard.hpp)8
-rw-r--r--include/cru/win/gui/Cursor.h (renamed from include/cru/win/gui/Cursor.hpp)4
-rw-r--r--include/cru/win/gui/Exception.h (renamed from include/cru/win/gui/Exception.hpp)2
-rw-r--r--include/cru/win/gui/GodWindow.h (renamed from include/cru/win/gui/GodWindow.hpp)8
-rw-r--r--include/cru/win/gui/InputMethod.h (renamed from include/cru/win/gui/InputMethod.hpp)6
-rw-r--r--include/cru/win/gui/Keyboard.h (renamed from include/cru/win/gui/Keyboard.hpp)4
-rw-r--r--include/cru/win/gui/Resource.h (renamed from include/cru/win/gui/Resource.hpp)4
-rw-r--r--include/cru/win/gui/UiApplication.h (renamed from include/cru/win/gui/UiApplication.hpp)6
-rw-r--r--include/cru/win/gui/Window.h (renamed from include/cru/win/gui/Window.hpp)10
-rw-r--r--include/cru/win/gui/WindowClass.h (renamed from include/cru/win/gui/WindowClass.hpp)2
-rw-r--r--include/cru/win/gui/WindowNativeMessageEventArgs.h (renamed from include/cru/win/gui/WindowNativeMessageEventArgs.hpp)4
-rw-r--r--include/cru/xml/Base.h (renamed from include/cru/xml/Base.hpp)0
-rw-r--r--include/cru/xml/XmlNode.h (renamed from include/cru/xml/XmlNode.hpp)4
-rw-r--r--include/cru/xml/XmlParser.h (renamed from include/cru/xml/XmlParser.hpp)6
-rw-r--r--src/common/Base.cpp2
-rw-r--r--src/common/Exception.cpp2
-rw-r--r--src/common/Format.cpp2
-rw-r--r--src/common/Logger.cpp2
-rw-r--r--src/common/PropertyTree.cpp4
-rw-r--r--src/common/String.cpp6
-rw-r--r--src/common/StringUtil.cpp6
-rw-r--r--src/common/io/MemoryStream.cpp2
-rw-r--r--src/common/io/Resource.cpp4
-rw-r--r--src/common/io/Stream.cpp2
-rw-r--r--src/common/platform/Exception.cpp2
-rw-r--r--src/common/platform/osx/Convert.cpp2
-rw-r--r--src/common/platform/osx/Exception.cpp2
-rw-r--r--src/common/platform/unix/ErrnoException.cpp4
-rw-r--r--src/common/platform/unix/UnixFileStream.cpp8
-rw-r--r--src/common/platform/win/BridgeComStream.cpp4
-rw-r--r--src/common/platform/win/BrigdeComStream.h (renamed from src/common/platform/win/BrigdeComStream.hpp)4
-rw-r--r--src/common/platform/win/ComAutoInit.cpp4
-rw-r--r--src/common/platform/win/Exception.cpp4
-rw-r--r--src/common/platform/win/StreamConvert.cpp16
-rw-r--r--src/common/platform/win/Win32FileStream.cpp6
-rw-r--r--src/osx/Resource.cpp2
-rw-r--r--src/osx/graphics/quartz/Brush.cpp6
-rw-r--r--src/osx/graphics/quartz/Convert.cpp2
-rw-r--r--src/osx/graphics/quartz/Factory.cpp18
-rw-r--r--src/osx/graphics/quartz/Font.cpp8
-rw-r--r--src/osx/graphics/quartz/Geometry.cpp2
-rw-r--r--src/osx/graphics/quartz/Image.cpp4
-rw-r--r--src/osx/graphics/quartz/ImageFactory.cpp8
-rw-r--r--src/osx/graphics/quartz/Painter.cpp22
-rw-r--r--src/osx/graphics/quartz/Resource.cpp2
-rw-r--r--src/osx/graphics/quartz/TextLayout.cpp18
-rw-r--r--src/osx/gui/Clipboard.mm6
-rw-r--r--src/osx/gui/ClipboardPrivate.h4
-rw-r--r--src/osx/gui/Cursor.mm10
-rw-r--r--src/osx/gui/CursorPrivate.h2
-rw-r--r--src/osx/gui/InputMethod.mm8
-rw-r--r--src/osx/gui/InputMethodPrivate.h2
-rw-r--r--src/osx/gui/Keyboard.mm2
-rw-r--r--src/osx/gui/KeyboardPrivate.h2
-rw-r--r--src/osx/gui/Menu.mm4
-rw-r--r--src/osx/gui/MenuPrivate.h2
-rw-r--r--src/osx/gui/Resource.cpp2
-rw-r--r--src/osx/gui/UiApplication.mm24
-rw-r--r--src/osx/gui/Window.mm28
-rw-r--r--src/osx/gui/WindowPrivate.h10
-rw-r--r--src/parse/Grammar.cpp8
-rw-r--r--src/parse/Nonterminal.cpp2
-rw-r--r--src/parse/ParsingAlgorithm.cpp2
-rw-r--r--src/parse/ParsingAlgorithmContext.cpp2
-rw-r--r--src/parse/ParsingContext.cpp4
-rw-r--r--src/parse/ParsingTreeNode.cpp2
-rw-r--r--src/parse/Production.cpp2
-rw-r--r--src/parse/RecursiveDescentAlgorithm.cpp6
-rw-r--r--src/parse/RecursiveDescentAlgorithmContext.cpp4
-rw-r--r--src/parse/Symbol.cpp2
-rw-r--r--src/parse/Terminal.cpp2
-rw-r--r--src/parse/TokenType.cpp2
-rw-r--r--src/platform/Color.cpp2
-rw-r--r--src/platform/ForDllExport.cpp4
-rw-r--r--src/platform/bootstrap/Bootstrap.cpp6
-rw-r--r--src/platform/graphics/ForDllExport.cpp18
-rw-r--r--src/platform/graphics/NullPainter.cpp2
-rw-r--r--src/platform/gui/Keyboard.cpp2
-rw-r--r--src/platform/gui/Menu.cpp2
-rw-r--r--src/platform/gui/UiApplication.cpp2
-rw-r--r--src/theme_builder/components/MainWindow.cpp8
-rw-r--r--src/theme_builder/components/MainWindow.h (renamed from src/theme_builder/components/MainWindow.hpp)10
-rw-r--r--src/theme_builder/components/StyleRuleSetEditor.cpp2
-rw-r--r--src/theme_builder/components/StyleRuleSetEditor.h (renamed from src/theme_builder/components/StyleRuleSetEditor.hpp)6
-rw-r--r--src/theme_builder/main.cpp4
-rw-r--r--src/toml/TomlDocument.cpp2
-rw-r--r--src/toml/TomlParser.cpp4
-rw-r--r--src/ui/Helper.cpp6
-rw-r--r--src/ui/Helper.h (renamed from src/ui/Helper.hpp)2
-rw-r--r--src/ui/ThemeManager.cpp22
-rw-r--r--src/ui/components/Component.cpp2
-rw-r--r--src/ui/components/Menu.cpp20
-rw-r--r--src/ui/controls/Button.cpp16
-rw-r--r--src/ui/controls/Container.cpp8
-rw-r--r--src/ui/controls/ContentControl.cpp2
-rw-r--r--src/ui/controls/Control.cpp18
-rw-r--r--src/ui/controls/FlexLayout.cpp4
-rw-r--r--src/ui/controls/LayoutControl.cpp4
-rw-r--r--src/ui/controls/NoChildControl.cpp2
-rw-r--r--src/ui/controls/Popup.cpp10
-rw-r--r--src/ui/controls/RootControl.cpp18
-rw-r--r--src/ui/controls/ScrollView.cpp6
-rw-r--r--src/ui/controls/StackLayout.cpp4
-rw-r--r--src/ui/controls/TextBlock.cpp10
-rw-r--r--src/ui/controls/TextBox.cpp16
-rw-r--r--src/ui/controls/TextHostControlService.cpp46
-rw-r--r--src/ui/controls/Window.cpp14
-rw-r--r--src/ui/events/MouseEventArgs.cpp8
-rw-r--r--src/ui/helper/ClickDetector.cpp6
-rw-r--r--src/ui/helper/ShortcutHub.cpp8
-rw-r--r--src/ui/host/LayoutPaintCycler.cpp8
-rw-r--r--src/ui/host/RoutedEventDispatch.h (renamed from src/ui/host/RoutedEventDispatch.hpp)6
-rw-r--r--src/ui/host/WindowHost.cpp26
-rw-r--r--src/ui/mapper/BorderStyleMapper.cpp16
-rw-r--r--src/ui/mapper/BrushMapper.cpp16
-rw-r--r--src/ui/mapper/ColorMapper.cpp2
-rw-r--r--src/ui/mapper/CornerRadiusMapper.cpp6
-rw-r--r--src/ui/mapper/CursorMapper.cpp10
-rw-r--r--src/ui/mapper/FontMapper.cpp6
-rw-r--r--src/ui/mapper/Mapper.cpp2
-rw-r--r--src/ui/mapper/MapperRegistry.cpp40
-rw-r--r--src/ui/mapper/PointMapper.cpp2
-rw-r--r--src/ui/mapper/SizeMapper.cpp2
-rw-r--r--src/ui/mapper/ThicknessMapper.cpp4
-rw-r--r--src/ui/mapper/style/AndConditionMapper.cpp12
-rw-r--r--src/ui/mapper/style/BorderStylerMapper.cpp12
-rw-r--r--src/ui/mapper/style/ClickStateConditionMapper.cpp10
-rw-r--r--src/ui/mapper/style/CursorStylerMapper.cpp10
-rw-r--r--src/ui/mapper/style/FocusConditionMapper.cpp8
-rw-r--r--src/ui/mapper/style/HoverConditionMapper.cpp6
-rw-r--r--src/ui/mapper/style/NoConditionMapper.cpp6
-rw-r--r--src/ui/mapper/style/OrConditionMapper.cpp12
-rw-r--r--src/ui/mapper/style/StyleRuleMapper.cpp16
-rw-r--r--src/ui/mapper/style/StyleRuleSetMapper.cpp8
-rw-r--r--src/ui/render/BorderRenderObject.cpp20
-rw-r--r--src/ui/render/CanvasRenderObject.cpp2
-rw-r--r--src/ui/render/FlexLayoutRenderObject.cpp12
-rw-r--r--src/ui/render/LayoutHelper.cpp4
-rw-r--r--src/ui/render/RenderObject.cpp16
-rw-r--r--src/ui/render/ScrollBar.cpp34
-rw-r--r--src/ui/render/ScrollRenderObject.cpp12
-rw-r--r--src/ui/render/StackLayoutRenderObject.cpp8
-rw-r--r--src/ui/render/TextRenderObject.cpp16
-rw-r--r--src/ui/style/Condition.cpp12
-rw-r--r--src/ui/style/StyleRule.cpp2
-rw-r--r--src/ui/style/StyleRuleSet.cpp6
-rw-r--r--src/ui/style/Styler.cpp16
-rw-r--r--src/win/ForDllExport.cpp4
-rw-r--r--src/win/graphics/direct/Brush.cpp8
-rw-r--r--src/win/graphics/direct/Factory.cpp18
-rw-r--r--src/win/graphics/direct/Font.cpp8
-rw-r--r--src/win/graphics/direct/Geometry.cpp8
-rw-r--r--src/win/graphics/direct/Image.cpp10
-rw-r--r--src/win/graphics/direct/ImageFactory.cpp10
-rw-r--r--src/win/graphics/direct/Painter.cpp18
-rw-r--r--src/win/graphics/direct/Resource.cpp4
-rw-r--r--src/win/graphics/direct/TextLayout.cpp12
-rw-r--r--src/win/graphics/direct/WindowPainter.cpp8
-rw-r--r--src/win/graphics/direct/WindowRenderTarget.cpp6
-rw-r--r--src/win/gui/Clipboard.cpp8
-rw-r--r--src/win/gui/Cursor.cpp6
-rw-r--r--src/win/gui/GodWindow.cpp10
-rw-r--r--src/win/gui/InputMethod.cpp16
-rw-r--r--src/win/gui/Keyboard.cpp2
-rw-r--r--src/win/gui/Resource.cpp4
-rw-r--r--src/win/gui/TimerManager.cpp6
-rw-r--r--src/win/gui/TimerManager.h (renamed from src/win/gui/TimerManager.hpp)10
-rw-r--r--src/win/gui/UiApplication.cpp32
-rw-r--r--src/win/gui/Window.cpp32
-rw-r--r--src/win/gui/WindowClass.cpp4
-rw-r--r--src/win/gui/WindowManager.cpp8
-rw-r--r--src/win/gui/WindowManager.h (renamed from src/win/gui/WindowManager.hpp)4
-rw-r--r--src/xml/XmlNode.cpp2
-rw-r--r--src/xml/XmlParser.cpp4
-rw-r--r--test/common/HandlerRegistryTest.cpp2
-rw-r--r--test/common/PropertyTreeTest.cpp2
-rw-r--r--test/common/StringTest.cpp4
-rw-r--r--test/common/StringUtilTest.cpp4
-rw-r--r--test/common/platform/unix/UnixFileStreamTest.cpp4
-rw-r--r--test/common/platform/win/StreamConvertTest.cpp8
-rw-r--r--test/common/platform/win/Win32FileStreamTest.cpp4
-rw-r--r--test/platform/ColorTest.cpp2
-rw-r--r--test/platform/MatrixTest.cpp4
-rw-r--r--test/toml/ParserTest.cpp4
-rw-r--r--test/win/graphics/direct/ConvertTest.cpp4
-rw-r--r--test/xml/ParserTest.cpp4
-rwxr-xr-xtools/migrate-2/rename-hpp-to-h.py34
394 files changed, 1284 insertions, 1250 deletions
diff --git a/demos/graphics_experiments/1.cpp b/demos/graphics_experiments/1.cpp
index 51411f12..c85387dc 100644
--- a/demos/graphics_experiments/1.cpp
+++ b/demos/graphics_experiments/1.cpp
@@ -1,12 +1,12 @@
// Code referred from
// https://iq.opengenus.org/bresenham-line-drawining-algorithm/
-#include "cru/platform/Color.hpp"
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "cru/platform/Color.h"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
#include <functional>
diff --git a/demos/graphics_experiments/2.cpp b/demos/graphics_experiments/2.cpp
index d61dc9ea..495f8246 100644
--- a/demos/graphics_experiments/2.cpp
+++ b/demos/graphics_experiments/2.cpp
@@ -1,12 +1,12 @@
// Code referred from
// https://www.geeksforgeeks.org/scan-line-polygon-filling-using-opengl-c/
-#include "cru/platform/Color.hpp"
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "cru/platform/Color.h"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
#include <cmath>
#include <cstdio>
diff --git a/demos/graphics_experiments/4.cpp b/demos/graphics_experiments/4.cpp
index 04f7edb7..60bd2db9 100644
--- a/demos/graphics_experiments/4.cpp
+++ b/demos/graphics_experiments/4.cpp
@@ -1,9 +1,9 @@
-#include "cru/platform/GraphicsBase.hpp"
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "cru/platform/GraphicsBase.h"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
#include <dlib/matrix.h>
#include <dlib/numeric_constants.h>
diff --git a/demos/input_method/main.cpp b/demos/input_method/main.cpp
index 1c61f668..7d55f2db 100644
--- a/demos/input_method/main.cpp
+++ b/demos/input_method/main.cpp
@@ -1,11 +1,11 @@
-#include "cru/platform/Color.hpp"
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Font.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/gui/InputMethod.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "cru/platform/Color.h"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Font.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/gui/InputMethod.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
int main() {
using namespace cru;
diff --git a/demos/main/main.cpp b/demos/main/main.cpp
index 78c41731..38fad739 100644
--- a/demos/main/main.cpp
+++ b/demos/main/main.cpp
@@ -1,17 +1,17 @@
#include <memory>
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/components/Menu.hpp"
-#include "cru/ui/controls/Button.hpp"
-#include "cru/ui/controls/FlexLayout.hpp"
-#include "cru/ui/controls/TextBlock.hpp"
-#include "cru/ui/controls/TextBox.hpp"
-#include "cru/ui/controls/Window.hpp"
-#include "cru/ui/events/UiEvents.hpp"
-#include "cru/ui/host/WindowHost.hpp"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/components/Menu.h"
+#include "cru/ui/controls/Button.h"
+#include "cru/ui/controls/FlexLayout.h"
+#include "cru/ui/controls/TextBlock.h"
+#include "cru/ui/controls/TextBox.h"
+#include "cru/ui/controls/Window.h"
+#include "cru/ui/events/UiEvents.h"
+#include "cru/ui/host/WindowHost.h"
using cru::platform::gui::IUiApplication;
using cru::ui::controls::Button;
diff --git a/demos/parse/EliminateLeftRecursion.cpp b/demos/parse/EliminateLeftRecursion.cpp
index e5b97cc0..88fd5510 100644
--- a/demos/parse/EliminateLeftRecursion.cpp
+++ b/demos/parse/EliminateLeftRecursion.cpp
@@ -1,6 +1,6 @@
#include <iostream>
-#include "cru/parse/Grammar.hpp"
+#include "cru/parse/Grammar.h"
int main() {
using namespace cru::parse;
diff --git a/demos/scroll_view/main.cpp b/demos/scroll_view/main.cpp
index a8ddeeb1..fa693cf3 100644
--- a/demos/scroll_view/main.cpp
+++ b/demos/scroll_view/main.cpp
@@ -1,9 +1,9 @@
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/controls/ScrollView.hpp"
-#include "cru/ui/controls/TextBlock.hpp"
-#include "cru/ui/controls/Window.hpp"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/controls/ScrollView.h"
+#include "cru/ui/controls/TextBlock.h"
+#include "cru/ui/controls/Window.h"
using cru::platform::gui::IUiApplication;
using cru::ui::controls::ScrollView;
diff --git a/include/cru/common/Base.hpp b/include/cru/common/Base.h
index bab4f733..4d4d1f5f 100644
--- a/include/cru/common/Base.hpp
+++ b/include/cru/common/Base.h
@@ -1,5 +1,5 @@
#pragma once
-#include "PreConfig.hpp"
+#include "PreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
#ifdef CRU_BASE_EXPORT_API
diff --git a/include/cru/common/Bitmask.hpp b/include/cru/common/Bitmask.h
index c1b6443a..bd6a8309 100644
--- a/include/cru/common/Bitmask.hpp
+++ b/include/cru/common/Bitmask.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
namespace cru {
template <typename Tag, typename TUnderlying = unsigned>
diff --git a/include/cru/common/ClonablePtr.hpp b/include/cru/common/ClonablePtr.h
index 39b5b454..39b5b454 100644
--- a/include/cru/common/ClonablePtr.hpp
+++ b/include/cru/common/ClonablePtr.h
diff --git a/include/cru/common/Event.hpp b/include/cru/common/Event.h
index 5d60c5b3..564afc40 100644
--- a/include/cru/common/Event.hpp
+++ b/include/cru/common/Event.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "SelfResolvable.hpp"
+#include "SelfResolvable.h"
#include <algorithm>
#include <functional>
diff --git a/include/cru/common/Exception.hpp b/include/cru/common/Exception.h
index cb35469c..365d2064 100644
--- a/include/cru/common/Exception.hpp
+++ b/include/cru/common/Exception.h
@@ -1,5 +1,5 @@
#pragma once
-#include "String.hpp"
+#include "String.h"
namespace cru {
#ifdef _MSC_VER
diff --git a/include/cru/common/Format.hpp b/include/cru/common/Format.h
index 1ad71262..ede2998b 100644
--- a/include/cru/common/Format.hpp
+++ b/include/cru/common/Format.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Exception.hpp"
-#include "String.hpp"
+#include "Exception.h"
+#include "String.h"
#include <charconv>
diff --git a/include/cru/common/HandlerRegistry.hpp b/include/cru/common/HandlerRegistry.h
index 8049e74b..e405d1fd 100644
--- a/include/cru/common/HandlerRegistry.hpp
+++ b/include/cru/common/HandlerRegistry.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
#include <algorithm>
#include <functional>
diff --git a/include/cru/common/Logger.hpp b/include/cru/common/Logger.h
index c4a3e54a..25875651 100644
--- a/include/cru/common/Logger.hpp
+++ b/include/cru/common/Logger.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "String.hpp"
-#include "Format.hpp"
+#include "String.h"
+#include "Format.h"
#include <list>
#include <memory>
diff --git a/include/cru/common/PreConfig.hpp b/include/cru/common/PreConfig.h
index ba0f5bd8..ba0f5bd8 100644
--- a/include/cru/common/PreConfig.hpp
+++ b/include/cru/common/PreConfig.h
diff --git a/include/cru/common/PropertyTree.hpp b/include/cru/common/PropertyTree.h
index 613bcc47..54e185b9 100644
--- a/include/cru/common/PropertyTree.hpp
+++ b/include/cru/common/PropertyTree.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
-#include "String.hpp"
+#include "Base.h"
+#include "String.h"
#include <unordered_map>
diff --git a/include/cru/common/Range.hpp b/include/cru/common/Range.h
index ecc61243..e61d90ca 100644
--- a/include/cru/common/Range.hpp
+++ b/include/cru/common/Range.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
namespace cru {
struct Range final {
diff --git a/include/cru/common/SelfResolvable.hpp b/include/cru/common/SelfResolvable.h
index eaa4ce34..c8acd4b9 100644
--- a/include/cru/common/SelfResolvable.hpp
+++ b/include/cru/common/SelfResolvable.h
@@ -1,5 +1,5 @@
#pragma once
-#include "PreConfig.hpp"
+#include "PreConfig.h"
#include <memory>
#include <type_traits>
diff --git a/include/cru/common/String.hpp b/include/cru/common/String.h
index c1f957c0..0b1b031b 100644
--- a/include/cru/common/String.hpp
+++ b/include/cru/common/String.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "Range.hpp"
-#include "StringUtil.hpp"
+#include "Range.h"
+#include "StringUtil.h"
#include <double-conversion/double-conversion.h>
#include <filesystem>
diff --git a/include/cru/common/StringUtil.hpp b/include/cru/common/StringUtil.h
index c840960d..19948250 100644
--- a/include/cru/common/StringUtil.hpp
+++ b/include/cru/common/StringUtil.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
#include <functional>
diff --git a/include/cru/common/io/FileStream.hpp b/include/cru/common/io/FileStream.h
index 86c4c037..4f1499be 100644
--- a/include/cru/common/io/FileStream.hpp
+++ b/include/cru/common/io/FileStream.h
@@ -1,12 +1,12 @@
#pragma once
#ifdef CRU_PLATFORM_UNIX
-#include "../platform/unix/UnixFileStream.hpp"
+#include "../platform/unix/UnixFileStream.h"
namespace cru::io {
using FileStream = platform::unix::UnixFileStream;
}
#elif CRU_PLATFORM_WINDOWS
-#include "../platform/win/Win32FileStream.hpp"
+#include "../platform/win/Win32FileStream.h"
namespace cru::io {
using FileStream = platform::win::Win32FileStream;
}
diff --git a/include/cru/common/io/MemoryStream.hpp b/include/cru/common/io/MemoryStream.h
index 29da7b9f..a6243d67 100644
--- a/include/cru/common/io/MemoryStream.hpp
+++ b/include/cru/common/io/MemoryStream.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Stream.hpp"
+#include "Stream.h"
#include <functional>
diff --git a/include/cru/common/io/OpenFileFlag.hpp b/include/cru/common/io/OpenFileFlag.h
index 3319bb4f..b0bceddc 100644
--- a/include/cru/common/io/OpenFileFlag.hpp
+++ b/include/cru/common/io/OpenFileFlag.h
@@ -1,6 +1,6 @@
#pragma once
-#include "../Bitmask.hpp"
+#include "../Bitmask.h"
namespace cru::io {
namespace details {
diff --git a/include/cru/common/io/Resource.hpp b/include/cru/common/io/Resource.h
index 4fd00bdd..1d5313a6 100644
--- a/include/cru/common/io/Resource.hpp
+++ b/include/cru/common/io/Resource.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
#include <filesystem>
diff --git a/include/cru/common/io/Stream.hpp b/include/cru/common/io/Stream.h
index 131e82e9..66be4468 100644
--- a/include/cru/common/io/Stream.hpp
+++ b/include/cru/common/io/Stream.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
-#include "../String.hpp"
+#include "../String.h"
#include <cstddef>
#include <vector>
diff --git a/include/cru/common/platform/Exception.hpp b/include/cru/common/platform/Exception.h
index 0241947b..c1b649f3 100644
--- a/include/cru/common/platform/Exception.hpp
+++ b/include/cru/common/platform/Exception.h
@@ -1,6 +1,6 @@
#pragma once
-#include "../Base.hpp"
-#include "../Exception.hpp"
+#include "../Base.h"
+#include "../Exception.h"
namespace cru::platform {
class CRU_BASE_API PlatformException : public Exception {
diff --git a/include/cru/common/platform/osx/Convert.hpp b/include/cru/common/platform/osx/Convert.h
index a2d8beae..503576be 100644
--- a/include/cru/common/platform/osx/Convert.hpp
+++ b/include/cru/common/platform/osx/Convert.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_OSX
-#include "../../String.hpp"
+#include "../../String.h"
#include <CoreFoundation/CoreFoundation.h>
diff --git a/include/cru/common/platform/osx/Exception.hpp b/include/cru/common/platform/osx/Exception.h
index 49527c69..53e874e9 100644
--- a/include/cru/common/platform/osx/Exception.hpp
+++ b/include/cru/common/platform/osx/Exception.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_OSX
-#include "../Exception.hpp"
+#include "../Exception.h"
namespace cru::platform::osx {
class OsxException : public PlatformException {
diff --git a/include/cru/common/platform/unix/ErrnoException.hpp b/include/cru/common/platform/unix/ErrnoException.h
index 2982e26a..00e1864b 100644
--- a/include/cru/common/platform/unix/ErrnoException.hpp
+++ b/include/cru/common/platform/unix/ErrnoException.h
@@ -1,10 +1,10 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_UNIX
-#include "../Exception.hpp"
+#include "../Exception.h"
namespace cru::platform::unix {
class ErrnoException : public PlatformException {
diff --git a/include/cru/common/platform/unix/UnixFileStream.hpp b/include/cru/common/platform/unix/UnixFileStream.h
index 76355f2f..0c8ef340 100644
--- a/include/cru/common/platform/unix/UnixFileStream.hpp
+++ b/include/cru/common/platform/unix/UnixFileStream.h
@@ -1,12 +1,12 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_UNIX
-#include "../../String.hpp"
-#include "../../io/OpenFileFlag.hpp"
-#include "../../io/Stream.hpp"
+#include "../../String.h"
+#include "../../io/OpenFileFlag.h"
+#include "../../io/Stream.h"
namespace cru::platform::unix {
class UnixFileStream : public io::Stream {
diff --git a/include/cru/common/platform/win/ComAutoInit.hpp b/include/cru/common/platform/win/ComAutoInit.h
index 131f3f30..cc968e4b 100644
--- a/include/cru/common/platform/win/ComAutoInit.hpp
+++ b/include/cru/common/platform/win/ComAutoInit.h
@@ -1,10 +1,10 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
-#include "WinPreConfig.hpp"
-#include "cru/common/Base.hpp"
+#include "WinPreConfig.h"
+#include "cru/common/Base.h"
namespace cru::platform::win {
class CRU_BASE_API ComAutoInit {
diff --git a/include/cru/common/platform/win/Exception.hpp b/include/cru/common/platform/win/Exception.h
index 4e332b4f..3e63b191 100644
--- a/include/cru/common/platform/win/Exception.hpp
+++ b/include/cru/common/platform/win/Exception.h
@@ -1,10 +1,10 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
-#include "WinPreConfig.hpp"
+#include "WinPreConfig.h"
-#include "../Exception.hpp"
+#include "../Exception.h"
#include <stdexcept>
#include <string_view>
diff --git a/include/cru/common/platform/win/StreamConvert.hpp b/include/cru/common/platform/win/StreamConvert.h
index 80800115..3499604a 100644
--- a/include/cru/common/platform/win/StreamConvert.hpp
+++ b/include/cru/common/platform/win/StreamConvert.h
@@ -1,9 +1,9 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
-#include "../../io/Stream.hpp"
+#include "../../io/Stream.h"
#include <objidlbase.h>
diff --git a/include/cru/common/platform/win/Win32FileStream.hpp b/include/cru/common/platform/win/Win32FileStream.h
index b5511ba3..521fd58d 100644
--- a/include/cru/common/platform/win/Win32FileStream.hpp
+++ b/include/cru/common/platform/win/Win32FileStream.h
@@ -1,12 +1,12 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
-#include "../../String.hpp"
-#include "../../io/OpenFileFlag.hpp"
-#include "../../io/Stream.hpp"
+#include "../../String.h"
+#include "../../io/OpenFileFlag.h"
+#include "../../io/Stream.h"
namespace cru::platform::win {
namespace details {
diff --git a/include/cru/common/platform/win/WinPreConfig.hpp b/include/cru/common/platform/win/WinPreConfig.h
index ac397820..c2284df3 100644
--- a/include/cru/common/platform/win/WinPreConfig.hpp
+++ b/include/cru/common/platform/win/WinPreConfig.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../../PreConfig.hpp"
+#include "../../PreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
#define NOMINMAX
diff --git a/include/cru/osx/Convert.h b/include/cru/osx/Convert.h
new file mode 100644
index 00000000..bf32174a
--- /dev/null
+++ b/include/cru/osx/Convert.h
@@ -0,0 +1,2 @@
+#pragma once
+#include "cru/common/platform/osx/Convert.h"
diff --git a/include/cru/osx/Convert.hpp b/include/cru/osx/Convert.hpp
deleted file mode 100644
index ec1d5d6b..00000000
--- a/include/cru/osx/Convert.hpp
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-#include "cru/common/platform/osx/Convert.hpp"
diff --git a/include/cru/osx/Exception.h b/include/cru/osx/Exception.h
new file mode 100644
index 00000000..c346b970
--- /dev/null
+++ b/include/cru/osx/Exception.h
@@ -0,0 +1,3 @@
+#pragma once
+#include "cru/common/platform/osx/Exception.h"
+#include "cru/platform/Exception.h"
diff --git a/include/cru/osx/Exception.hpp b/include/cru/osx/Exception.hpp
deleted file mode 100644
index 5776ab72..00000000
--- a/include/cru/osx/Exception.hpp
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-#include "cru/common/platform/osx/Exception.hpp"
-#include "cru/platform/Exception.hpp"
diff --git a/include/cru/osx/Resource.hpp b/include/cru/osx/Resource.h
index b1f673f8..d30ee31b 100644
--- a/include/cru/osx/Resource.hpp
+++ b/include/cru/osx/Resource.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/platform/Resource.hpp"
+#include "cru/platform/Resource.h"
namespace cru::platform::osx {
class OsxResource : public Object, public virtual IPlatformResource {
diff --git a/include/cru/osx/graphics/quartz/Brush.hpp b/include/cru/osx/graphics/quartz/Brush.h
index 1fa26794..677a0b6c 100644
--- a/include/cru/osx/graphics/quartz/Brush.hpp
+++ b/include/cru/osx/graphics/quartz/Brush.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/platform/graphics/Brush.hpp"
+#include "Resource.h"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/platform/graphics/Brush.h"
#include <CoreGraphics/CoreGraphics.h>
diff --git a/include/cru/osx/graphics/quartz/Convert.hpp b/include/cru/osx/graphics/quartz/Convert.h
index ba2b1be1..8d486069 100644
--- a/include/cru/osx/graphics/quartz/Convert.hpp
+++ b/include/cru/osx/graphics/quartz/Convert.h
@@ -1,8 +1,8 @@
#pragma once
-#include "cru/common/Range.hpp"
-#include "cru/common/String.hpp"
-#include "cru/common/io/Stream.hpp"
-#include "cru/platform/Matrix.hpp"
+#include "cru/common/Range.h"
+#include "cru/common/String.h"
+#include "cru/common/io/Stream.h"
+#include "cru/platform/Matrix.h"
#include <CoreGraphics/CoreGraphics.h>
diff --git a/include/cru/osx/graphics/quartz/Factory.hpp b/include/cru/osx/graphics/quartz/Factory.h
index 59433b54..1a5abdc1 100644
--- a/include/cru/osx/graphics/quartz/Factory.hpp
+++ b/include/cru/osx/graphics/quartz/Factory.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/osx/graphics/quartz/ImageFactory.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/ImageFactory.hpp"
+#include "Resource.h"
+#include "cru/common/Base.h"
+#include "cru/osx/graphics/quartz/ImageFactory.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/ImageFactory.h"
namespace cru::platform::graphics::osx::quartz {
class QuartzGraphicsFactory : public OsxQuartzResource,
diff --git a/include/cru/osx/graphics/quartz/Font.hpp b/include/cru/osx/graphics/quartz/Font.h
index 1ea2b891..d53c6a20 100644
--- a/include/cru/osx/graphics/quartz/Font.hpp
+++ b/include/cru/osx/graphics/quartz/Font.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/Font.hpp"
+#include "Resource.h"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/Font.h"
#include <CoreText/CoreText.h>
diff --git a/include/cru/osx/graphics/quartz/Geometry.hpp b/include/cru/osx/graphics/quartz/Geometry.h
index 565c5b86..8e42491b 100644
--- a/include/cru/osx/graphics/quartz/Geometry.hpp
+++ b/include/cru/osx/graphics/quartz/Geometry.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/graphics/Geometry.hpp"
+#include "Resource.h"
+#include "cru/platform/graphics/Geometry.h"
#include <memory>
diff --git a/include/cru/osx/graphics/quartz/Image.hpp b/include/cru/osx/graphics/quartz/Image.h
index 62b7fa8b..458f5db0 100644
--- a/include/cru/osx/graphics/quartz/Image.hpp
+++ b/include/cru/osx/graphics/quartz/Image.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/graphics/Image.hpp"
-#include "cru/platform/graphics/ImageFactory.hpp"
+#include "Resource.h"
+#include "cru/platform/graphics/Image.h"
+#include "cru/platform/graphics/ImageFactory.h"
#include <CoreGraphics/CoreGraphics.h>
diff --git a/include/cru/osx/graphics/quartz/ImageFactory.hpp b/include/cru/osx/graphics/quartz/ImageFactory.h
index 027f3f2a..e9854738 100644
--- a/include/cru/osx/graphics/quartz/ImageFactory.hpp
+++ b/include/cru/osx/graphics/quartz/ImageFactory.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/graphics/ImageFactory.hpp"
+#include "Resource.h"
+#include "cru/platform/graphics/ImageFactory.h"
namespace cru::platform::graphics::osx::quartz {
class QuartzImageFactory : public OsxQuartzResource,
diff --git a/include/cru/osx/graphics/quartz/Painter.hpp b/include/cru/osx/graphics/quartz/Painter.h
index e5b8e767..19428583 100644
--- a/include/cru/osx/graphics/quartz/Painter.hpp
+++ b/include/cru/osx/graphics/quartz/Painter.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/platform/graphics/Painter.hpp"
+#include "Resource.h"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/platform/graphics/Painter.h"
#include <CoreGraphics/CoreGraphics.h>
diff --git a/include/cru/osx/graphics/quartz/Resource.hpp b/include/cru/osx/graphics/quartz/Resource.h
index 8b8f8bbc..916a376f 100644
--- a/include/cru/osx/graphics/quartz/Resource.hpp
+++ b/include/cru/osx/graphics/quartz/Resource.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/osx/Resource.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/platform/graphics/Resource.hpp"
+#include "cru/osx/Resource.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/platform/graphics/Resource.h"
namespace cru::platform::graphics::osx::quartz {
class OsxQuartzResource : public platform::osx::OsxResource,
diff --git a/include/cru/osx/graphics/quartz/TextLayout.hpp b/include/cru/osx/graphics/quartz/TextLayout.h
index 2c6347db..c0abc7f9 100644
--- a/include/cru/osx/graphics/quartz/TextLayout.hpp
+++ b/include/cru/osx/graphics/quartz/TextLayout.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "Font.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/TextLayout.hpp"
+#include "Font.h"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/TextLayout.h"
#include <memory>
diff --git a/include/cru/osx/gui/Clipboard.hpp b/include/cru/osx/gui/Clipboard.h
index fea97140..b4dcce4c 100644
--- a/include/cru/osx/gui/Clipboard.hpp
+++ b/include/cru/osx/gui/Clipboard.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/Clipboard.hpp"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/Clipboard.h"
#include <memory>
diff --git a/include/cru/osx/gui/Cursor.hpp b/include/cru/osx/gui/Cursor.h
index 497f5853..6cfd400a 100644
--- a/include/cru/osx/gui/Cursor.hpp
+++ b/include/cru/osx/gui/Cursor.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/gui/Cursor.hpp"
+#include "Resource.h"
+#include "cru/platform/gui/Cursor.h"
#include <memory>
diff --git a/include/cru/osx/gui/InputMethod.hpp b/include/cru/osx/gui/InputMethod.h
index d184a722..cbfdae6c 100644
--- a/include/cru/osx/gui/InputMethod.hpp
+++ b/include/cru/osx/gui/InputMethod.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "cru/platform/gui/InputMethod.hpp"
+#include "cru/platform/gui/InputMethod.h"
namespace cru::platform::gui::osx {
class OsxWindow;
diff --git a/include/cru/osx/gui/Keyboard.hpp b/include/cru/osx/gui/Keyboard.h
index ae5b3ccf..89e0fa05 100644
--- a/include/cru/osx/gui/Keyboard.hpp
+++ b/include/cru/osx/gui/Keyboard.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/platform/gui/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.h"
namespace cru::platform::gui::osx {
KeyCode KeyCodeFromOsxToCru(unsigned short n);
diff --git a/include/cru/osx/gui/Menu.hpp b/include/cru/osx/gui/Menu.h
index fe3bf3f9..c5cc756a 100644
--- a/include/cru/osx/gui/Menu.hpp
+++ b/include/cru/osx/gui/Menu.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "cru/platform/gui/Menu.hpp"
+#include "cru/platform/gui/Menu.h"
namespace cru::platform::gui::osx {
namespace details {
diff --git a/include/cru/osx/gui/Resource.hpp b/include/cru/osx/gui/Resource.h
index 3e44bb9b..bc3f9cd6 100644
--- a/include/cru/osx/gui/Resource.hpp
+++ b/include/cru/osx/gui/Resource.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../Resource.hpp"
+#include "../Resource.h"
-#include "cru/platform/gui/Base.hpp"
+#include "cru/platform/gui/Base.h"
namespace cru::platform::gui::osx {
class OsxGuiResource : public platform::osx::OsxResource {
diff --git a/include/cru/osx/gui/UiApplication.hpp b/include/cru/osx/gui/UiApplication.h
index 003df8cc..2d2c119c 100644
--- a/include/cru/osx/gui/UiApplication.hpp
+++ b/include/cru/osx/gui/UiApplication.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
+#include "Resource.h"
+#include "cru/platform/gui/UiApplication.h"
#include <functional>
#include <memory>
diff --git a/include/cru/osx/gui/Window.hpp b/include/cru/osx/gui/Window.h
index 904a0188..6cefbe8e 100644
--- a/include/cru/osx/gui/Window.hpp
+++ b/include/cru/osx/gui/Window.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/InputMethod.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "Resource.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/InputMethod.h"
+#include "cru/platform/gui/Window.h"
#include <memory>
diff --git a/include/cru/parse/Base.hpp b/include/cru/parse/Base.h
index 8f3a05e9..8f3a05e9 100644
--- a/include/cru/parse/Base.hpp
+++ b/include/cru/parse/Base.h
diff --git a/include/cru/parse/Grammar.hpp b/include/cru/parse/Grammar.h
index 8dc1833f..7dd1eec0 100644
--- a/include/cru/parse/Grammar.hpp
+++ b/include/cru/parse/Grammar.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Production.hpp"
+#include "Production.h"
#include <unordered_map>
#include <vector>
diff --git a/include/cru/parse/Nonterminal.hpp b/include/cru/parse/Nonterminal.h
index b01c7c8a..0ea15149 100644
--- a/include/cru/parse/Nonterminal.hpp
+++ b/include/cru/parse/Nonterminal.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Symbol.hpp"
+#include "Symbol.h"
namespace cru::parse {
class CRU_PARSE_API Nonterminal : public Symbol {
diff --git a/include/cru/parse/ParsingAlgorithm.hpp b/include/cru/parse/ParsingAlgorithm.h
index 8f38c0ab..ae2dd0b5 100644
--- a/include/cru/parse/ParsingAlgorithm.hpp
+++ b/include/cru/parse/ParsingAlgorithm.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Grammar.hpp"
+#include "Grammar.h"
namespace cru::parse {
class ParsingAlgorithmContext;
diff --git a/include/cru/parse/ParsingAlgorithmContext.hpp b/include/cru/parse/ParsingAlgorithmContext.h
index b959462c..fe46c4d2 100644
--- a/include/cru/parse/ParsingAlgorithmContext.hpp
+++ b/include/cru/parse/ParsingAlgorithmContext.h
@@ -1,8 +1,8 @@
#pragma once
#include <vector>
-#include "Grammar.hpp"
-#include "cru/parse/ParsingTreeNode.hpp"
-#include "cru/parse/Terminal.hpp"
+#include "Grammar.h"
+#include "cru/parse/ParsingTreeNode.h"
+#include "cru/parse/Terminal.h"
namespace cru::parse {
class ParsingAlgorithm;
diff --git a/include/cru/parse/ParsingContext.hpp b/include/cru/parse/ParsingContext.h
index cfb850b9..02dc4c9c 100644
--- a/include/cru/parse/ParsingContext.hpp
+++ b/include/cru/parse/ParsingContext.h
@@ -1,6 +1,6 @@
#pragma once
-#include "ParsingAlgorithmContext.hpp"
-#include "cru/parse/ParsingTreeNode.hpp"
+#include "ParsingAlgorithmContext.h"
+#include "cru/parse/ParsingTreeNode.h"
namespace cru::parse {
// A parsing context contains all info that a program needs to know when parsing
diff --git a/include/cru/parse/ParsingTreeNode.hpp b/include/cru/parse/ParsingTreeNode.h
index 7119ca0b..05b1006c 100644
--- a/include/cru/parse/ParsingTreeNode.hpp
+++ b/include/cru/parse/ParsingTreeNode.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Grammar.hpp"
+#include "Grammar.h"
#include <vector>
diff --git a/include/cru/parse/Production.hpp b/include/cru/parse/Production.h
index cb3c79c0..d5ababe6 100644
--- a/include/cru/parse/Production.hpp
+++ b/include/cru/parse/Production.h
@@ -1,8 +1,8 @@
#pragma once
-#include "cru/common/String.hpp"
+#include "cru/common/String.h"
-#include "Nonterminal.hpp"
-#include "Terminal.hpp"
+#include "Nonterminal.h"
+#include "Terminal.h"
#include <vector>
diff --git a/include/cru/parse/RecursiveDescentAlgorithm.hpp b/include/cru/parse/RecursiveDescentAlgorithm.h
index 373724ea..9da4b8fe 100644
--- a/include/cru/parse/RecursiveDescentAlgorithm.hpp
+++ b/include/cru/parse/RecursiveDescentAlgorithm.h
@@ -1,6 +1,6 @@
#pragma once
-#include "ParsingAlgorithm.hpp"
+#include "ParsingAlgorithm.h"
namespace cru::parse {
class CRU_PARSE_API RecursiveDescentAlgorithm : public ParsingAlgorithm {
diff --git a/include/cru/parse/RecursiveDescentAlgorithmContext.hpp b/include/cru/parse/RecursiveDescentAlgorithmContext.h
index b29ee1a1..00acf479 100644
--- a/include/cru/parse/RecursiveDescentAlgorithmContext.hpp
+++ b/include/cru/parse/RecursiveDescentAlgorithmContext.h
@@ -1,9 +1,9 @@
#pragma once
-#include "ParsingAlgorithmContext.hpp"
-#include "cru/parse/ParsingTreeNode.hpp"
-#include "cru/parse/RecursiveDescentAlgorithm.hpp"
-#include "cru/parse/Terminal.hpp"
+#include "ParsingAlgorithmContext.h"
+#include "cru/parse/ParsingTreeNode.h"
+#include "cru/parse/RecursiveDescentAlgorithm.h"
+#include "cru/parse/Terminal.h"
namespace cru::parse {
class CRU_PARSE_API RecursiveDescentAlgorithmContext : public ParsingAlgorithmContext {
diff --git a/include/cru/parse/Symbol.hpp b/include/cru/parse/Symbol.h
index 7404a5e7..e7bd4808 100644
--- a/include/cru/parse/Symbol.hpp
+++ b/include/cru/parse/Symbol.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/String.hpp"
+#include "cru/common/String.h"
namespace cru::parse {
class Grammar;
diff --git a/include/cru/parse/Terminal.hpp b/include/cru/parse/Terminal.h
index 4ff8f898..d197ab29 100644
--- a/include/cru/parse/Terminal.hpp
+++ b/include/cru/parse/Terminal.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Symbol.hpp"
+#include "Symbol.h"
namespace cru::parse {
class CRU_PARSE_API Terminal : public Symbol {
diff --git a/include/cru/parse/Token.hpp b/include/cru/parse/Token.h
index e69de29b..e69de29b 100644
--- a/include/cru/parse/Token.hpp
+++ b/include/cru/parse/Token.h
diff --git a/include/cru/parse/TokenType.hpp b/include/cru/parse/TokenType.h
index 49415d3b..cb6f6159 100644
--- a/include/cru/parse/TokenType.hpp
+++ b/include/cru/parse/TokenType.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Base.hpp"
-#include "cru/common/String.hpp"
+#include "cru/common/Base.h"
+#include "cru/common/String.h"
namespace cru::parse {
class CRU_PARSE_API TokenType : public Object {
diff --git a/include/cru/platform/Base.hpp b/include/cru/platform/Base.h
index 8589e6cb..8589e6cb 100644
--- a/include/cru/platform/Base.hpp
+++ b/include/cru/platform/Base.h
diff --git a/include/cru/platform/Check.hpp b/include/cru/platform/Check.h
index 121e3505..1750c7e8 100644
--- a/include/cru/platform/Check.hpp
+++ b/include/cru/platform/Check.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Exception.hpp"
-#include "Resource.hpp"
+#include "Exception.h"
+#include "Resource.h"
-#include "cru/common/String.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/common/String.h"
+#include "cru/common/Format.h"
#include <memory>
#include <type_traits>
diff --git a/include/cru/platform/Color.hpp b/include/cru/platform/Color.h
index cdc6518b..4e35ae63 100644
--- a/include/cru/platform/Color.hpp
+++ b/include/cru/platform/Color.h
@@ -1,9 +1,9 @@
#pragma once
-#include "cru/common/Base.hpp"
-#include "cru/platform/Base.hpp"
+#include "cru/common/Base.h"
+#include "cru/platform/Base.h"
-#include "cru/common/String.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/common/String.h"
+#include "cru/common/Format.h"
#include <cstdint>
#include <optional>
diff --git a/include/cru/platform/Exception.hpp b/include/cru/platform/Exception.h
index b50e8c67..7d194d41 100644
--- a/include/cru/platform/Exception.hpp
+++ b/include/cru/platform/Exception.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/common/platform/Exception.hpp"
+#include "Base.h"
+#include "cru/common/Base.h"
+#include "cru/common/Exception.h"
+#include "cru/common/platform/Exception.h"
namespace cru::platform {
// This exception is thrown when a resource is used on another platform.
diff --git a/include/cru/platform/GraphicsBase.hpp b/include/cru/platform/GraphicsBase.h
index 088086e9..8fb9a3af 100644
--- a/include/cru/platform/GraphicsBase.hpp
+++ b/include/cru/platform/GraphicsBase.h
@@ -1,9 +1,9 @@
#pragma once
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
-#include "cru/common/Range.hpp"
-#include "cru/common/String.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/common/Range.h"
+#include "cru/common/String.h"
+#include "cru/common/Format.h"
#include <cstdint>
#include <limits>
diff --git a/include/cru/platform/Matrix.hpp b/include/cru/platform/Matrix.h
index 47917d47..c9a52158 100644
--- a/include/cru/platform/Matrix.hpp
+++ b/include/cru/platform/Matrix.h
@@ -1,5 +1,5 @@
#pragma once
-#include "GraphicsBase.hpp"
+#include "GraphicsBase.h"
#include <cmath>
#include <optional>
diff --git a/include/cru/platform/Resource.hpp b/include/cru/platform/Resource.h
index c89068fa..fe95ebb3 100644
--- a/include/cru/platform/Resource.hpp
+++ b/include/cru/platform/Resource.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Base.hpp"
-#include "cru/common/String.hpp"
+#include "cru/common/Base.h"
+#include "cru/common/String.h"
#include <string_view>
diff --git a/include/cru/platform/bootstrap/Bootstrap.hpp b/include/cru/platform/bootstrap/Bootstrap.h
index 33fb5122..3ab89a91 100644
--- a/include/cru/platform/bootstrap/Bootstrap.hpp
+++ b/include/cru/platform/bootstrap/Bootstrap.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/UiApplication.h"
#ifdef CRU_PLATFORM_WINDOWS
#ifdef CRU_PLATFORM_BOOTSTRAP_EXPORT_API
diff --git a/include/cru/platform/graphics/Base.hpp b/include/cru/platform/graphics/Base.h
index 416f0df4..a134fb33 100644
--- a/include/cru/platform/graphics/Base.hpp
+++ b/include/cru/platform/graphics/Base.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../Color.hpp"
-#include "../GraphicsBase.hpp"
-#include "../Matrix.hpp"
-#include "../Resource.hpp"
+#include "../Color.h"
+#include "../GraphicsBase.h"
+#include "../Matrix.h"
+#include "../Resource.h"
#include <memory>
diff --git a/include/cru/platform/graphics/Brush.hpp b/include/cru/platform/graphics/Brush.h
index 772edd5c..6f4a6902 100644
--- a/include/cru/platform/graphics/Brush.hpp
+++ b/include/cru/platform/graphics/Brush.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IBrush : virtual IGraphicsResource {};
diff --git a/include/cru/platform/graphics/Factory.hpp b/include/cru/platform/graphics/Factory.h
index 7aa88ebd..d197d821 100644
--- a/include/cru/platform/graphics/Factory.hpp
+++ b/include/cru/platform/graphics/Factory.h
@@ -1,12 +1,12 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "Brush.hpp"
-#include "Font.hpp"
-#include "Geometry.hpp"
-#include "Image.hpp"
-#include "ImageFactory.hpp"
-#include "TextLayout.hpp"
+#include "Brush.h"
+#include "Font.h"
+#include "Geometry.h"
+#include "Image.h"
+#include "ImageFactory.h"
+#include "TextLayout.h"
namespace cru::platform::graphics {
// Entry point of the graphics module.
diff --git a/include/cru/platform/graphics/Font.hpp b/include/cru/platform/graphics/Font.h
index 2d1bc9a6..24c35f7c 100644
--- a/include/cru/platform/graphics/Font.hpp
+++ b/include/cru/platform/graphics/Font.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IFont : virtual IGraphicsResource {
diff --git a/include/cru/platform/graphics/Geometry.hpp b/include/cru/platform/graphics/Geometry.h
index e83d1c51..732fc547 100644
--- a/include/cru/platform/graphics/Geometry.hpp
+++ b/include/cru/platform/graphics/Geometry.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IGeometry : virtual IGraphicsResource {
diff --git a/include/cru/platform/graphics/Image.hpp b/include/cru/platform/graphics/Image.h
index e8bf6671..51e27678 100644
--- a/include/cru/platform/graphics/Image.hpp
+++ b/include/cru/platform/graphics/Image.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IImage : public virtual IGraphicsResource {
diff --git a/include/cru/platform/graphics/ImageFactory.hpp b/include/cru/platform/graphics/ImageFactory.h
index 3997f783..2a7902b2 100644
--- a/include/cru/platform/graphics/ImageFactory.hpp
+++ b/include/cru/platform/graphics/ImageFactory.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Image.hpp"
-#include "Resource.hpp"
-#include "cru/common/io/Stream.hpp"
+#include "Image.h"
+#include "Resource.h"
+#include "cru/common/io/Stream.h"
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IImageFactory
diff --git a/include/cru/platform/graphics/NullPainter.hpp b/include/cru/platform/graphics/NullPainter.h
index 54c610c1..2c6e6cb1 100644
--- a/include/cru/platform/graphics/NullPainter.hpp
+++ b/include/cru/platform/graphics/NullPainter.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Painter.hpp"
-#include "cru/common/Base.hpp"
+#include "Painter.h"
+#include "cru/common/Base.h"
namespace cru::platform::graphics {
class CRU_PLATFORM_GRAPHICS_API NullPainter : public Object,
diff --git a/include/cru/platform/graphics/Painter.hpp b/include/cru/platform/graphics/Painter.h
index 171e6260..38ff8849 100644
--- a/include/cru/platform/graphics/Painter.hpp
+++ b/include/cru/platform/graphics/Painter.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
namespace cru::platform::graphics {
diff --git a/include/cru/platform/graphics/Resource.hpp b/include/cru/platform/graphics/Resource.h
index e559b0e9..ab1b8de6 100644
--- a/include/cru/platform/graphics/Resource.hpp
+++ b/include/cru/platform/graphics/Resource.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
namespace cru::platform::graphics {
struct IGraphicsFactory;
diff --git a/include/cru/platform/graphics/TextLayout.hpp b/include/cru/platform/graphics/TextLayout.h
index f9ccc824..e060186b 100644
--- a/include/cru/platform/graphics/TextLayout.hpp
+++ b/include/cru/platform/graphics/TextLayout.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
#include <string>
#include <vector>
diff --git a/include/cru/platform/graphics/util/Painter.hpp b/include/cru/platform/graphics/util/Painter.h
index 2e0fbb51..e36d5c55 100644
--- a/include/cru/platform/graphics/util/Painter.hpp
+++ b/include/cru/platform/graphics/util/Painter.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Painter.hpp"
+#include "../Painter.h"
#include <functional>
#include <type_traits>
diff --git a/include/cru/platform/gui/Base.hpp b/include/cru/platform/gui/Base.h
index b432a2e0..789ab308 100644
--- a/include/cru/platform/gui/Base.hpp
+++ b/include/cru/platform/gui/Base.h
@@ -1,9 +1,9 @@
#pragma once
-#include "cru/common/Base.hpp"
-#include "cru/common/Bitmask.hpp"
-#include "cru/platform/graphics/Base.hpp"
+#include "cru/common/Base.h"
+#include "cru/common/Bitmask.h"
+#include "cru/platform/graphics/Base.h"
-#include "../Resource.hpp"
+#include "../Resource.h"
#ifdef CRU_PLATFORM_WINDOWS
#ifdef CRU_PLATFORM_GUI_EXPORT_API
diff --git a/include/cru/platform/gui/Clipboard.hpp b/include/cru/platform/gui/Clipboard.h
index c3467de5..47267895 100644
--- a/include/cru/platform/gui/Clipboard.hpp
+++ b/include/cru/platform/gui/Clipboard.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
namespace cru::platform::gui {
struct IClipboard : virtual IPlatformResource {
diff --git a/include/cru/platform/gui/Cursor.hpp b/include/cru/platform/gui/Cursor.h
index abc8b064..99168656 100644
--- a/include/cru/platform/gui/Cursor.hpp
+++ b/include/cru/platform/gui/Cursor.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
#include <memory>
diff --git a/include/cru/platform/gui/DebugFlags.hpp b/include/cru/platform/gui/DebugFlags.h
index 2b7c7c19..2b7c7c19 100644
--- a/include/cru/platform/gui/DebugFlags.hpp
+++ b/include/cru/platform/gui/DebugFlags.h
diff --git a/include/cru/platform/gui/InputMethod.hpp b/include/cru/platform/gui/InputMethod.h
index a34aba74..45e11c06 100644
--- a/include/cru/platform/gui/InputMethod.hpp
+++ b/include/cru/platform/gui/InputMethod.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Event.hpp"
+#include "cru/common/Event.h"
#include <memory>
#include <vector>
diff --git a/include/cru/platform/gui/Keyboard.hpp b/include/cru/platform/gui/Keyboard.h
index 347b57bc..f25b25fa 100644
--- a/include/cru/platform/gui/Keyboard.hpp
+++ b/include/cru/platform/gui/Keyboard.h
@@ -1,6 +1,6 @@
#pragma once
-#include "cru/common/Bitmask.hpp"
-#include "cru/platform/gui/Base.hpp"
+#include "cru/common/Bitmask.h"
+#include "cru/platform/gui/Base.h"
#include <string>
#include <string_view>
diff --git a/include/cru/platform/gui/Menu.hpp b/include/cru/platform/gui/Menu.h
index fc2e844f..6e2a8902 100644
--- a/include/cru/platform/gui/Menu.hpp
+++ b/include/cru/platform/gui/Menu.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "Keyboard.hpp"
+#include "Keyboard.h"
#include <functional>
diff --git a/include/cru/platform/gui/SaveOpenDialogOptions.hpp b/include/cru/platform/gui/SaveOpenDialogOptions.h
index 907ec808..cff4a44f 100644
--- a/include/cru/platform/gui/SaveOpenDialogOptions.hpp
+++ b/include/cru/platform/gui/SaveOpenDialogOptions.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
namespace cru::platform::gui {
struct CRU_PLATFORM_GUI_API SaveDialogOptions {
diff --git a/include/cru/platform/gui/TimerHelper.hpp b/include/cru/platform/gui/TimerHelper.h
index a61d2f04..91d436a4 100644
--- a/include/cru/platform/gui/TimerHelper.hpp
+++ b/include/cru/platform/gui/TimerHelper.h
@@ -1,5 +1,5 @@
#pragma once
-#include "UiApplication.hpp"
+#include "UiApplication.h"
namespace cru::platform::gui {
diff --git a/include/cru/platform/gui/UiApplication.hpp b/include/cru/platform/gui/UiApplication.h
index c917aa01..b39e2d36 100644
--- a/include/cru/platform/gui/UiApplication.hpp
+++ b/include/cru/platform/gui/UiApplication.h
@@ -1,10 +1,10 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Bitmask.hpp"
-#include "cru/platform/gui/Menu.hpp"
+#include "cru/common/Bitmask.h"
+#include "cru/platform/gui/Menu.h"
-#include "SaveOpenDialogOptions.hpp"
+#include "SaveOpenDialogOptions.h"
#include <chrono>
#include <functional>
diff --git a/include/cru/platform/gui/Window.hpp b/include/cru/platform/gui/Window.h
index a8fe3ca6..d3f0daad 100644
--- a/include/cru/platform/gui/Window.hpp
+++ b/include/cru/platform/gui/Window.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "Keyboard.hpp"
+#include "Keyboard.h"
-#include "cru/common/Event.hpp"
+#include "cru/common/Event.h"
#include <string_view>
diff --git a/include/cru/toml/Base.hpp b/include/cru/toml/Base.h
index de1d558c..de1d558c 100644
--- a/include/cru/toml/Base.hpp
+++ b/include/cru/toml/Base.h
diff --git a/include/cru/toml/TomlDocument.hpp b/include/cru/toml/TomlDocument.h
index 1e5caf71..6da5ad74 100644
--- a/include/cru/toml/TomlDocument.hpp
+++ b/include/cru/toml/TomlDocument.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Base.hpp"
-#include "cru/common/String.hpp"
+#include "cru/common/Base.h"
+#include "cru/common/String.h"
#include <optional>
#include <unordered_map>
diff --git a/include/cru/toml/TomlParser.hpp b/include/cru/toml/TomlParser.h
index c3091bad..dcef2920 100644
--- a/include/cru/toml/TomlParser.hpp
+++ b/include/cru/toml/TomlParser.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/common/Exception.hpp"
-#include "cru/toml/TomlDocument.hpp"
+#include "cru/common/Exception.h"
+#include "cru/toml/TomlDocument.h"
#include <optional>
diff --git a/include/cru/ui/Base.hpp b/include/cru/ui/Base.h
index e99c956f..44f76907 100644
--- a/include/cru/ui/Base.hpp
+++ b/include/cru/ui/Base.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/platform/gui/Base.hpp"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/platform/gui/Base.h"
#include <functional>
#include <memory>
diff --git a/include/cru/ui/DebugFlags.hpp b/include/cru/ui/DebugFlags.h
index 71d2c03e..71d2c03e 100644
--- a/include/cru/ui/DebugFlags.hpp
+++ b/include/cru/ui/DebugFlags.h
diff --git a/include/cru/ui/ThemeManager.hpp b/include/cru/ui/ThemeManager.h
index 68c2b121..9176d85e 100644
--- a/include/cru/ui/ThemeManager.hpp
+++ b/include/cru/ui/ThemeManager.h
@@ -1,12 +1,12 @@
#pragma once
-#include "Base.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/style/StyleRuleSet.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "Base.h"
+#include "cru/common/Base.h"
+#include "cru/common/Event.h"
+#include "cru/common/Exception.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/style/StyleRuleSet.h"
+#include "cru/xml/XmlNode.h"
#include <any>
#include <typeindex>
diff --git a/include/cru/ui/components/Component.hpp b/include/cru/ui/components/Component.h
index 4cbc3791..0b871dc4 100644
--- a/include/cru/ui/components/Component.hpp
+++ b/include/cru/ui/components/Component.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
namespace cru::ui::components {
// In destructor, component should check all owned controls whether it is
diff --git a/include/cru/ui/components/Menu.hpp b/include/cru/ui/components/Menu.h
index 9b60eb02..32936f84 100644
--- a/include/cru/ui/components/Menu.hpp
+++ b/include/cru/ui/components/Menu.h
@@ -1,11 +1,11 @@
#pragma once
-#include "Component.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/ui/controls/Button.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/controls/FlexLayout.hpp"
-#include "cru/ui/controls/Popup.hpp"
-#include "cru/ui/controls/TextBlock.hpp"
+#include "Component.h"
+#include "cru/common/Base.h"
+#include "cru/ui/controls/Button.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/controls/FlexLayout.h"
+#include "cru/ui/controls/Popup.h"
+#include "cru/ui/controls/TextBlock.h"
#include <functional>
#include <vector>
diff --git a/include/cru/ui/controls/Base.hpp b/include/cru/ui/controls/Base.h
index 7c85cdb2..21f1c563 100644
--- a/include/cru/ui/controls/Base.hpp
+++ b/include/cru/ui/controls/Base.h
@@ -1,4 +1,4 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
namespace cru::ui::controls {} // namespace cru::ui::controls
diff --git a/include/cru/ui/controls/Button.hpp b/include/cru/ui/controls/Button.h
index 77e0989c..ab1ef8eb 100644
--- a/include/cru/ui/controls/Button.hpp
+++ b/include/cru/ui/controls/Button.h
@@ -1,11 +1,11 @@
#pragma once
-#include "ContentControl.hpp"
+#include "ContentControl.h"
-#include "../helper/ClickDetector.hpp"
-#include "IBorderControl.hpp"
-#include "IClickableControl.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
+#include "../helper/ClickDetector.h"
+#include "IBorderControl.h"
+#include "IClickableControl.h"
+#include "cru/common/Event.h"
+#include "cru/ui/style/ApplyBorderStyleInfo.h"
namespace cru::ui::controls {
class CRU_UI_API Button : public ContentControl,
diff --git a/include/cru/ui/controls/Container.hpp b/include/cru/ui/controls/Container.h
index 4385c23f..f250807d 100644
--- a/include/cru/ui/controls/Container.hpp
+++ b/include/cru/ui/controls/Container.h
@@ -1,5 +1,5 @@
#pragma once
-#include "ContentControl.hpp"
+#include "ContentControl.h"
namespace cru::ui::controls {
class CRU_UI_API Container : public ContentControl {
diff --git a/include/cru/ui/controls/ContentControl.hpp b/include/cru/ui/controls/ContentControl.h
index 7b40de64..86e90dae 100644
--- a/include/cru/ui/controls/ContentControl.hpp
+++ b/include/cru/ui/controls/ContentControl.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Control.hpp"
+#include "Control.h"
-#include "cru/ui/render/RenderObject.hpp"
+#include "cru/ui/render/RenderObject.h"
namespace cru::ui::controls {
class CRU_UI_API ContentControl : public Control {
diff --git a/include/cru/ui/controls/Control.hpp b/include/cru/ui/controls/Control.h
index c51643be..c00e3a65 100644
--- a/include/cru/ui/controls/Control.hpp
+++ b/include/cru/ui/controls/Control.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "../events/UiEvents.hpp"
-#include "../render/Base.hpp"
-#include "cru/common/Event.hpp"
+#include "../events/UiEvents.h"
+#include "../render/Base.h"
+#include "cru/common/Event.h"
#include <string_view>
diff --git a/include/cru/ui/controls/FlexLayout.hpp b/include/cru/ui/controls/FlexLayout.h
index 7724c4c6..1255b119 100644
--- a/include/cru/ui/controls/FlexLayout.hpp
+++ b/include/cru/ui/controls/FlexLayout.h
@@ -1,5 +1,5 @@
#pragma once
-#include "LayoutControl.hpp"
+#include "LayoutControl.h"
namespace cru::ui::controls {
class CRU_UI_API FlexLayout : public LayoutControl {
diff --git a/include/cru/ui/controls/IBorderControl.hpp b/include/cru/ui/controls/IBorderControl.h
index a8bc0b51..3178d7f2 100644
--- a/include/cru/ui/controls/IBorderControl.hpp
+++ b/include/cru/ui/controls/IBorderControl.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../style/ApplyBorderStyleInfo.hpp"
-#include "Base.hpp"
-#include "cru/common/Base.hpp"
+#include "../style/ApplyBorderStyleInfo.h"
+#include "Base.h"
+#include "cru/common/Base.h"
namespace cru::ui::controls {
struct CRU_UI_API IBorderControl : virtual Interface {
diff --git a/include/cru/ui/controls/IClickableControl.hpp b/include/cru/ui/controls/IClickableControl.h
index af9ae100..48b3ad5f 100644
--- a/include/cru/ui/controls/IClickableControl.hpp
+++ b/include/cru/ui/controls/IClickableControl.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Event.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
+#include "cru/common/Event.h"
+#include "cru/ui/helper/ClickDetector.h"
namespace cru::ui::controls {
struct CRU_UI_API IClickableControl : virtual Interface {
diff --git a/include/cru/ui/controls/LayoutControl.hpp b/include/cru/ui/controls/LayoutControl.h
index 3999e9bc..639ecc74 100644
--- a/include/cru/ui/controls/LayoutControl.hpp
+++ b/include/cru/ui/controls/LayoutControl.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Control.hpp"
+#include "Control.h"
namespace cru::ui::controls {
class CRU_UI_API LayoutControl : public Control {
diff --git a/include/cru/ui/controls/NoChildControl.hpp b/include/cru/ui/controls/NoChildControl.h
index 0c432532..6d2168cb 100644
--- a/include/cru/ui/controls/NoChildControl.hpp
+++ b/include/cru/ui/controls/NoChildControl.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Control.hpp"
+#include "Control.h"
namespace cru::ui::controls {
class CRU_UI_API NoChildControl : public Control {
diff --git a/include/cru/ui/controls/Popup.hpp b/include/cru/ui/controls/Popup.h
index 4076e45b..271ad4b7 100644
--- a/include/cru/ui/controls/Popup.hpp
+++ b/include/cru/ui/controls/Popup.h
@@ -1,7 +1,7 @@
#pragma once
-#include "RootControl.hpp"
+#include "RootControl.h"
-#include "cru/platform/gui/Base.hpp"
+#include "cru/platform/gui/Base.h"
#include <memory>
diff --git a/include/cru/ui/controls/RootControl.hpp b/include/cru/ui/controls/RootControl.h
index f70f2eeb..c7ed916a 100644
--- a/include/cru/ui/controls/RootControl.hpp
+++ b/include/cru/ui/controls/RootControl.h
@@ -1,12 +1,12 @@
#pragma once
-#include "LayoutControl.hpp"
-
-#include "cru/common/Base.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/host/WindowHost.hpp"
+#include "LayoutControl.h"
+
+#include "cru/common/Base.h"
+#include "cru/common/Event.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/host/WindowHost.h"
namespace cru::ui::controls {
class CRU_UI_API RootControl : public LayoutControl {
diff --git a/include/cru/ui/controls/ScrollView.hpp b/include/cru/ui/controls/ScrollView.h
index 18a9bf97..46c23691 100644
--- a/include/cru/ui/controls/ScrollView.hpp
+++ b/include/cru/ui/controls/ScrollView.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ContentControl.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/ui/render/RenderObject.hpp"
-#include "cru/ui/render/ScrollRenderObject.hpp"
+#include "ContentControl.h"
+#include "cru/common/Base.h"
+#include "cru/ui/render/RenderObject.h"
+#include "cru/ui/render/ScrollRenderObject.h"
#include <memory>
#include <string_view>
diff --git a/include/cru/ui/controls/StackLayout.hpp b/include/cru/ui/controls/StackLayout.h
index 5d90dfda..36e8ab43 100644
--- a/include/cru/ui/controls/StackLayout.hpp
+++ b/include/cru/ui/controls/StackLayout.h
@@ -1,6 +1,6 @@
#pragma once
-#include "LayoutControl.hpp"
-#include "cru/ui/Base.hpp"
+#include "LayoutControl.h"
+#include "cru/ui/Base.h"
namespace cru::ui::controls {
class CRU_UI_API StackLayout : public LayoutControl {
diff --git a/include/cru/ui/controls/TextBlock.hpp b/include/cru/ui/controls/TextBlock.h
index 68e9ced1..5e5674a2 100644
--- a/include/cru/ui/controls/TextBlock.hpp
+++ b/include/cru/ui/controls/TextBlock.h
@@ -1,7 +1,7 @@
#pragma once
-#include "NoChildControl.hpp"
+#include "NoChildControl.h"
-#include "TextHostControlService.hpp"
+#include "TextHostControlService.h"
namespace cru::ui::controls {
class CRU_UI_API TextBlock : public NoChildControl, public virtual ITextHostControl {
diff --git a/include/cru/ui/controls/TextBox.hpp b/include/cru/ui/controls/TextBox.h
index 241a8a16..2ed7db5e 100644
--- a/include/cru/ui/controls/TextBox.hpp
+++ b/include/cru/ui/controls/TextBox.h
@@ -1,8 +1,8 @@
#pragma once
-#include "NoChildControl.hpp"
+#include "NoChildControl.h"
-#include "IBorderControl.hpp"
-#include "TextHostControlService.hpp"
+#include "IBorderControl.h"
+#include "TextHostControlService.h"
#include <memory>
diff --git a/include/cru/ui/controls/TextHostControlService.hpp b/include/cru/ui/controls/TextHostControlService.h
index be6a7c39..5178107f 100644
--- a/include/cru/ui/controls/TextHostControlService.hpp
+++ b/include/cru/ui/controls/TextHostControlService.h
@@ -1,11 +1,11 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/platform/gui/InputMethod.hpp"
-#include "cru/platform/gui/TimerHelper.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/helper/ShortcutHub.hpp"
+#include "cru/platform/gui/InputMethod.h"
+#include "cru/platform/gui/TimerHelper.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/helper/ShortcutHub.h"
#include <functional>
#include <vector>
diff --git a/include/cru/ui/controls/Window.hpp b/include/cru/ui/controls/Window.h
index c304a839..5fb6d594 100644
--- a/include/cru/ui/controls/Window.hpp
+++ b/include/cru/ui/controls/Window.h
@@ -1,8 +1,8 @@
#pragma once
-#include "cru/platform/gui/Base.hpp"
-#include "cru/ui/controls/RootControl.hpp"
+#include "cru/platform/gui/Base.h"
+#include "cru/ui/controls/RootControl.h"
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
namespace cru::ui::controls {
class CRU_UI_API Window final : public RootControl {
diff --git a/include/cru/ui/events/FocusChangeEventArgs.hpp b/include/cru/ui/events/FocusChangeEventArgs.h
index b72790a5..aaef25b4 100644
--- a/include/cru/ui/events/FocusChangeEventArgs.hpp
+++ b/include/cru/ui/events/FocusChangeEventArgs.h
@@ -1,5 +1,5 @@
#pragma once
-#include "UiEventArgs.hpp"
+#include "UiEventArgs.h"
namespace cru::ui::events {
diff --git a/include/cru/ui/events/KeyEventArgs.hpp b/include/cru/ui/events/KeyEventArgs.h
index 133db1df..0ece9126 100644
--- a/include/cru/ui/events/KeyEventArgs.hpp
+++ b/include/cru/ui/events/KeyEventArgs.h
@@ -1,7 +1,7 @@
#pragma once
-#include "UiEventArgs.hpp"
+#include "UiEventArgs.h"
-#include "cru/platform/gui/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.h"
namespace cru::ui::events {
class CRU_UI_API KeyEventArgs : public UiEventArgs {
diff --git a/include/cru/ui/events/MouseButtonEventArgs.hpp b/include/cru/ui/events/MouseButtonEventArgs.h
index 791ed03b..13b3b0a4 100644
--- a/include/cru/ui/events/MouseButtonEventArgs.hpp
+++ b/include/cru/ui/events/MouseButtonEventArgs.h
@@ -1,7 +1,7 @@
#pragma once
-#include "MouseEventArgs.hpp"
+#include "MouseEventArgs.h"
-#include "cru/platform/gui/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.h"
namespace cru::ui::events {
diff --git a/include/cru/ui/events/MouseEventArgs.hpp b/include/cru/ui/events/MouseEventArgs.h
index 0adc65b6..11ce6463 100644
--- a/include/cru/ui/events/MouseEventArgs.hpp
+++ b/include/cru/ui/events/MouseEventArgs.h
@@ -1,5 +1,5 @@
#pragma once
-#include "UiEventArgs.hpp"
+#include "UiEventArgs.h"
#include <optional>
diff --git a/include/cru/ui/events/MouseWheelEventArgs.hpp b/include/cru/ui/events/MouseWheelEventArgs.h
index c6c0fe10..85791491 100644
--- a/include/cru/ui/events/MouseWheelEventArgs.hpp
+++ b/include/cru/ui/events/MouseWheelEventArgs.h
@@ -1,7 +1,7 @@
#pragma once
-#include "MouseEventArgs.hpp"
+#include "MouseEventArgs.h"
-#include "cru/platform/gui/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.h"
namespace cru::ui::events {
class CRU_UI_API MouseWheelEventArgs : public MouseEventArgs {
diff --git a/include/cru/ui/events/PaintEventArgs.hpp b/include/cru/ui/events/PaintEventArgs.h
index f2b53977..934c6c8c 100644
--- a/include/cru/ui/events/PaintEventArgs.hpp
+++ b/include/cru/ui/events/PaintEventArgs.h
@@ -1,5 +1,5 @@
#pragma once
-#include "UiEventArgs.hpp"
+#include "UiEventArgs.h"
namespace cru::platform::graphics {
struct IPainter;
diff --git a/include/cru/ui/events/RoutedEvent.hpp b/include/cru/ui/events/RoutedEvent.h
index dd0bc21f..909678f8 100644
--- a/include/cru/ui/events/RoutedEvent.hpp
+++ b/include/cru/ui/events/RoutedEvent.h
@@ -1,7 +1,7 @@
#pragma once
-#include "UiEventArgs.hpp"
+#include "UiEventArgs.h"
-#include "cru/common/Event.hpp"
+#include "cru/common/Event.h"
namespace cru::ui::events {
// TEventArgs must not be a reference type. This class help add reference.
diff --git a/include/cru/ui/events/UiEventArgs.hpp b/include/cru/ui/events/UiEventArgs.h
index 1e1f9e93..fff84edd 100644
--- a/include/cru/ui/events/UiEventArgs.hpp
+++ b/include/cru/ui/events/UiEventArgs.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
namespace cru::ui::events {
class CRU_UI_API UiEventArgs : public Object {
diff --git a/include/cru/ui/events/UiEvents.h b/include/cru/ui/events/UiEvents.h
new file mode 100644
index 00000000..301ec694
--- /dev/null
+++ b/include/cru/ui/events/UiEvents.h
@@ -0,0 +1,10 @@
+#pragma once
+
+#include "FocusChangeEventArgs.h"
+#include "KeyEventArgs.h"
+#include "MouseButtonEventArgs.h"
+#include "MouseEventArgs.h"
+#include "MouseWheelEventArgs.h"
+#include "PaintEventArgs.h"
+#include "RoutedEvent.h"
+#include "UiEventArgs.h"
diff --git a/include/cru/ui/events/UiEvents.hpp b/include/cru/ui/events/UiEvents.hpp
deleted file mode 100644
index bd6f7d2a..00000000
--- a/include/cru/ui/events/UiEvents.hpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-#include "FocusChangeEventArgs.hpp"
-#include "KeyEventArgs.hpp"
-#include "MouseButtonEventArgs.hpp"
-#include "MouseEventArgs.hpp"
-#include "MouseWheelEventArgs.hpp"
-#include "PaintEventArgs.hpp"
-#include "RoutedEvent.hpp"
-#include "UiEventArgs.hpp"
diff --git a/include/cru/ui/helper/ClickDetector.hpp b/include/cru/ui/helper/ClickDetector.h
index fd80a953..6e30aaf0 100644
--- a/include/cru/ui/helper/ClickDetector.hpp
+++ b/include/cru/ui/helper/ClickDetector.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../controls/Control.hpp"
+#include "../controls/Control.h"
namespace cru::ui::helper {
class CRU_UI_API ClickEventArgs : Object {
diff --git a/include/cru/ui/helper/ShortcutHub.hpp b/include/cru/ui/helper/ShortcutHub.h
index c7054786..84e786aa 100644
--- a/include/cru/ui/helper/ShortcutHub.hpp
+++ b/include/cru/ui/helper/ShortcutHub.h
@@ -1,9 +1,9 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
-#include "../events/UiEvents.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/platform/gui/Keyboard.hpp"
+#include "../events/UiEvents.h"
+#include "cru/common/Event.h"
+#include "cru/platform/gui/Keyboard.h"
#include <cstddef>
#include <functional>
diff --git a/include/cru/ui/host/LayoutPaintCycler.hpp b/include/cru/ui/host/LayoutPaintCycler.h
index 1d44ad06..e95ed81d 100644
--- a/include/cru/ui/host/LayoutPaintCycler.hpp
+++ b/include/cru/ui/host/LayoutPaintCycler.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
-#include "cru/platform/gui/TimerHelper.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/TimerHelper.h"
+#include "cru/platform/gui/UiApplication.h"
#include <chrono>
diff --git a/include/cru/ui/host/WindowHost.hpp b/include/cru/ui/host/WindowHost.h
index 7832174c..caa50397 100644
--- a/include/cru/ui/host/WindowHost.hpp
+++ b/include/cru/ui/host/WindowHost.h
@@ -1,11 +1,11 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
-#include "../render/Base.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "../render/Base.h"
+#include "cru/common/Event.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
#include <functional>
#include <memory>
diff --git a/include/cru/ui/mapper/BorderStyleMapper.hpp b/include/cru/ui/mapper/BorderStyleMapper.h
index 7a574f38..d585639f 100644
--- a/include/cru/ui/mapper/BorderStyleMapper.hpp
+++ b/include/cru/ui/mapper/BorderStyleMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Mapper.hpp"
-#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "Mapper.h"
+#include "cru/ui/style/ApplyBorderStyleInfo.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API BorderStyleMapper
diff --git a/include/cru/ui/mapper/BrushMapper.hpp b/include/cru/ui/mapper/BrushMapper.h
index b2021076..be70e89e 100644
--- a/include/cru/ui/mapper/BrushMapper.hpp
+++ b/include/cru/ui/mapper/BrushMapper.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Mapper.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "Mapper.h"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
class BrushMapper : public BasicRefMapper<platform::graphics::IBrush> {
diff --git a/include/cru/ui/mapper/ColorMapper.hpp b/include/cru/ui/mapper/ColorMapper.h
index d96ca74b..785f1ca9 100644
--- a/include/cru/ui/mapper/ColorMapper.hpp
+++ b/include/cru/ui/mapper/ColorMapper.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Mapper.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "Mapper.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API ColorMapper : public BasicMapper<Color> {
diff --git a/include/cru/ui/mapper/CornerRadiusMapper.hpp b/include/cru/ui/mapper/CornerRadiusMapper.h
index 4d83f2de..b8998a1b 100644
--- a/include/cru/ui/mapper/CornerRadiusMapper.hpp
+++ b/include/cru/ui/mapper/CornerRadiusMapper.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Mapper.hpp"
+#include "Mapper.h"
namespace cru::ui::mapper {
class CRU_UI_API CornerRadiusMapper : public BasicMapper<CornerRadius> {
diff --git a/include/cru/ui/mapper/CursorMapper.hpp b/include/cru/ui/mapper/CursorMapper.h
index 6cb61d87..d98a798c 100644
--- a/include/cru/ui/mapper/CursorMapper.hpp
+++ b/include/cru/ui/mapper/CursorMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Mapper.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "Mapper.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API CursorMapper : public BasicRefMapper<platform::gui::ICursor> {
diff --git a/include/cru/ui/mapper/FontMapper.hpp b/include/cru/ui/mapper/FontMapper.h
index ad8c43b5..545b94d8 100644
--- a/include/cru/ui/mapper/FontMapper.hpp
+++ b/include/cru/ui/mapper/FontMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Mapper.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/graphics/Font.hpp"
+#include "Mapper.h"
+#include "cru/common/Base.h"
+#include "cru/platform/graphics/Font.h"
namespace cru::ui::mapper {
class FontMapper : public BasicRefMapper<platform::graphics::IFont> {
diff --git a/include/cru/ui/mapper/Mapper.hpp b/include/cru/ui/mapper/Mapper.h
index c52bec70..fa7f8cef 100644
--- a/include/cru/ui/mapper/Mapper.hpp
+++ b/include/cru/ui/mapper/Mapper.h
@@ -1,9 +1,9 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/common/ClonablePtr.h"
+#include "cru/common/Exception.h"
+#include "cru/xml/XmlNode.h"
#include <memory>
#include <type_traits>
diff --git a/include/cru/ui/mapper/MapperRegistry.hpp b/include/cru/ui/mapper/MapperRegistry.h
index 1c02be49..29d26156 100644
--- a/include/cru/ui/mapper/MapperRegistry.hpp
+++ b/include/cru/ui/mapper/MapperRegistry.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Mapper.hpp"
+#include "Mapper.h"
#include <memory>
#include <vector>
diff --git a/include/cru/ui/mapper/PointMapper.hpp b/include/cru/ui/mapper/PointMapper.h
index b1837fe1..83dd135b 100644
--- a/include/cru/ui/mapper/PointMapper.hpp
+++ b/include/cru/ui/mapper/PointMapper.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Mapper.hpp"
+#include "Mapper.h"
namespace cru::ui::mapper {
class CRU_UI_API PointMapper : public BasicMapper<Point> {
diff --git a/include/cru/ui/mapper/SizeMapper.hpp b/include/cru/ui/mapper/SizeMapper.h
index 6ab4b97d..6cf3eb9a 100644
--- a/include/cru/ui/mapper/SizeMapper.hpp
+++ b/include/cru/ui/mapper/SizeMapper.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Mapper.hpp"
+#include "Mapper.h"
namespace cru::ui::mapper {
class CRU_UI_API SizeMapper : public BasicMapper<Size> {
diff --git a/include/cru/ui/mapper/ThicknessMapper.hpp b/include/cru/ui/mapper/ThicknessMapper.h
index 4ffbeb9b..10f6c87e 100644
--- a/include/cru/ui/mapper/ThicknessMapper.hpp
+++ b/include/cru/ui/mapper/ThicknessMapper.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Mapper.hpp"
+#include "Mapper.h"
-#include "../Base.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "../Base.h"
+#include "cru/common/Base.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API ThicknessMapper : public BasicMapper<Thickness> {
diff --git a/include/cru/ui/mapper/style/AndConditionMapper.hpp b/include/cru/ui/mapper/style/AndConditionMapper.h
index 747e496d..142637a7 100644
--- a/include/cru/ui/mapper/style/AndConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/AndConditionMapper.h
@@ -1,6 +1,6 @@
#pragma once
-#include "../Mapper.hpp"
-#include "IConditionMapper.hpp"
+#include "../Mapper.h"
+#include "IConditionMapper.h"
namespace cru::ui::mapper::style {
class CRU_UI_API AndConditionMapper
diff --git a/include/cru/ui/mapper/style/BorderStylerMapper.hpp b/include/cru/ui/mapper/style/BorderStylerMapper.h
index 2f48550c..da09989b 100644
--- a/include/cru/ui/mapper/style/BorderStylerMapper.hpp
+++ b/include/cru/ui/mapper/style/BorderStylerMapper.h
@@ -1,9 +1,9 @@
#pragma once
-#include "../Mapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/style/IStylerMapper.hpp"
-#include "cru/ui/style/Styler.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "../Mapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/style/IStylerMapper.h"
+#include "cru/ui/style/Styler.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
class CRU_UI_API BorderStylerMapper
diff --git a/include/cru/ui/mapper/style/ClickStateConditionMapper.hpp b/include/cru/ui/mapper/style/ClickStateConditionMapper.h
index 63577641..0c25646c 100644
--- a/include/cru/ui/mapper/style/ClickStateConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/ClickStateConditionMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../Mapper.hpp"
-#include "IConditionMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
+#include "../Mapper.h"
+#include "IConditionMapper.h"
+#include "cru/ui/style/Condition.h"
namespace cru::ui::mapper::style {
class CRU_UI_API ClickStateConditionMapper
diff --git a/include/cru/ui/mapper/style/CursorStylerMapper.hpp b/include/cru/ui/mapper/style/CursorStylerMapper.h
index 2b0c62a8..37c3ade9 100644
--- a/include/cru/ui/mapper/style/CursorStylerMapper.hpp
+++ b/include/cru/ui/mapper/style/CursorStylerMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../Mapper.hpp"
-#include "cru/ui/mapper/style/IStylerMapper.hpp"
-#include "cru/ui/style/Styler.hpp"
+#include "../Mapper.h"
+#include "cru/ui/mapper/style/IStylerMapper.h"
+#include "cru/ui/style/Styler.h"
namespace cru::ui::mapper::style {
class CRU_UI_API CursorStylerMapper
diff --git a/include/cru/ui/mapper/style/FocusConditionMapper.hpp b/include/cru/ui/mapper/style/FocusConditionMapper.h
index 00809850..bc7264d1 100644
--- a/include/cru/ui/mapper/style/FocusConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/FocusConditionMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../Mapper.hpp"
-#include "IConditionMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
+#include "../Mapper.h"
+#include "IConditionMapper.h"
+#include "cru/ui/style/Condition.h"
namespace cru::ui::mapper::style {
class CRU_UI_API FocusConditionMapper
diff --git a/include/cru/ui/mapper/style/HoverConditionMapper.hpp b/include/cru/ui/mapper/style/HoverConditionMapper.h
index bbd840f0..c897f672 100644
--- a/include/cru/ui/mapper/style/HoverConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/HoverConditionMapper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../Mapper.hpp"
-#include "IConditionMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
+#include "../Mapper.h"
+#include "IConditionMapper.h"
+#include "cru/ui/style/Condition.h"
namespace cru::ui::mapper::style {
class CRU_UI_API HoverConditionMapper
diff --git a/include/cru/ui/mapper/style/IConditionMapper.hpp b/include/cru/ui/mapper/style/IConditionMapper.h
index 3fa7d10a..7610dc8d 100644
--- a/include/cru/ui/mapper/style/IConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/IConditionMapper.h
@@ -1,9 +1,9 @@
#pragma once
-#include "../../Base.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/Mapper.hpp"
-#include "cru/ui/style/Condition.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "../../Base.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/Mapper.h"
+#include "cru/ui/style/Condition.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
struct CRU_UI_API IConditionMapper : virtual Interface {
diff --git a/include/cru/ui/mapper/style/IStylerMapper.hpp b/include/cru/ui/mapper/style/IStylerMapper.h
index d00f39be..4c2ecd16 100644
--- a/include/cru/ui/mapper/style/IStylerMapper.hpp
+++ b/include/cru/ui/mapper/style/IStylerMapper.h
@@ -1,9 +1,9 @@
#pragma once
-#include "../../Base.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/Mapper.hpp"
-#include "cru/ui/style/Styler.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "../../Base.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/Mapper.h"
+#include "cru/ui/style/Styler.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
struct CRU_UI_API IStylerMapper : virtual Interface {
diff --git a/include/cru/ui/mapper/style/NoConditionMapper.hpp b/include/cru/ui/mapper/style/NoConditionMapper.h
index ed3a9699..bc7ce623 100644
--- a/include/cru/ui/mapper/style/NoConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/NoConditionMapper.h
@@ -1,10 +1,10 @@
#pragma once
-#include "../Mapper.hpp"
-#include "IConditionMapper.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/style/Condition.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "../Mapper.h"
+#include "IConditionMapper.h"
+#include "cru/common/Base.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/style/Condition.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
class CRU_UI_API NoConditionMapper
diff --git a/include/cru/ui/mapper/style/OrConditionMapper.hpp b/include/cru/ui/mapper/style/OrConditionMapper.h
index 21a402c2..e93484b4 100644
--- a/include/cru/ui/mapper/style/OrConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/OrConditionMapper.h
@@ -1,6 +1,6 @@
#pragma once
-#include "../Mapper.hpp"
-#include "IConditionMapper.hpp"
+#include "../Mapper.h"
+#include "IConditionMapper.h"
namespace cru::ui::mapper::style {
class CRU_UI_API OrConditionMapper
diff --git a/include/cru/ui/mapper/style/StyleRuleMapper.hpp b/include/cru/ui/mapper/style/StyleRuleMapper.h
index ce5ccf00..cba4872c 100644
--- a/include/cru/ui/mapper/style/StyleRuleMapper.hpp
+++ b/include/cru/ui/mapper/style/StyleRuleMapper.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../Mapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/style/StyleRule.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "../Mapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/style/StyleRule.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
class CRU_UI_API StyleRuleMapper : public BasicPtrMapper<ui::style::StyleRule> {
diff --git a/include/cru/ui/mapper/style/StyleRuleSetMapper.hpp b/include/cru/ui/mapper/style/StyleRuleSetMapper.h
index 66b95f4a..95f745e5 100644
--- a/include/cru/ui/mapper/style/StyleRuleSetMapper.hpp
+++ b/include/cru/ui/mapper/style/StyleRuleSetMapper.h
@@ -1,7 +1,7 @@
#pragma once
#include <memory>
-#include "../../style/StyleRuleSet.hpp"
-#include "../Mapper.hpp"
+#include "../../style/StyleRuleSet.h"
+#include "../Mapper.h"
namespace cru::ui::mapper::style {
class CRU_UI_API StyleRuleSetMapper
diff --git a/include/cru/ui/render/Base.hpp b/include/cru/ui/render/Base.h
index ac67349e..fca67086 100644
--- a/include/cru/ui/render/Base.hpp
+++ b/include/cru/ui/render/Base.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
namespace cru::ui::render {
class RenderObject;
diff --git a/include/cru/ui/render/BorderRenderObject.hpp b/include/cru/ui/render/BorderRenderObject.h
index bf4b27a1..d75a979f 100644
--- a/include/cru/ui/render/BorderRenderObject.hpp
+++ b/include/cru/ui/render/BorderRenderObject.h
@@ -1,9 +1,9 @@
#pragma once
#include <string_view>
-#include "../style/ApplyBorderStyleInfo.hpp"
-#include "RenderObject.hpp"
-#include "cru/platform/GraphicsBase.hpp"
-#include "cru/ui/Base.hpp"
+#include "../style/ApplyBorderStyleInfo.h"
+#include "RenderObject.h"
+#include "cru/platform/GraphicsBase.h"
+#include "cru/ui/Base.h"
namespace cru::ui::render {
class CRU_UI_API BorderRenderObject : public RenderObject {
diff --git a/include/cru/ui/render/CanvasRenderObject.hpp b/include/cru/ui/render/CanvasRenderObject.h
index 68400271..ca55ebc6 100644
--- a/include/cru/ui/render/CanvasRenderObject.hpp
+++ b/include/cru/ui/render/CanvasRenderObject.h
@@ -1,5 +1,5 @@
#pragma once
-#include "RenderObject.hpp"
+#include "RenderObject.h"
namespace cru::ui::render {
// Layout logic:
diff --git a/include/cru/ui/render/FlexLayoutRenderObject.hpp b/include/cru/ui/render/FlexLayoutRenderObject.h
index c6fb7211..3a8348f6 100644
--- a/include/cru/ui/render/FlexLayoutRenderObject.hpp
+++ b/include/cru/ui/render/FlexLayoutRenderObject.h
@@ -1,5 +1,5 @@
#pragma once
-#include "LayoutRenderObject.hpp"
+#include "LayoutRenderObject.h"
#include <string_view>
diff --git a/include/cru/ui/render/LayoutHelper.hpp b/include/cru/ui/render/LayoutHelper.h
index 518dc5a3..c2377066 100644
--- a/include/cru/ui/render/LayoutHelper.hpp
+++ b/include/cru/ui/render/LayoutHelper.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "MeasureRequirement.hpp"
+#include "MeasureRequirement.h"
namespace cru::ui::render {
float CalculateAnchorByAlignment(Alignment alignment, float start_point,
diff --git a/include/cru/ui/render/LayoutRenderObject.hpp b/include/cru/ui/render/LayoutRenderObject.h
index 424a5831..42a3aa55 100644
--- a/include/cru/ui/render/LayoutRenderObject.hpp
+++ b/include/cru/ui/render/LayoutRenderObject.h
@@ -1,7 +1,7 @@
#pragma once
-#include "RenderObject.hpp"
+#include "RenderObject.h"
-#include "cru/platform/graphics/util/Painter.hpp"
+#include "cru/platform/graphics/util/Painter.h"
namespace cru::ui::render {
template <typename TChildLayoutData>
diff --git a/include/cru/ui/render/MeasureRequirement.hpp b/include/cru/ui/render/MeasureRequirement.h
index 90d02a02..c740385b 100644
--- a/include/cru/ui/render/MeasureRequirement.hpp
+++ b/include/cru/ui/render/MeasureRequirement.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/String.hpp"
+#include "cru/common/String.h"
#include <algorithm>
#include <limits>
diff --git a/include/cru/ui/render/RenderObject.hpp b/include/cru/ui/render/RenderObject.h
index bac97640..1e47e7fc 100644
--- a/include/cru/ui/render/RenderObject.hpp
+++ b/include/cru/ui/render/RenderObject.h
@@ -1,10 +1,10 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "MeasureRequirement.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/ui/Base.hpp"
+#include "MeasureRequirement.h"
+#include "cru/common/Base.h"
+#include "cru/common/Event.h"
+#include "cru/ui/Base.h"
#include <cstddef>
#include <string>
diff --git a/include/cru/ui/render/ScrollBar.hpp b/include/cru/ui/render/ScrollBar.h
index f1007d4d..84d4375b 100644
--- a/include/cru/ui/render/ScrollBar.hpp
+++ b/include/cru/ui/render/ScrollBar.h
@@ -1,17 +1,17 @@
#pragma once
-#include "Base.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/platform/graphics/Geometry.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/TimerHelper.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
+#include "Base.h"
+#include "cru/common/Base.h"
+#include "cru/common/Event.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/platform/graphics/Geometry.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/TimerHelper.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/helper/ClickDetector.h"
#include <gsl/pointers>
#include <memory>
diff --git a/include/cru/ui/render/ScrollRenderObject.hpp b/include/cru/ui/render/ScrollRenderObject.h
index 19814c51..bb282953 100644
--- a/include/cru/ui/render/ScrollRenderObject.hpp
+++ b/include/cru/ui/render/ScrollRenderObject.h
@@ -1,10 +1,10 @@
#pragma once
-#include "RenderObject.hpp"
+#include "RenderObject.h"
-#include "cru/common/Event.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/render/ScrollBar.hpp"
+#include "cru/common/Event.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/render/ScrollBar.h"
#include <memory>
#include <optional>
diff --git a/include/cru/ui/render/StackLayoutRenderObject.hpp b/include/cru/ui/render/StackLayoutRenderObject.h
index 2f832e55..e141d16e 100644
--- a/include/cru/ui/render/StackLayoutRenderObject.hpp
+++ b/include/cru/ui/render/StackLayoutRenderObject.h
@@ -1,6 +1,6 @@
#pragma once
-#include "LayoutRenderObject.hpp"
-#include "cru/ui/Base.hpp"
+#include "LayoutRenderObject.h"
+#include "cru/ui/Base.h"
namespace cru::ui::render {
// Measure Logic:
diff --git a/include/cru/ui/render/TextRenderObject.hpp b/include/cru/ui/render/TextRenderObject.h
index 601bd0a8..3b5f581a 100644
--- a/include/cru/ui/render/TextRenderObject.hpp
+++ b/include/cru/ui/render/TextRenderObject.h
@@ -1,5 +1,5 @@
#pragma once
-#include "RenderObject.hpp"
+#include "RenderObject.h"
#include <string>
diff --git a/include/cru/ui/style/ApplyBorderStyleInfo.hpp b/include/cru/ui/style/ApplyBorderStyleInfo.h
index 7ae5b2c5..2e6753fc 100644
--- a/include/cru/ui/style/ApplyBorderStyleInfo.hpp
+++ b/include/cru/ui/style/ApplyBorderStyleInfo.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Base.hpp"
+#include "../Base.h"
#include <optional>
diff --git a/include/cru/ui/style/Condition.hpp b/include/cru/ui/style/Condition.h
index 89da81f6..221a7428 100644
--- a/include/cru/ui/style/Condition.hpp
+++ b/include/cru/ui/style/Condition.h
@@ -1,10 +1,10 @@
#pragma once
-#include "../Base.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/ui/controls/IClickableControl.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
+#include "../Base.h"
+#include "cru/common/Base.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/common/Event.h"
+#include "cru/ui/controls/IClickableControl.h"
+#include "cru/ui/helper/ClickDetector.h"
#include <memory>
#include <type_traits>
diff --git a/include/cru/ui/style/StyleRule.hpp b/include/cru/ui/style/StyleRule.h
index 743aa759..68b239f3 100644
--- a/include/cru/ui/style/StyleRule.hpp
+++ b/include/cru/ui/style/StyleRule.h
@@ -1,8 +1,8 @@
#pragma once
-#include "../Base.hpp"
-#include "Condition.hpp"
-#include "Styler.hpp"
-#include "cru/common/ClonablePtr.hpp"
+#include "../Base.h"
+#include "Condition.h"
+#include "Styler.h"
+#include "cru/common/ClonablePtr.h"
#include <memory>
#include <vector>
diff --git a/include/cru/ui/style/StyleRuleSet.hpp b/include/cru/ui/style/StyleRuleSet.h
index 32b02d78..34d0fad4 100644
--- a/include/cru/ui/style/StyleRuleSet.hpp
+++ b/include/cru/ui/style/StyleRuleSet.h
@@ -1,7 +1,7 @@
#pragma once
-#include "StyleRule.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Event.hpp"
+#include "StyleRule.h"
+#include "cru/common/Base.h"
+#include "cru/common/Event.h"
#include <cstddef>
diff --git a/include/cru/ui/style/Styler.hpp b/include/cru/ui/style/Styler.h
index 3bf0b027..9bdec294 100644
--- a/include/cru/ui/style/Styler.hpp
+++ b/include/cru/ui/style/Styler.h
@@ -1,10 +1,10 @@
#pragma once
-#include "../Base.hpp"
-#include "ApplyBorderStyleInfo.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/ui/controls/Control.hpp"
+#include "../Base.h"
+#include "ApplyBorderStyleInfo.h"
+#include "cru/common/Base.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/ui/controls/Control.h"
#include <memory>
#include <vector>
diff --git a/include/cru/win/Base.hpp b/include/cru/win/Base.h
index d78f2538..75da7287 100644
--- a/include/cru/win/Base.hpp
+++ b/include/cru/win/Base.h
@@ -1,6 +1,6 @@
#pragma once
-#include "WinPreConfig.hpp"
+#include "WinPreConfig.h"
#ifdef CRU_PLATFORM_WINDOWS
#ifdef CRU_WIN_EXPORT_API
diff --git a/include/cru/win/DebugLogger.hpp b/include/cru/win/DebugLogger.h
index 05793607..6a7173ea 100644
--- a/include/cru/win/DebugLogger.hpp
+++ b/include/cru/win/DebugLogger.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Logger.hpp"
+#include "cru/common/Logger.h"
namespace cru::platform::win {
diff --git a/include/cru/win/Exception.h b/include/cru/win/Exception.h
new file mode 100644
index 00000000..af8b495c
--- /dev/null
+++ b/include/cru/win/Exception.h
@@ -0,0 +1,3 @@
+#pragma once
+#include "cru/common/platform/win/Exception.h"
+#include "cru/platform/Exception.h"
diff --git a/include/cru/win/Exception.hpp b/include/cru/win/Exception.hpp
deleted file mode 100644
index 3c42ff65..00000000
--- a/include/cru/win/Exception.hpp
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-#include "cru/common/platform/win/Exception.hpp"
-#include "cru/platform/Exception.hpp"
diff --git a/include/cru/win/StdOutLogger.hpp b/include/cru/win/StdOutLogger.h
index cfda0a85..831d006f 100644
--- a/include/cru/win/StdOutLogger.hpp
+++ b/include/cru/win/StdOutLogger.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Logger.hpp"
+#include "cru/common/Logger.h"
namespace cru::platform::win {
class CRU_WIN_API WinStdOutLoggerSource : public ::cru::log::ILogSource {
diff --git a/include/cru/win/WinPreConfig.h b/include/cru/win/WinPreConfig.h
new file mode 100644
index 00000000..e714bf5e
--- /dev/null
+++ b/include/cru/win/WinPreConfig.h
@@ -0,0 +1,2 @@
+#pragma once
+#include "cru/common/platform/win/WinPreConfig.h"
diff --git a/include/cru/win/WinPreConfig.hpp b/include/cru/win/WinPreConfig.hpp
deleted file mode 100644
index 1658e45d..00000000
--- a/include/cru/win/WinPreConfig.hpp
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-#include "cru/common/platform/win/WinPreConfig.hpp"
diff --git a/include/cru/win/graphics/direct/Base.hpp b/include/cru/win/graphics/direct/Base.h
index 49fc7897..5f6f8c99 100644
--- a/include/cru/win/graphics/direct/Base.hpp
+++ b/include/cru/win/graphics/direct/Base.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../../WinPreConfig.hpp"
+#include "../../WinPreConfig.h"
#include <d2d1_2.h>
#include <d3d11.h>
diff --git a/include/cru/win/graphics/direct/Brush.hpp b/include/cru/win/graphics/direct/Brush.h
index 22b0a8af..fe5321b7 100644
--- a/include/cru/win/graphics/direct/Brush.hpp
+++ b/include/cru/win/graphics/direct/Brush.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ComResource.hpp"
-#include "Resource.hpp"
+#include "ComResource.h"
+#include "Resource.h"
-#include "cru/platform/graphics/Brush.hpp"
+#include "cru/platform/graphics/Brush.h"
namespace cru::platform::graphics::win::direct {
struct CRU_WIN_GRAPHICS_DIRECT_API ID2DBrush : virtual IBrush {
diff --git a/include/cru/win/graphics/direct/ComResource.hpp b/include/cru/win/graphics/direct/ComResource.h
index f8738f6e..36023b84 100644
--- a/include/cru/win/graphics/direct/ComResource.hpp
+++ b/include/cru/win/graphics/direct/ComResource.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
namespace cru::platform::graphics::win::direct {
template <typename TInterface>
diff --git a/include/cru/win/graphics/direct/ConvertUtil.hpp b/include/cru/win/graphics/direct/ConvertUtil.h
index 963b22f3..8066a265 100644
--- a/include/cru/win/graphics/direct/ConvertUtil.hpp
+++ b/include/cru/win/graphics/direct/ConvertUtil.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/platform/graphics/Base.hpp"
+#include "cru/platform/graphics/Base.h"
namespace cru::platform::graphics::win::direct {
inline D2D1_MATRIX_3X2_F Convert(const platform::Matrix& matrix) {
diff --git a/include/cru/win/graphics/direct/Exception.hpp b/include/cru/win/graphics/direct/Exception.h
index 72493f2f..21dde875 100644
--- a/include/cru/win/graphics/direct/Exception.hpp
+++ b/include/cru/win/graphics/direct/Exception.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../../Exception.hpp"
+#include "../../Exception.h"
namespace cru::platform::graphics::win::direct {
using platform::win::HResultError;
diff --git a/include/cru/win/graphics/direct/Factory.hpp b/include/cru/win/graphics/direct/Factory.h
index 4ceed7c5..368c68f0 100644
--- a/include/cru/win/graphics/direct/Factory.hpp
+++ b/include/cru/win/graphics/direct/Factory.h
@@ -1,11 +1,11 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "ImageFactory.hpp"
+#include "ImageFactory.h"
-#include "cru/common/platform/win/ComAutoInit.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/platform/graphics/Factory.hpp"
+#include "cru/common/platform/win/ComAutoInit.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/platform/graphics/Factory.h"
namespace cru::platform::graphics::win::direct {
class CRU_WIN_GRAPHICS_DIRECT_API DirectGraphicsFactory
diff --git a/include/cru/win/graphics/direct/Font.hpp b/include/cru/win/graphics/direct/Font.h
index 3bf423a0..e08ec5a3 100644
--- a/include/cru/win/graphics/direct/Font.hpp
+++ b/include/cru/win/graphics/direct/Font.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ComResource.hpp"
-#include "Resource.hpp"
+#include "ComResource.h"
+#include "Resource.h"
-#include "cru/platform/graphics/Font.hpp"
+#include "cru/platform/graphics/Font.h"
#include <string_view>
diff --git a/include/cru/win/graphics/direct/Geometry.hpp b/include/cru/win/graphics/direct/Geometry.h
index 3849045e..8e40c383 100644
--- a/include/cru/win/graphics/direct/Geometry.hpp
+++ b/include/cru/win/graphics/direct/Geometry.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ComResource.hpp"
-#include "Resource.hpp"
+#include "ComResource.h"
+#include "Resource.h"
-#include "cru/platform/graphics/Geometry.hpp"
+#include "cru/platform/graphics/Geometry.h"
namespace cru::platform::graphics::win::direct {
class CRU_WIN_GRAPHICS_DIRECT_API D2DGeometryBuilder
diff --git a/include/cru/win/graphics/direct/Image.hpp b/include/cru/win/graphics/direct/Image.h
index 06448621..0b51f350 100644
--- a/include/cru/win/graphics/direct/Image.hpp
+++ b/include/cru/win/graphics/direct/Image.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/graphics/Image.hpp"
+#include "Resource.h"
+#include "cru/platform/graphics/Image.h"
namespace cru::platform::graphics::win::direct {
class CRU_WIN_GRAPHICS_DIRECT_API Direct2DImage : public DirectGraphicsResource,
diff --git a/include/cru/win/graphics/direct/ImageFactory.hpp b/include/cru/win/graphics/direct/ImageFactory.h
index fa450039..34d363b0 100644
--- a/include/cru/win/graphics/direct/ImageFactory.hpp
+++ b/include/cru/win/graphics/direct/ImageFactory.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/platform/graphics/Image.hpp"
-#include "cru/platform/graphics/ImageFactory.hpp"
+#include "Resource.h"
+#include "cru/platform/graphics/Image.h"
+#include "cru/platform/graphics/ImageFactory.h"
namespace cru::platform::graphics::win::direct {
class CRU_WIN_GRAPHICS_DIRECT_API WinImageFactory
diff --git a/include/cru/win/graphics/direct/Painter.hpp b/include/cru/win/graphics/direct/Painter.h
index 57a59357..b1795395 100644
--- a/include/cru/win/graphics/direct/Painter.hpp
+++ b/include/cru/win/graphics/direct/Painter.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ComResource.hpp"
-#include "Resource.hpp"
+#include "ComResource.h"
+#include "Resource.h"
-#include "cru/platform/graphics/Painter.hpp"
+#include "cru/platform/graphics/Painter.h"
#include <vector>
diff --git a/include/cru/win/graphics/direct/Resource.hpp b/include/cru/win/graphics/direct/Resource.h
index 112af26f..df558686 100644
--- a/include/cru/win/graphics/direct/Resource.hpp
+++ b/include/cru/win/graphics/direct/Resource.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/platform/graphics/Resource.hpp"
+#include "cru/platform/graphics/Resource.h"
#include <string_view>
diff --git a/include/cru/win/graphics/direct/TextLayout.hpp b/include/cru/win/graphics/direct/TextLayout.h
index 41698862..fca5d68f 100644
--- a/include/cru/win/graphics/direct/TextLayout.hpp
+++ b/include/cru/win/graphics/direct/TextLayout.h
@@ -1,8 +1,8 @@
#pragma once
-#include "ComResource.hpp"
-#include "Resource.hpp"
+#include "ComResource.h"
+#include "Resource.h"
-#include "cru/platform/graphics/TextLayout.hpp"
+#include "cru/platform/graphics/TextLayout.h"
#include <limits>
#include <memory>
diff --git a/include/cru/win/graphics/direct/WindowPainter.hpp b/include/cru/win/graphics/direct/WindowPainter.h
index 3d66bc2e..67ff91e1 100644
--- a/include/cru/win/graphics/direct/WindowPainter.hpp
+++ b/include/cru/win/graphics/direct/WindowPainter.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Painter.hpp"
-#include "WindowRenderTarget.hpp"
+#include "Painter.h"
+#include "WindowRenderTarget.h"
namespace cru::platform::graphics::win::direct {
class CRU_WIN_GRAPHICS_DIRECT_API D2DWindowPainter
diff --git a/include/cru/win/graphics/direct/WindowRenderTarget.hpp b/include/cru/win/graphics/direct/WindowRenderTarget.h
index 6b775241..c588f261 100644
--- a/include/cru/win/graphics/direct/WindowRenderTarget.hpp
+++ b/include/cru/win/graphics/direct/WindowRenderTarget.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Factory.hpp"
+#include "Factory.h"
namespace cru::platform::graphics::win::direct {
// Represents a window render target.
diff --git a/include/cru/win/gui/Base.hpp b/include/cru/win/gui/Base.h
index 2a0d0247..ab915c57 100644
--- a/include/cru/win/gui/Base.hpp
+++ b/include/cru/win/gui/Base.h
@@ -1,7 +1,7 @@
#pragma once
-#include "../WinPreConfig.hpp"
+#include "../WinPreConfig.h"
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
#ifdef CRU_PLATFORM_WINDOWS
#ifdef CRU_WIN_GUI_EXPORT_API
diff --git a/include/cru/win/gui/Clipboard.hpp b/include/cru/win/gui/Clipboard.h
index 63d4906a..7580642b 100644
--- a/include/cru/win/gui/Clipboard.hpp
+++ b/include/cru/win/gui/Clipboard.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/gui/Clipboard.hpp"
-#include "cru/win/gui/Base.hpp"
+#include "Resource.h"
+#include "cru/common/Base.h"
+#include "cru/platform/gui/Clipboard.h"
+#include "cru/win/gui/Base.h"
namespace cru::platform::gui::win {
class WinClipboard : public WinNativeResource, public virtual IClipboard {
diff --git a/include/cru/win/gui/Cursor.hpp b/include/cru/win/gui/Cursor.h
index 89f61db9..7a9a2198 100644
--- a/include/cru/win/gui/Cursor.hpp
+++ b/include/cru/win/gui/Cursor.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "cru/platform/gui/Cursor.hpp"
+#include "cru/platform/gui/Cursor.h"
#include <memory>
diff --git a/include/cru/win/gui/Exception.hpp b/include/cru/win/gui/Exception.h
index 895e6c14..99ed5863 100644
--- a/include/cru/win/gui/Exception.hpp
+++ b/include/cru/win/gui/Exception.h
@@ -1,5 +1,5 @@
#pragma once
-#include "../Exception.hpp"
+#include "../Exception.h"
namespace cru::platform::gui::win {
using platform::win::Win32Error;
diff --git a/include/cru/win/gui/GodWindow.hpp b/include/cru/win/gui/GodWindow.h
index fa69cb84..63051245 100644
--- a/include/cru/win/gui/GodWindow.hpp
+++ b/include/cru/win/gui/GodWindow.h
@@ -1,9 +1,9 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "WindowNativeMessageEventArgs.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/common/String.hpp"
+#include "WindowNativeMessageEventArgs.h"
+#include "cru/common/Event.h"
+#include "cru/common/String.h"
#include <memory>
diff --git a/include/cru/win/gui/InputMethod.hpp b/include/cru/win/gui/InputMethod.h
index 0f50c0aa..27a621be 100644
--- a/include/cru/win/gui/InputMethod.hpp
+++ b/include/cru/win/gui/InputMethod.h
@@ -3,10 +3,10 @@
// https://chromium.googlesource.com/chromium/chromium/+/refs/heads/master/ui/base/win/ime_input.cc
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "WindowNativeMessageEventArgs.hpp"
-#include "cru/platform/gui/InputMethod.hpp"
+#include "WindowNativeMessageEventArgs.h"
+#include "cru/platform/gui/InputMethod.h"
#include <imm.h>
diff --git a/include/cru/win/gui/Keyboard.hpp b/include/cru/win/gui/Keyboard.h
index d736966a..18b37b60 100644
--- a/include/cru/win/gui/Keyboard.hpp
+++ b/include/cru/win/gui/Keyboard.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/platform/gui/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.h"
namespace cru::platform::gui::win {
KeyCode CRU_WIN_GUI_API VirtualKeyToKeyCode(int virtual_key);
diff --git a/include/cru/win/gui/Resource.hpp b/include/cru/win/gui/Resource.h
index 34c4fc1b..ed43bec3 100644
--- a/include/cru/win/gui/Resource.hpp
+++ b/include/cru/win/gui/Resource.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/platform/Resource.hpp"
+#include "cru/platform/Resource.h"
namespace cru::platform::gui::win {
class CRU_WIN_GUI_API WinNativeResource : public Object,
diff --git a/include/cru/win/gui/UiApplication.hpp b/include/cru/win/gui/UiApplication.h
index 1280e7a6..a4dfcf3d 100644
--- a/include/cru/win/gui/UiApplication.hpp
+++ b/include/cru/win/gui/UiApplication.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/UiApplication.h"
#include <memory>
diff --git a/include/cru/win/gui/Window.hpp b/include/cru/win/gui/Window.h
index 75530596..fcbe1dbd 100644
--- a/include/cru/win/gui/Window.hpp
+++ b/include/cru/win/gui/Window.h
@@ -1,10 +1,10 @@
#pragma once
-#include "Resource.hpp"
+#include "Resource.h"
-#include "WindowNativeMessageEventArgs.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/win/graphics/direct/WindowRenderTarget.hpp"
+#include "WindowNativeMessageEventArgs.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/win/graphics/direct/WindowRenderTarget.h"
#include <memory>
diff --git a/include/cru/win/gui/WindowClass.hpp b/include/cru/win/gui/WindowClass.h
index ab55b214..50729887 100644
--- a/include/cru/win/gui/WindowClass.hpp
+++ b/include/cru/win/gui/WindowClass.h
@@ -1,5 +1,5 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
#include <string>
diff --git a/include/cru/win/gui/WindowNativeMessageEventArgs.hpp b/include/cru/win/gui/WindowNativeMessageEventArgs.h
index 7e62c19d..bc85a597 100644
--- a/include/cru/win/gui/WindowNativeMessageEventArgs.hpp
+++ b/include/cru/win/gui/WindowNativeMessageEventArgs.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
namespace cru::platform::gui::win {
struct CRU_WIN_GUI_API WindowNativeMessage {
diff --git a/include/cru/xml/Base.hpp b/include/cru/xml/Base.h
index 5d6fe144..5d6fe144 100644
--- a/include/cru/xml/Base.hpp
+++ b/include/cru/xml/Base.h
diff --git a/include/cru/xml/XmlNode.hpp b/include/cru/xml/XmlNode.h
index cfe6e155..737a2d87 100644
--- a/include/cru/xml/XmlNode.hpp
+++ b/include/cru/xml/XmlNode.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Base.hpp"
+#include "Base.h"
-#include "cru/common/String.hpp"
+#include "cru/common/String.h"
#include <algorithm>
#include <optional>
diff --git a/include/cru/xml/XmlParser.hpp b/include/cru/xml/XmlParser.h
index e916cc53..75664ce3 100644
--- a/include/cru/xml/XmlParser.hpp
+++ b/include/cru/xml/XmlParser.h
@@ -1,9 +1,9 @@
#pragma once
-#include "XmlNode.hpp"
+#include "XmlNode.h"
-#include "cru/common/Exception.hpp"
-#include "cru/common/String.hpp"
+#include "cru/common/Exception.h"
+#include "cru/common/String.h"
#include <optional>
diff --git a/src/common/Base.cpp b/src/common/Base.cpp
index dbbc0d61..b6d39fef 100644
--- a/src/common/Base.cpp
+++ b/src/common/Base.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
#include <stdexcept>
diff --git a/src/common/Exception.cpp b/src/common/Exception.cpp
index 779c65d6..86816720 100644
--- a/src/common/Exception.cpp
+++ b/src/common/Exception.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/Exception.hpp"
+#include "cru/common/Exception.h"
namespace cru {
Exception::Exception() {}
diff --git a/src/common/Format.cpp b/src/common/Format.cpp
index 2d3b50eb..3362db65 100644
--- a/src/common/Format.cpp
+++ b/src/common/Format.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/Format.hpp"
+#include "cru/common/Format.h"
namespace cru {
namespace details {
diff --git a/src/common/Logger.cpp b/src/common/Logger.cpp
index 3034c0ad..49261396 100644
--- a/src/common/Logger.cpp
+++ b/src/common/Logger.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/Logger.hpp"
+#include "cru/common/Logger.h"
#include <array>
#include <cstdlib>
diff --git a/src/common/PropertyTree.cpp b/src/common/PropertyTree.cpp
index cc3e9cb5..b587becb 100644
--- a/src/common/PropertyTree.cpp
+++ b/src/common/PropertyTree.cpp
@@ -1,6 +1,6 @@
-#include "cru/common/PropertyTree.hpp"
+#include "cru/common/PropertyTree.h"
#include <unordered_map>
-#include "cru/common/Exception.hpp"
+#include "cru/common/Exception.h"
namespace cru {
String PropertySubTreeRef::CombineKey(StringView left, StringView right) {
diff --git a/src/common/String.cpp b/src/common/String.cpp
index a43c2abd..22008f6d 100644
--- a/src/common/String.cpp
+++ b/src/common/String.cpp
@@ -1,6 +1,6 @@
-#include "cru/common/String.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/common/StringUtil.hpp"
+#include "cru/common/String.h"
+#include "cru/common/Exception.h"
+#include "cru/common/StringUtil.h"
#include <cmath>
#include <gsl/gsl>
diff --git a/src/common/StringUtil.cpp b/src/common/StringUtil.cpp
index 2bec815d..f584fd4e 100644
--- a/src/common/StringUtil.cpp
+++ b/src/common/StringUtil.cpp
@@ -1,6 +1,6 @@
-#include "cru/common/StringUtil.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Exception.hpp"
+#include "cru/common/StringUtil.h"
+#include "cru/common/Base.h"
+#include "cru/common/Exception.h"
namespace cru {
using details::ExtractBits;
diff --git a/src/common/io/MemoryStream.cpp b/src/common/io/MemoryStream.cpp
index dcb7a032..7507875b 100644
--- a/src/common/io/MemoryStream.cpp
+++ b/src/common/io/MemoryStream.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/io/MemoryStream.hpp"
+#include "cru/common/io/MemoryStream.h"
namespace cru::io {
MemoryStream::~MemoryStream() {
diff --git a/src/common/io/Resource.cpp b/src/common/io/Resource.cpp
index da16b578..0ee7f753 100644
--- a/src/common/io/Resource.cpp
+++ b/src/common/io/Resource.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/io/Resource.hpp"
-#include "cru/common/Exception.hpp"
+#include "cru/common/io/Resource.h"
+#include "cru/common/Exception.h"
#if defined(CRU_PLATFORM_OSX)
#include <CoreFoundation/CoreFoundation.h>
diff --git a/src/common/io/Stream.cpp b/src/common/io/Stream.cpp
index ad1dbd0e..bc045f03 100644
--- a/src/common/io/Stream.cpp
+++ b/src/common/io/Stream.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/io/Stream.hpp"
+#include "cru/common/io/Stream.h"
namespace cru::io {
Index Stream::Tell() { return Seek(0, SeekOrigin::Current); }
diff --git a/src/common/platform/Exception.cpp b/src/common/platform/Exception.cpp
index c13c8b1e..1c5db390 100644
--- a/src/common/platform/Exception.cpp
+++ b/src/common/platform/Exception.cpp
@@ -1 +1 @@
-#include "cru/common/platform/Exception.hpp"
+#include "cru/common/platform/Exception.h"
diff --git a/src/common/platform/osx/Convert.cpp b/src/common/platform/osx/Convert.cpp
index e5105698..4792df1f 100644
--- a/src/common/platform/osx/Convert.cpp
+++ b/src/common/platform/osx/Convert.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/platform/osx/Convert.hpp"
+#include "cru/common/platform/osx/Convert.h"
namespace cru::platform::osx {
CFStringRef Convert(const String& string) {
diff --git a/src/common/platform/osx/Exception.cpp b/src/common/platform/osx/Exception.cpp
index b02fd458..e03faa4c 100644
--- a/src/common/platform/osx/Exception.cpp
+++ b/src/common/platform/osx/Exception.cpp
@@ -1 +1 @@
-#include "cru/common/platform//osx/Exception.hpp"
+#include "cru/common/platform//osx/Exception.h"
diff --git a/src/common/platform/unix/ErrnoException.cpp b/src/common/platform/unix/ErrnoException.cpp
index 14e6a5a2..f2171943 100644
--- a/src/common/platform/unix/ErrnoException.cpp
+++ b/src/common/platform/unix/ErrnoException.cpp
@@ -1,6 +1,6 @@
-#include "cru/common/platform/unix/ErrnoException.hpp"
+#include "cru/common/platform/unix/ErrnoException.h"
-#include "cru/common/Format.hpp"
+#include "cru/common/Format.h"
#include <errno.h>
diff --git a/src/common/platform/unix/UnixFileStream.cpp b/src/common/platform/unix/UnixFileStream.cpp
index dd883497..cf268288 100644
--- a/src/common/platform/unix/UnixFileStream.cpp
+++ b/src/common/platform/unix/UnixFileStream.cpp
@@ -1,7 +1,7 @@
-#include "cru/common/platform/unix/UnixFileStream.hpp"
-#include "cru/common/Format.hpp"
-#include "cru/common/io/OpenFileFlag.hpp"
-#include "cru/common/platform/unix/ErrnoException.hpp"
+#include "cru/common/platform/unix/UnixFileStream.h"
+#include "cru/common/Format.h"
+#include "cru/common/io/OpenFileFlag.h"
+#include "cru/common/platform/unix/ErrnoException.h"
#include <fcntl.h>
#include <sys/_types/_s_ifmt.h>
diff --git a/src/common/platform/win/BridgeComStream.cpp b/src/common/platform/win/BridgeComStream.cpp
index 48ba8154..4c83fd45 100644
--- a/src/common/platform/win/BridgeComStream.cpp
+++ b/src/common/platform/win/BridgeComStream.cpp
@@ -1,5 +1,5 @@
-#include "BrigdeComStream.hpp"
-#include "cru/common/io/Stream.hpp"
+#include "BrigdeComStream.h"
+#include "cru/common/io/Stream.h"
namespace cru::platform::win {
BridgeComStream::BridgeComStream(io::Stream *stream)
diff --git a/src/common/platform/win/BrigdeComStream.hpp b/src/common/platform/win/BrigdeComStream.h
index 228c16f6..7c8a79d1 100644
--- a/src/common/platform/win/BrigdeComStream.hpp
+++ b/src/common/platform/win/BrigdeComStream.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/common/platform/win/WinPreConfig.hpp"
+#include "cru/common/platform/win/WinPreConfig.h"
-#include "cru/common/io/Stream.hpp"
+#include "cru/common/io/Stream.h"
#include <objidlbase.h>
diff --git a/src/common/platform/win/ComAutoInit.cpp b/src/common/platform/win/ComAutoInit.cpp
index e336be59..55a53a8d 100644
--- a/src/common/platform/win/ComAutoInit.cpp
+++ b/src/common/platform/win/ComAutoInit.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/platform/win/ComAutoInit.hpp"
-#include "cru/common/platform/win/Exception.hpp"
+#include "cru/common/platform/win/ComAutoInit.h"
+#include "cru/common/platform/win/Exception.h"
#include <combaseapi.h>
diff --git a/src/common/platform/win/Exception.cpp b/src/common/platform/win/Exception.cpp
index 70cfcb3c..a20e8a31 100644
--- a/src/common/platform/win/Exception.cpp
+++ b/src/common/platform/win/Exception.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/platform/win/Exception.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/common/platform/win/Exception.h"
+#include "cru/common/Format.h"
#include <optional>
diff --git a/src/common/platform/win/StreamConvert.cpp b/src/common/platform/win/StreamConvert.cpp
index 1d077573..8e2648c2 100644
--- a/src/common/platform/win/StreamConvert.cpp
+++ b/src/common/platform/win/StreamConvert.cpp
@@ -1,11 +1,11 @@
-#include "cru/common/platform/win/StreamConvert.hpp"
-#include "BrigdeComStream.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/common/io/MemoryStream.hpp"
-#include "cru/common/io/OpenFileFlag.hpp"
-#include "cru/common/platform/win/ComAutoInit.hpp"
-#include "cru/common/platform/win/Exception.hpp"
-#include "cru/common/platform/win/Win32FileStream.hpp"
+#include "cru/common/platform/win/StreamConvert.h"
+#include "BrigdeComStream.h"
+#include "cru/common/Exception.h"
+#include "cru/common/io/MemoryStream.h"
+#include "cru/common/io/OpenFileFlag.h"
+#include "cru/common/platform/win/ComAutoInit.h"
+#include "cru/common/platform/win/Exception.h"
+#include "cru/common/platform/win/Win32FileStream.h"
#include <shlwapi.h>
#include <winnt.h>
diff --git a/src/common/platform/win/Win32FileStream.cpp b/src/common/platform/win/Win32FileStream.cpp
index db3a1e01..92420bbe 100644
--- a/src/common/platform/win/Win32FileStream.cpp
+++ b/src/common/platform/win/Win32FileStream.cpp
@@ -1,7 +1,7 @@
-#include "cru/common/platform/win/Win32FileStream.hpp"
+#include "cru/common/platform/win/Win32FileStream.h"
-#include "cru/common/io/OpenFileFlag.hpp"
-#include "cru/common/platform/win/Exception.hpp"
+#include "cru/common/io/OpenFileFlag.h"
+#include "cru/common/platform/win/Exception.h"
#include <Windows.h>
#include <winnt.h>
diff --git a/src/osx/Resource.cpp b/src/osx/Resource.cpp
index e8140856..dbf15d48 100644
--- a/src/osx/Resource.cpp
+++ b/src/osx/Resource.cpp
@@ -1 +1 @@
-#include "cru/osx/Resource.hpp"
+#include "cru/osx/Resource.h"
diff --git a/src/osx/graphics/quartz/Brush.cpp b/src/osx/graphics/quartz/Brush.cpp
index 637ce34f..cfb8f635 100644
--- a/src/osx/graphics/quartz/Brush.cpp
+++ b/src/osx/graphics/quartz/Brush.cpp
@@ -1,6 +1,6 @@
-#include "cru/osx/graphics/quartz/Brush.hpp"
-#include "cru/common/String.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/osx/graphics/quartz/Brush.h"
+#include "cru/common/String.h"
+#include "cru/common/Format.h"
namespace cru::platform::graphics::osx::quartz {
QuartzSolidColorBrush::QuartzSolidColorBrush(IGraphicsFactory* graphics_factory,
diff --git a/src/osx/graphics/quartz/Convert.cpp b/src/osx/graphics/quartz/Convert.cpp
index 1cd7ea1d..993b5b61 100644
--- a/src/osx/graphics/quartz/Convert.cpp
+++ b/src/osx/graphics/quartz/Convert.cpp
@@ -1,4 +1,4 @@
-#include "cru/osx/graphics/quartz/Convert.hpp"
+#include "cru/osx/graphics/quartz/Convert.h"
#include <cstdint>
namespace cru::platform::graphics::osx::quartz {
diff --git a/src/osx/graphics/quartz/Factory.cpp b/src/osx/graphics/quartz/Factory.cpp
index 570fd099..283341e5 100644
--- a/src/osx/graphics/quartz/Factory.cpp
+++ b/src/osx/graphics/quartz/Factory.cpp
@@ -1,12 +1,12 @@
-#include "cru/osx/graphics/quartz/Factory.hpp"
-
-#include "cru/osx/graphics/quartz/Brush.hpp"
-#include "cru/osx/graphics/quartz/Font.hpp"
-#include "cru/osx/graphics/quartz/Geometry.hpp"
-#include "cru/osx/graphics/quartz/ImageFactory.hpp"
-#include "cru/osx/graphics/quartz/TextLayout.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/platform/graphics/ImageFactory.hpp"
+#include "cru/osx/graphics/quartz/Factory.h"
+
+#include "cru/osx/graphics/quartz/Brush.h"
+#include "cru/osx/graphics/quartz/Font.h"
+#include "cru/osx/graphics/quartz/Geometry.h"
+#include "cru/osx/graphics/quartz/ImageFactory.h"
+#include "cru/osx/graphics/quartz/TextLayout.h"
+#include "cru/platform/Check.h"
+#include "cru/platform/graphics/ImageFactory.h"
#include <memory>
diff --git a/src/osx/graphics/quartz/Font.cpp b/src/osx/graphics/quartz/Font.cpp
index 1499bda6..605a1453 100644
--- a/src/osx/graphics/quartz/Font.cpp
+++ b/src/osx/graphics/quartz/Font.cpp
@@ -1,8 +1,8 @@
-#include "cru/osx/graphics/quartz/Font.hpp"
+#include "cru/osx/graphics/quartz/Font.h"
-#include "cru/osx/Convert.hpp"
-#include "cru/osx/graphics/quartz/Convert.hpp"
-#include "cru/osx/graphics/quartz/Resource.hpp"
+#include "cru/osx/Convert.h"
+#include "cru/osx/graphics/quartz/Convert.h"
+#include "cru/osx/graphics/quartz/Resource.h"
namespace cru::platform::graphics::osx::quartz {
using cru::platform::osx::Convert;
diff --git a/src/osx/graphics/quartz/Geometry.cpp b/src/osx/graphics/quartz/Geometry.cpp
index 4ad9a7f3..284f5c4d 100644
--- a/src/osx/graphics/quartz/Geometry.cpp
+++ b/src/osx/graphics/quartz/Geometry.cpp
@@ -1,4 +1,4 @@
-#include "cru/osx/graphics/quartz/Geometry.hpp"
+#include "cru/osx/graphics/quartz/Geometry.h"
#include <memory>
diff --git a/src/osx/graphics/quartz/Image.cpp b/src/osx/graphics/quartz/Image.cpp
index e2664322..db10da76 100644
--- a/src/osx/graphics/quartz/Image.cpp
+++ b/src/osx/graphics/quartz/Image.cpp
@@ -1,5 +1,5 @@
-#include "cru/osx/graphics/quartz/Image.hpp"
-#include "cru/osx/graphics/quartz/Convert.hpp"
+#include "cru/osx/graphics/quartz/Image.h"
+#include "cru/osx/graphics/quartz/Convert.h"
namespace cru::platform::graphics::osx::quartz {
QuartzImage::QuartzImage(IGraphicsFactory* graphics_factory,
diff --git a/src/osx/graphics/quartz/ImageFactory.cpp b/src/osx/graphics/quartz/ImageFactory.cpp
index c59ff126..7796ef3a 100644
--- a/src/osx/graphics/quartz/ImageFactory.cpp
+++ b/src/osx/graphics/quartz/ImageFactory.cpp
@@ -1,7 +1,7 @@
-#include "cru/osx/graphics/quartz/ImageFactory.hpp"
-#include "cru/osx/graphics/quartz/Convert.hpp"
-#include "cru/osx/graphics/quartz/Image.hpp"
-#include "cru/platform/graphics/Image.hpp"
+#include "cru/osx/graphics/quartz/ImageFactory.h"
+#include "cru/osx/graphics/quartz/Convert.h"
+#include "cru/osx/graphics/quartz/Image.h"
+#include "cru/platform/graphics/Image.h"
#include <ImageIO/ImageIO.h>
diff --git a/src/osx/graphics/quartz/Painter.cpp b/src/osx/graphics/quartz/Painter.cpp
index 173cf47a..d74e456b 100644
--- a/src/osx/graphics/quartz/Painter.cpp
+++ b/src/osx/graphics/quartz/Painter.cpp
@@ -1,14 +1,14 @@
-#include "cru/osx/graphics/quartz/Painter.hpp"
-
-#include "cru/common/Logger.hpp"
-#include "cru/osx/graphics/quartz/Brush.hpp"
-#include "cru/osx/graphics/quartz/Convert.hpp"
-#include "cru/osx/graphics/quartz/Geometry.hpp"
-#include "cru/osx/graphics/quartz/Image.hpp"
-#include "cru/osx/graphics/quartz/TextLayout.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/platform/Color.hpp"
-#include "cru/platform/Exception.hpp"
+#include "cru/osx/graphics/quartz/Painter.h"
+
+#include "cru/common/Logger.h"
+#include "cru/osx/graphics/quartz/Brush.h"
+#include "cru/osx/graphics/quartz/Convert.h"
+#include "cru/osx/graphics/quartz/Geometry.h"
+#include "cru/osx/graphics/quartz/Image.h"
+#include "cru/osx/graphics/quartz/TextLayout.h"
+#include "cru/platform/Check.h"
+#include "cru/platform/Color.h"
+#include "cru/platform/Exception.h"
namespace cru::platform::graphics::osx::quartz {
QuartzCGContextPainter::QuartzCGContextPainter(
diff --git a/src/osx/graphics/quartz/Resource.cpp b/src/osx/graphics/quartz/Resource.cpp
index 3ee09cdd..00bd5c94 100644
--- a/src/osx/graphics/quartz/Resource.cpp
+++ b/src/osx/graphics/quartz/Resource.cpp
@@ -1 +1 @@
-#include "cru/osx/graphics/quartz/Resource.hpp"
+#include "cru/osx/graphics/quartz/Resource.h"
diff --git a/src/osx/graphics/quartz/TextLayout.cpp b/src/osx/graphics/quartz/TextLayout.cpp
index 3f33acdb..5d44c2e1 100644
--- a/src/osx/graphics/quartz/TextLayout.cpp
+++ b/src/osx/graphics/quartz/TextLayout.cpp
@@ -1,12 +1,12 @@
-#include "cru/osx/graphics/quartz/TextLayout.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/StringUtil.hpp"
-#include "cru/osx/Convert.hpp"
-#include "cru/osx/graphics/quartz/Convert.hpp"
-#include "cru/osx/graphics/quartz/Resource.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/platform/graphics/Base.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/osx/graphics/quartz/TextLayout.h"
+#include "cru/common/Base.h"
+#include "cru/common/StringUtil.h"
+#include "cru/osx/Convert.h"
+#include "cru/osx/graphics/quartz/Convert.h"
+#include "cru/osx/graphics/quartz/Resource.h"
+#include "cru/platform/Check.h"
+#include "cru/platform/graphics/Base.h"
+#include "cru/common/Format.h"
#include <algorithm>
#include <limits>
diff --git a/src/osx/gui/Clipboard.mm b/src/osx/gui/Clipboard.mm
index f9515d59..b37efce2 100644
--- a/src/osx/gui/Clipboard.mm
+++ b/src/osx/gui/Clipboard.mm
@@ -1,8 +1,8 @@
-#include "cru/osx/gui/Clipboard.hpp"
+#include "cru/osx/gui/Clipboard.h"
#include "ClipboardPrivate.h"
-#include "cru/common/Logger.hpp"
-#include "cru/osx/Convert.hpp"
+#include "cru/common/Logger.h"
+#include "cru/osx/Convert.h"
#include <memory>
diff --git a/src/osx/gui/ClipboardPrivate.h b/src/osx/gui/ClipboardPrivate.h
index 2a12973c..93fe5448 100644
--- a/src/osx/gui/ClipboardPrivate.h
+++ b/src/osx/gui/ClipboardPrivate.h
@@ -1,6 +1,6 @@
#pragma once
-#include "cru/common/Base.hpp"
-#include "cru/osx/gui/Clipboard.hpp"
+#include "cru/common/Base.h"
+#include "cru/osx/gui/Clipboard.h"
#include <AppKit/AppKit.h>
diff --git a/src/osx/gui/Cursor.mm b/src/osx/gui/Cursor.mm
index 30b0f0fd..13bdc858 100644
--- a/src/osx/gui/Cursor.mm
+++ b/src/osx/gui/Cursor.mm
@@ -1,10 +1,10 @@
-#include "cru/osx/gui/Cursor.hpp"
+#include "cru/osx/gui/Cursor.h"
#include "CursorPrivate.h"
-#include "cru/osx/Exception.hpp"
-#include "cru/osx/gui/Resource.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/osx/Exception.h"
+#include "cru/osx/gui/Resource.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/UiApplication.h"
#include <memory>
diff --git a/src/osx/gui/CursorPrivate.h b/src/osx/gui/CursorPrivate.h
index 5daf09f7..c840e286 100644
--- a/src/osx/gui/CursorPrivate.h
+++ b/src/osx/gui/CursorPrivate.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/osx/gui/Cursor.hpp"
+#include "cru/osx/gui/Cursor.h"
#import <AppKit/NSCursor.h>
diff --git a/src/osx/gui/InputMethod.mm b/src/osx/gui/InputMethod.mm
index 45b50318..3a961209 100644
--- a/src/osx/gui/InputMethod.mm
+++ b/src/osx/gui/InputMethod.mm
@@ -1,11 +1,11 @@
-#include "cru/osx/gui/InputMethod.hpp"
+#include "cru/osx/gui/InputMethod.h"
#import <AppKit/AppKit.h>
#include "InputMethodPrivate.h"
#include "WindowPrivate.h"
-#include "cru/common/Logger.hpp"
-#include "cru/osx/Convert.hpp"
-#include "cru/osx/gui/Window.hpp"
+#include "cru/common/Logger.h"
+#include "cru/osx/Convert.h"
+#include "cru/osx/gui/Window.h"
namespace cru::platform::gui::osx {
namespace details {
diff --git a/src/osx/gui/InputMethodPrivate.h b/src/osx/gui/InputMethodPrivate.h
index b0d7e4f8..1df21b37 100644
--- a/src/osx/gui/InputMethodPrivate.h
+++ b/src/osx/gui/InputMethodPrivate.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/osx/gui/InputMethod.hpp"
+#include "cru/osx/gui/InputMethod.h"
#include <AppKit/AppKit.h>
diff --git a/src/osx/gui/Keyboard.mm b/src/osx/gui/Keyboard.mm
index 16d363fc..3e78eecb 100644
--- a/src/osx/gui/Keyboard.mm
+++ b/src/osx/gui/Keyboard.mm
@@ -1,4 +1,4 @@
-#include "cru/osx/gui/Keyboard.hpp"
+#include "cru/osx/gui/Keyboard.h"
#import <AppKit/NSText.h>
#import <Carbon/Carbon.h>
diff --git a/src/osx/gui/KeyboardPrivate.h b/src/osx/gui/KeyboardPrivate.h
index 4d18bab6..b98ea5d4 100644
--- a/src/osx/gui/KeyboardPrivate.h
+++ b/src/osx/gui/KeyboardPrivate.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/osx/gui/Keyboard.hpp"
+#include "cru/osx/gui/Keyboard.h"
#import <AppKit/NSEvent.h>
diff --git a/src/osx/gui/Menu.mm b/src/osx/gui/Menu.mm
index 53e69520..5d0fd4d5 100644
--- a/src/osx/gui/Menu.mm
+++ b/src/osx/gui/Menu.mm
@@ -1,8 +1,8 @@
-#include "cru/osx/gui/Menu.hpp"
+#include "cru/osx/gui/Menu.h"
#import "MenuPrivate.h"
#include "KeyboardPrivate.h"
-#include "cru/common/platform/osx/Convert.hpp"
+#include "cru/common/platform/osx/Convert.h"
#import <AppKit/NSApplication.h>
diff --git a/src/osx/gui/MenuPrivate.h b/src/osx/gui/MenuPrivate.h
index 02b34422..d5269312 100644
--- a/src/osx/gui/MenuPrivate.h
+++ b/src/osx/gui/MenuPrivate.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/osx/gui/Menu.hpp"
+#include "cru/osx/gui/Menu.h"
#import <AppKit/NSMenu.h>
#import <AppKit/NSMenuItem.h>
diff --git a/src/osx/gui/Resource.cpp b/src/osx/gui/Resource.cpp
index 3e9782e2..a6be5d75 100644
--- a/src/osx/gui/Resource.cpp
+++ b/src/osx/gui/Resource.cpp
@@ -1,4 +1,4 @@
-#include "cru/osx/gui/Resource.hpp"
+#include "cru/osx/gui/Resource.h"
namespace cru::platform::gui::osx {
OsxGuiResource::OsxGuiResource(IUiApplication* ui_application)
diff --git a/src/osx/gui/UiApplication.mm b/src/osx/gui/UiApplication.mm
index b80df598..20ce82d3 100644
--- a/src/osx/gui/UiApplication.mm
+++ b/src/osx/gui/UiApplication.mm
@@ -1,17 +1,17 @@
-#include "cru/osx/gui/UiApplication.hpp"
+#include "cru/osx/gui/UiApplication.h"
#include "ClipboardPrivate.h"
-#include "cru/common/Logger.hpp"
-#include "cru/common/platform/osx/Convert.hpp"
-#include "cru/osx/graphics/quartz/Factory.hpp"
-#include "cru/osx/gui/Clipboard.hpp"
-#include "cru/osx/gui/Cursor.hpp"
-#include "cru/osx/gui/Menu.hpp"
-#include "cru/osx/gui/Window.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "cru/common/Logger.h"
+#include "cru/common/platform/osx/Convert.h"
+#include "cru/osx/graphics/quartz/Factory.h"
+#include "cru/osx/gui/Clipboard.h"
+#include "cru/osx/gui/Cursor.h"
+#include "cru/osx/gui/Menu.h"
+#include "cru/osx/gui/Window.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
#include <AppKit/NSApplication.h>
#include <Foundation/NSRunLoop.h>
diff --git a/src/osx/gui/Window.mm b/src/osx/gui/Window.mm
index f9891d86..f8a72599 100644
--- a/src/osx/gui/Window.mm
+++ b/src/osx/gui/Window.mm
@@ -1,21 +1,21 @@
-#include "cru/osx/gui/Window.hpp"
+#include "cru/osx/gui/Window.h"
#include "WindowPrivate.h"
#include "CursorPrivate.h"
#include "InputMethodPrivate.h"
-#include "cru/common/Logger.hpp"
-#include "cru/common/Range.hpp"
-#include "cru/osx/Convert.hpp"
-#include "cru/osx/graphics/quartz/Convert.hpp"
-#include "cru/osx/graphics/quartz/Painter.hpp"
-#include "cru/osx/gui/Cursor.hpp"
-#include "cru/osx/gui/InputMethod.hpp"
-#include "cru/osx/gui/Keyboard.hpp"
-#include "cru/osx/gui/Resource.hpp"
-#include "cru/osx/gui/UiApplication.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/platform/graphics/NullPainter.hpp"
-#include "cru/platform/gui/TimerHelper.hpp"
+#include "cru/common/Logger.h"
+#include "cru/common/Range.h"
+#include "cru/osx/Convert.h"
+#include "cru/osx/graphics/quartz/Convert.h"
+#include "cru/osx/graphics/quartz/Painter.h"
+#include "cru/osx/gui/Cursor.h"
+#include "cru/osx/gui/InputMethod.h"
+#include "cru/osx/gui/Keyboard.h"
+#include "cru/osx/gui/Resource.h"
+#include "cru/osx/gui/UiApplication.h"
+#include "cru/platform/Check.h"
+#include "cru/platform/graphics/NullPainter.h"
+#include "cru/platform/gui/TimerHelper.h"
#include <AppKit/AppKit.h>
#include <Foundation/Foundation.h>
diff --git a/src/osx/gui/WindowPrivate.h b/src/osx/gui/WindowPrivate.h
index 9e7ef2d7..cdd34246 100644
--- a/src/osx/gui/WindowPrivate.h
+++ b/src/osx/gui/WindowPrivate.h
@@ -1,10 +1,10 @@
#pragma once
-#include "cru/osx/gui/Window.hpp"
+#include "cru/osx/gui/Window.h"
-#include "cru/common/Event.hpp"
-#include "cru/osx/gui/Cursor.hpp"
-#include "cru/platform/gui/TimerHelper.hpp"
-#include "cru/platform/gui/Window.hpp"
+#include "cru/common/Event.h"
+#include "cru/osx/gui/Cursor.h"
+#include "cru/platform/gui/TimerHelper.h"
+#include "cru/platform/gui/Window.h"
#import <AppKit/AppKit.h>
diff --git a/src/parse/Grammar.cpp b/src/parse/Grammar.cpp
index 52933f91..17978adc 100644
--- a/src/parse/Grammar.cpp
+++ b/src/parse/Grammar.cpp
@@ -1,7 +1,7 @@
-#include "cru/parse/Grammar.hpp"
-#include "cru/common/String.hpp"
-#include "cru/parse/Symbol.hpp"
-#include "cru/common/Format.hpp"
+#include "cru/parse/Grammar.h"
+#include "cru/common/String.h"
+#include "cru/parse/Symbol.h"
+#include "cru/common/Format.h"
#include <algorithm>
#include <iterator>
diff --git a/src/parse/Nonterminal.cpp b/src/parse/Nonterminal.cpp
index 4d60d3d3..4fb33695 100644
--- a/src/parse/Nonterminal.cpp
+++ b/src/parse/Nonterminal.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/Nonterminal.hpp"
+#include "cru/parse/Nonterminal.h"
namespace cru::parse {
Nonterminal::Nonterminal(Grammar* grammar, String name)
diff --git a/src/parse/ParsingAlgorithm.cpp b/src/parse/ParsingAlgorithm.cpp
index 03059e01..b7968ed1 100644
--- a/src/parse/ParsingAlgorithm.cpp
+++ b/src/parse/ParsingAlgorithm.cpp
@@ -1 +1 @@
-#include "cru/parse/ParsingAlgorithm.hpp"
+#include "cru/parse/ParsingAlgorithm.h"
diff --git a/src/parse/ParsingAlgorithmContext.cpp b/src/parse/ParsingAlgorithmContext.cpp
index 686ba3e5..e98fe477 100644
--- a/src/parse/ParsingAlgorithmContext.cpp
+++ b/src/parse/ParsingAlgorithmContext.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/ParsingAlgorithmContext.hpp"
+#include "cru/parse/ParsingAlgorithmContext.h"
namespace cru::parse {
ParsingAlgorithmContext::ParsingAlgorithmContext(Grammar* grammar,
diff --git a/src/parse/ParsingContext.cpp b/src/parse/ParsingContext.cpp
index 25a7a133..e46e9e93 100644
--- a/src/parse/ParsingContext.cpp
+++ b/src/parse/ParsingContext.cpp
@@ -1,5 +1,5 @@
-#include "cru/parse/ParsingContext.hpp"
-#include "cru/parse/ParsingAlgorithmContext.hpp"
+#include "cru/parse/ParsingContext.h"
+#include "cru/parse/ParsingAlgorithmContext.h"
namespace cru::parse {
ParsingContext::ParsingContext(
diff --git a/src/parse/ParsingTreeNode.cpp b/src/parse/ParsingTreeNode.cpp
index 23bbf803..76d91533 100644
--- a/src/parse/ParsingTreeNode.cpp
+++ b/src/parse/ParsingTreeNode.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/ParsingTreeNode.hpp"
+#include "cru/parse/ParsingTreeNode.h"
namespace cru::parse {
ParsingTreeNode::ParsingTreeNode(Symbol* symbol, Production* production)
diff --git a/src/parse/Production.cpp b/src/parse/Production.cpp
index 52ec46ab..1552874f 100644
--- a/src/parse/Production.cpp
+++ b/src/parse/Production.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/Production.hpp"
+#include "cru/parse/Production.h"
namespace cru::parse {
Production::Production(Grammar* grammar, String name, Nonterminal* left,
diff --git a/src/parse/RecursiveDescentAlgorithm.cpp b/src/parse/RecursiveDescentAlgorithm.cpp
index 8ff2571d..45bc500f 100644
--- a/src/parse/RecursiveDescentAlgorithm.cpp
+++ b/src/parse/RecursiveDescentAlgorithm.cpp
@@ -1,6 +1,6 @@
-#include "cru/parse/RecursiveDescentAlgorithm.hpp"
-#include "cru/parse/ParsingAlgorithmContext.hpp"
-#include "cru/parse/RecursiveDescentAlgorithmContext.hpp"
+#include "cru/parse/RecursiveDescentAlgorithm.h"
+#include "cru/parse/ParsingAlgorithmContext.h"
+#include "cru/parse/RecursiveDescentAlgorithmContext.h"
namespace cru::parse {
bool RecursiveDescentAlgorithm::CanHandle(Grammar *grammar) const {
diff --git a/src/parse/RecursiveDescentAlgorithmContext.cpp b/src/parse/RecursiveDescentAlgorithmContext.cpp
index acfd9eee..90508d68 100644
--- a/src/parse/RecursiveDescentAlgorithmContext.cpp
+++ b/src/parse/RecursiveDescentAlgorithmContext.cpp
@@ -1,5 +1,5 @@
-#include "cru/parse/RecursiveDescentAlgorithmContext.hpp"
-#include "cru/parse/ParsingTreeNode.hpp"
+#include "cru/parse/RecursiveDescentAlgorithmContext.h"
+#include "cru/parse/ParsingTreeNode.h"
namespace cru::parse {
RecursiveDescentAlgorithmContext::RecursiveDescentAlgorithmContext(
diff --git a/src/parse/Symbol.cpp b/src/parse/Symbol.cpp
index bcedc490..fe4cc47c 100644
--- a/src/parse/Symbol.cpp
+++ b/src/parse/Symbol.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/Symbol.hpp"
+#include "cru/parse/Symbol.h"
namespace cru::parse {
Symbol::Symbol(Grammar* grammar, String name)
diff --git a/src/parse/Terminal.cpp b/src/parse/Terminal.cpp
index acd9576e..421836f7 100644
--- a/src/parse/Terminal.cpp
+++ b/src/parse/Terminal.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/Terminal.hpp"
+#include "cru/parse/Terminal.h"
namespace cru::parse {
Terminal::Terminal(Grammar* grammar, String name) : Symbol(grammar, name) {}
diff --git a/src/parse/TokenType.cpp b/src/parse/TokenType.cpp
index 9b06d56f..386b1401 100644
--- a/src/parse/TokenType.cpp
+++ b/src/parse/TokenType.cpp
@@ -1,4 +1,4 @@
-#include "cru/parse/TokenType.hpp"
+#include "cru/parse/TokenType.h"
namespace cru::parse {
TokenType::TokenType(String name) : name_(std::move(name)) {}
diff --git a/src/platform/Color.cpp b/src/platform/Color.cpp
index cced498c..b39865a8 100644
--- a/src/platform/Color.cpp
+++ b/src/platform/Color.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/Color.hpp"
+#include "cru/platform/Color.h"
#include <cstdint>
#include <gsl/gsl>
diff --git a/src/platform/ForDllExport.cpp b/src/platform/ForDllExport.cpp
index 743a9efa..a0421317 100644
--- a/src/platform/ForDllExport.cpp
+++ b/src/platform/ForDllExport.cpp
@@ -1,2 +1,2 @@
-#include "cru/platform/Exception.hpp"
-#include "cru/platform/Resource.hpp"
+#include "cru/platform/Exception.h"
+#include "cru/platform/Resource.h"
diff --git a/src/platform/bootstrap/Bootstrap.cpp b/src/platform/bootstrap/Bootstrap.cpp
index c167be19..2c8bae5d 100644
--- a/src/platform/bootstrap/Bootstrap.cpp
+++ b/src/platform/bootstrap/Bootstrap.cpp
@@ -1,8 +1,8 @@
-#include "cru/platform/bootstrap/Bootstrap.hpp"
-#include "cru/osx/gui/UiApplication.hpp"
+#include "cru/platform/bootstrap/Bootstrap.h"
+#include "cru/osx/gui/UiApplication.h"
#ifdef CRU_PLATFORM_WINDOWS
-#include "cru/win/gui/UiApplication.hpp"
+#include "cru/win/gui/UiApplication.h"
#else
#endif
diff --git a/src/platform/graphics/ForDllExport.cpp b/src/platform/graphics/ForDllExport.cpp
index a67030b8..901f8201 100644
--- a/src/platform/graphics/ForDllExport.cpp
+++ b/src/platform/graphics/ForDllExport.cpp
@@ -1,9 +1,9 @@
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Font.hpp"
-#include "cru/platform/graphics/Geometry.hpp"
-#include "cru/platform/graphics/Image.hpp"
-#include "cru/platform/graphics/ImageFactory.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/graphics/Resource.hpp"
-#include "cru/platform/graphics/TextLayout.hpp"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Font.h"
+#include "cru/platform/graphics/Geometry.h"
+#include "cru/platform/graphics/Image.h"
+#include "cru/platform/graphics/ImageFactory.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/graphics/Resource.h"
+#include "cru/platform/graphics/TextLayout.h"
diff --git a/src/platform/graphics/NullPainter.cpp b/src/platform/graphics/NullPainter.cpp
index 1b02ea07..858aafd7 100644
--- a/src/platform/graphics/NullPainter.cpp
+++ b/src/platform/graphics/NullPainter.cpp
@@ -1 +1 @@
-#include "cru/platform/graphics/NullPainter.hpp"
+#include "cru/platform/graphics/NullPainter.h"
diff --git a/src/platform/gui/Keyboard.cpp b/src/platform/gui/Keyboard.cpp
index 08be37c9..775995c2 100644
--- a/src/platform/gui/Keyboard.cpp
+++ b/src/platform/gui/Keyboard.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/gui/Keyboard.hpp"
+#include "cru/platform/gui/Keyboard.h"
#include <array>
#include <string>
diff --git a/src/platform/gui/Menu.cpp b/src/platform/gui/Menu.cpp
index 7b02a8a4..dcfb84b3 100644
--- a/src/platform/gui/Menu.cpp
+++ b/src/platform/gui/Menu.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/gui/Menu.hpp"
+#include "cru/platform/gui/Menu.h"
namespace cru::platform::gui {
std::vector<IMenuItem*> IMenu::GetItems() {
diff --git a/src/platform/gui/UiApplication.cpp b/src/platform/gui/UiApplication.cpp
index e58d34c9..e565ce49 100644
--- a/src/platform/gui/UiApplication.cpp
+++ b/src/platform/gui/UiApplication.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/gui/UiApplication.h"
namespace cru::platform::gui {
IUiApplication* IUiApplication::instance = nullptr;
diff --git a/src/theme_builder/components/MainWindow.cpp b/src/theme_builder/components/MainWindow.cpp
index d52193f1..31530491 100644
--- a/src/theme_builder/components/MainWindow.cpp
+++ b/src/theme_builder/components/MainWindow.cpp
@@ -1,7 +1,7 @@
-#include "MainWindow.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/controls/StackLayout.hpp"
-#include "cru/ui/controls/TextBlock.hpp"
+#include "MainWindow.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/controls/StackLayout.h"
+#include "cru/ui/controls/TextBlock.h"
namespace cru::theme_builder {
using namespace cru::ui;
diff --git a/src/theme_builder/components/MainWindow.hpp b/src/theme_builder/components/MainWindow.h
index ef37b7a2..101b678e 100644
--- a/src/theme_builder/components/MainWindow.hpp
+++ b/src/theme_builder/components/MainWindow.h
@@ -1,9 +1,9 @@
#pragma once
-#include "cru/ui/components/Component.hpp"
-#include "cru/ui/controls/Button.hpp"
-#include "cru/ui/controls/FlexLayout.hpp"
-#include "cru/ui/controls/StackLayout.hpp"
-#include "cru/ui/controls/Window.hpp"
+#include "cru/ui/components/Component.h"
+#include "cru/ui/controls/Button.h"
+#include "cru/ui/controls/FlexLayout.h"
+#include "cru/ui/controls/StackLayout.h"
+#include "cru/ui/controls/Window.h"
namespace cru::theme_builder {
class MainWindow : public ui::components::Component {
diff --git a/src/theme_builder/components/StyleRuleSetEditor.cpp b/src/theme_builder/components/StyleRuleSetEditor.cpp
index be6fd8d6..933706a3 100644
--- a/src/theme_builder/components/StyleRuleSetEditor.cpp
+++ b/src/theme_builder/components/StyleRuleSetEditor.cpp
@@ -1,4 +1,4 @@
-#include "StyleRuleSetEditor.hpp"
+#include "StyleRuleSetEditor.h"
namespace cru::theme_builder {
StyleRuleSetEditor::StyleRuleSetEditor() {}
diff --git a/src/theme_builder/components/StyleRuleSetEditor.hpp b/src/theme_builder/components/StyleRuleSetEditor.h
index 8bf55229..ecb3ee95 100644
--- a/src/theme_builder/components/StyleRuleSetEditor.hpp
+++ b/src/theme_builder/components/StyleRuleSetEditor.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/ui/components/Component.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/controls/FlexLayout.hpp"
+#include "cru/ui/components/Component.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/controls/FlexLayout.h"
namespace cru::theme_builder {
class StyleRuleSetEditor : public ui::components::Component {
diff --git a/src/theme_builder/main.cpp b/src/theme_builder/main.cpp
index 8c79f2c0..7e7faa3d 100644
--- a/src/theme_builder/main.cpp
+++ b/src/theme_builder/main.cpp
@@ -1,5 +1,5 @@
-#include "components/MainWindow.hpp"
-#include "cru/platform/bootstrap/Bootstrap.hpp"
+#include "components/MainWindow.h"
+#include "cru/platform/bootstrap/Bootstrap.h"
int main() {
using namespace cru::theme_builder;
diff --git a/src/toml/TomlDocument.cpp b/src/toml/TomlDocument.cpp
index 052af170..e9351538 100644
--- a/src/toml/TomlDocument.cpp
+++ b/src/toml/TomlDocument.cpp
@@ -1,4 +1,4 @@
-#include "cru/toml/TomlDocument.hpp"
+#include "cru/toml/TomlDocument.h"
namespace cru::toml {
std::optional<String> TomlSection::GetValue(const String& key) const {
diff --git a/src/toml/TomlParser.cpp b/src/toml/TomlParser.cpp
index 5a11404e..7c29e0be 100644
--- a/src/toml/TomlParser.cpp
+++ b/src/toml/TomlParser.cpp
@@ -1,5 +1,5 @@
-#include "cru/toml/TomlParser.hpp"
-#include "cru/toml/TomlDocument.hpp"
+#include "cru/toml/TomlParser.h"
+#include "cru/toml/TomlDocument.h"
namespace cru::toml {
TomlParser::TomlParser(String input) : input_(std::move(input)) {}
diff --git a/src/ui/Helper.cpp b/src/ui/Helper.cpp
index a5ab3a72..abfd001b 100644
--- a/src/ui/Helper.cpp
+++ b/src/ui/Helper.cpp
@@ -1,7 +1,7 @@
-#include "Helper.hpp"
+#include "Helper.h"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/gui/UiApplication.h"
namespace cru::ui {
using cru::platform::graphics::IGraphicsFactory;
diff --git a/src/ui/Helper.hpp b/src/ui/Helper.h
index 23d24b66..8bee72a6 100644
--- a/src/ui/Helper.hpp
+++ b/src/ui/Helper.h
@@ -1,5 +1,5 @@
#pragma once
-#include "cru/ui/Base.hpp"
+#include "cru/ui/Base.h"
namespace cru::platform {
namespace graphics {
diff --git a/src/ui/ThemeManager.cpp b/src/ui/ThemeManager.cpp
index 528097ab..4649f70f 100644
--- a/src/ui/ThemeManager.cpp
+++ b/src/ui/ThemeManager.cpp
@@ -1,14 +1,14 @@
-#include "cru/ui/ThemeManager.hpp"
-
-#include "Helper.hpp"
-#include "cru/common/StringUtil.hpp"
-#include "cru/common/io/FileStream.hpp"
-#include "cru/common/io/Resource.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/style/StyleRuleSet.hpp"
-#include "cru/xml/XmlParser.hpp"
+#include "cru/ui/ThemeManager.h"
+
+#include "Helper.h"
+#include "cru/common/StringUtil.h"
+#include "cru/common/io/FileStream.h"
+#include "cru/common/io/Resource.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/style/StyleRuleSet.h"
+#include "cru/xml/XmlParser.h"
namespace cru::ui {
ThemeManager* ThemeManager::GetInstance() {
diff --git a/src/ui/components/Component.cpp b/src/ui/components/Component.cpp
index 5b62ffc9..ddf65515 100644
--- a/src/ui/components/Component.cpp
+++ b/src/ui/components/Component.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/components/Component.hpp"
+#include "cru/ui/components/Component.h"
namespace cru::ui::components {
diff --git a/src/ui/components/Menu.cpp b/src/ui/components/Menu.cpp
index 22415cd3..873e7ce0 100644
--- a/src/ui/components/Menu.cpp
+++ b/src/ui/components/Menu.cpp
@@ -1,14 +1,14 @@
-#include "cru/ui/components/Menu.hpp"
+#include "cru/ui/components/Menu.h"
#include <functional>
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/ThemeManager.hpp"
-#include "cru/ui/controls/Button.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/controls/FlexLayout.hpp"
-#include "cru/ui/controls/TextBlock.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/style/StyleRuleSet.hpp"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/ThemeManager.h"
+#include "cru/ui/controls/Button.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/controls/FlexLayout.h"
+#include "cru/ui/controls/TextBlock.h"
+#include "cru/ui/helper/ClickDetector.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/style/StyleRuleSet.h"
namespace cru::ui::components {
MenuItem::MenuItem() {
diff --git a/src/ui/controls/Button.cpp b/src/ui/controls/Button.cpp
index 1f649819..e42bfae7 100644
--- a/src/ui/controls/Button.cpp
+++ b/src/ui/controls/Button.cpp
@@ -1,12 +1,12 @@
-#include "cru/ui/controls/Button.hpp"
+#include "cru/ui/controls/Button.h"
-#include "../Helper.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/ThemeManager.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
-#include "cru/ui/render/BorderRenderObject.hpp"
+#include "../Helper.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/ThemeManager.h"
+#include "cru/ui/helper/ClickDetector.h"
+#include "cru/ui/render/BorderRenderObject.h"
namespace cru::ui::controls {
Button::Button() : click_detector_(this) {
diff --git a/src/ui/controls/Container.cpp b/src/ui/controls/Container.cpp
index 30129f64..92ac3847 100644
--- a/src/ui/controls/Container.cpp
+++ b/src/ui/controls/Container.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/controls/Container.hpp"
+#include "cru/ui/controls/Container.h"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/ui/render/BorderRenderObject.hpp"
-#include "cru/ui/render/RenderObject.hpp"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/ui/render/BorderRenderObject.h"
+#include "cru/ui/render/RenderObject.h"
namespace cru::ui::controls {
Container::Container() {
diff --git a/src/ui/controls/ContentControl.cpp b/src/ui/controls/ContentControl.cpp
index 8c6f0b00..8b421e09 100644
--- a/src/ui/controls/ContentControl.cpp
+++ b/src/ui/controls/ContentControl.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/controls/ContentControl.hpp"
+#include "cru/ui/controls/ContentControl.h"
namespace cru::ui::controls {
Control* ContentControl::GetChild() const {
diff --git a/src/ui/controls/Control.cpp b/src/ui/controls/Control.cpp
index 04199d1d..bda8cb35 100644
--- a/src/ui/controls/Control.cpp
+++ b/src/ui/controls/Control.cpp
@@ -1,12 +1,12 @@
-#include "cru/ui/controls/Control.hpp"
-
-#include "cru/common/Base.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/RenderObject.hpp"
-#include "cru/ui/style/StyleRuleSet.hpp"
+#include "cru/ui/controls/Control.h"
+
+#include "cru/common/Base.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/RenderObject.h"
+#include "cru/ui/style/StyleRuleSet.h"
#include <memory>
diff --git a/src/ui/controls/FlexLayout.cpp b/src/ui/controls/FlexLayout.cpp
index e390241f..02ebb031 100644
--- a/src/ui/controls/FlexLayout.cpp
+++ b/src/ui/controls/FlexLayout.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/controls/FlexLayout.hpp"
+#include "cru/ui/controls/FlexLayout.h"
-#include "cru/ui/render/FlexLayoutRenderObject.hpp"
+#include "cru/ui/render/FlexLayoutRenderObject.h"
namespace cru::ui::controls {
using render::FlexLayoutRenderObject;
diff --git a/src/ui/controls/LayoutControl.cpp b/src/ui/controls/LayoutControl.cpp
index e5a38445..5c67bc86 100644
--- a/src/ui/controls/LayoutControl.cpp
+++ b/src/ui/controls/LayoutControl.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/controls/LayoutControl.hpp"
+#include "cru/ui/controls/LayoutControl.h"
-#include "cru/ui/render/RenderObject.hpp"
+#include "cru/ui/render/RenderObject.h"
namespace cru::ui::controls {
void LayoutControl::ClearChildren() {
diff --git a/src/ui/controls/NoChildControl.cpp b/src/ui/controls/NoChildControl.cpp
index c62c5819..29177828 100644
--- a/src/ui/controls/NoChildControl.cpp
+++ b/src/ui/controls/NoChildControl.cpp
@@ -1,3 +1,3 @@
-#include "cru/ui/controls/NoChildControl.hpp"
+#include "cru/ui/controls/NoChildControl.h"
namespace cru::ui::controls {}
diff --git a/src/ui/controls/Popup.cpp b/src/ui/controls/Popup.cpp
index b386165b..238ddbd4 100644
--- a/src/ui/controls/Popup.cpp
+++ b/src/ui/controls/Popup.cpp
@@ -1,9 +1,9 @@
-#include "cru/ui/controls/Popup.hpp"
+#include "cru/ui/controls/Popup.h"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/controls/RootControl.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/controls/RootControl.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/StackLayoutRenderObject.h"
#include <memory>
diff --git a/src/ui/controls/RootControl.cpp b/src/ui/controls/RootControl.cpp
index dbf037fc..ac4d4d6d 100644
--- a/src/ui/controls/RootControl.cpp
+++ b/src/ui/controls/RootControl.cpp
@@ -1,12 +1,12 @@
-#include "cru/ui/controls/RootControl.hpp"
-
-#include "cru/common/Base.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/Base.hpp"
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
+#include "cru/ui/controls/RootControl.h"
+
+#include "cru/common/Base.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/Base.h"
+#include "cru/ui/render/StackLayoutRenderObject.h"
#include "gsl/pointers"
#include <memory>
diff --git a/src/ui/controls/ScrollView.cpp b/src/ui/controls/ScrollView.cpp
index 66c1d620..e87ede4b 100644
--- a/src/ui/controls/ScrollView.cpp
+++ b/src/ui/controls/ScrollView.cpp
@@ -1,7 +1,7 @@
-#include "cru/ui/controls/ScrollView.hpp"
+#include "cru/ui/controls/ScrollView.h"
-#include "cru/ui/render/RenderObject.hpp"
-#include "cru/ui/render/ScrollRenderObject.hpp"
+#include "cru/ui/render/RenderObject.h"
+#include "cru/ui/render/ScrollRenderObject.h"
#include <memory>
diff --git a/src/ui/controls/StackLayout.cpp b/src/ui/controls/StackLayout.cpp
index 667e6755..7e45a555 100644
--- a/src/ui/controls/StackLayout.cpp
+++ b/src/ui/controls/StackLayout.cpp
@@ -1,7 +1,7 @@
-#include "cru/ui/controls/StackLayout.hpp"
+#include "cru/ui/controls/StackLayout.h"
#include <memory>
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
+#include "cru/ui/render/StackLayoutRenderObject.h"
namespace cru::ui::controls {
using render::StackLayoutRenderObject;
diff --git a/src/ui/controls/TextBlock.cpp b/src/ui/controls/TextBlock.cpp
index b4d327f3..80d9fe34 100644
--- a/src/ui/controls/TextBlock.cpp
+++ b/src/ui/controls/TextBlock.cpp
@@ -1,9 +1,9 @@
-#include "cru/ui/controls/TextBlock.hpp"
+#include "cru/ui/controls/TextBlock.h"
-#include "cru/ui/ThemeManager.hpp"
-#include "cru/ui/render/CanvasRenderObject.hpp"
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
-#include "cru/ui/render/TextRenderObject.hpp"
+#include "cru/ui/ThemeManager.h"
+#include "cru/ui/render/CanvasRenderObject.h"
+#include "cru/ui/render/StackLayoutRenderObject.h"
+#include "cru/ui/render/TextRenderObject.h"
namespace cru::ui::controls {
using render::TextRenderObject;
diff --git a/src/ui/controls/TextBox.cpp b/src/ui/controls/TextBox.cpp
index a5c8480e..11b77e99 100644
--- a/src/ui/controls/TextBox.cpp
+++ b/src/ui/controls/TextBox.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/controls/TextBox.hpp"
-
-#include "cru/ui/ThemeManager.hpp"
-#include "cru/ui/render/BorderRenderObject.hpp"
-#include "cru/ui/render/CanvasRenderObject.hpp"
-#include "cru/ui/render/ScrollRenderObject.hpp"
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
-#include "cru/ui/render/TextRenderObject.hpp"
+#include "cru/ui/controls/TextBox.h"
+
+#include "cru/ui/ThemeManager.h"
+#include "cru/ui/render/BorderRenderObject.h"
+#include "cru/ui/render/CanvasRenderObject.h"
+#include "cru/ui/render/ScrollRenderObject.h"
+#include "cru/ui/render/StackLayoutRenderObject.h"
+#include "cru/ui/render/TextRenderObject.h"
namespace cru::ui::controls {
using render::BorderRenderObject;
diff --git a/src/ui/controls/TextHostControlService.cpp b/src/ui/controls/TextHostControlService.cpp
index 0f136034..c537a86e 100644
--- a/src/ui/controls/TextHostControlService.cpp
+++ b/src/ui/controls/TextHostControlService.cpp
@@ -1,26 +1,26 @@
-#include "cru/ui/controls/TextHostControlService.hpp"
-
-#include "../Helper.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/common/String.hpp"
-#include "cru/common/StringUtil.hpp"
-#include "cru/platform/graphics/Font.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/Clipboard.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/InputMethod.hpp"
-#include "cru/platform/gui/Keyboard.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/DebugFlags.hpp"
-#include "cru/ui/components/Menu.hpp"
-#include "cru/ui/events/UiEvents.hpp"
-#include "cru/ui/helper/ShortcutHub.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/ScrollRenderObject.hpp"
-#include "cru/ui/render/TextRenderObject.hpp"
+#include "cru/ui/controls/TextHostControlService.h"
+
+#include "../Helper.h"
+#include "cru/common/Base.h"
+#include "cru/common/Logger.h"
+#include "cru/common/String.h"
+#include "cru/common/StringUtil.h"
+#include "cru/platform/graphics/Font.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/Clipboard.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/InputMethod.h"
+#include "cru/platform/gui/Keyboard.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/DebugFlags.h"
+#include "cru/ui/components/Menu.h"
+#include "cru/ui/events/UiEvents.h"
+#include "cru/ui/helper/ShortcutHub.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/ScrollRenderObject.h"
+#include "cru/ui/render/TextRenderObject.h"
#include <memory>
diff --git a/src/ui/controls/Window.cpp b/src/ui/controls/Window.cpp
index 76203f22..998395f3 100644
--- a/src/ui/controls/Window.cpp
+++ b/src/ui/controls/Window.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/controls/Window.hpp"
+#include "cru/ui/controls/Window.h"
-#include "cru/common/Base.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/ui/controls/RootControl.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/Base.hpp"
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
+#include "cru/common/Base.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/ui/controls/RootControl.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/Base.h"
+#include "cru/ui/render/StackLayoutRenderObject.h"
namespace cru::ui::controls {
Window* Window::Create(Control* attached_control) {
diff --git a/src/ui/events/MouseEventArgs.cpp b/src/ui/events/MouseEventArgs.cpp
index 39424c65..cad860d7 100644
--- a/src/ui/events/MouseEventArgs.cpp
+++ b/src/ui/events/MouseEventArgs.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/events/MouseEventArgs.hpp"
+#include "cru/ui/events/MouseEventArgs.h"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/RenderObject.hpp"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/RenderObject.h"
namespace cru::ui::events {
Point MouseEventArgs::GetPoint(render::RenderObject* render_object) const {
diff --git a/src/ui/helper/ClickDetector.cpp b/src/ui/helper/ClickDetector.cpp
index d8d51327..6d4f38c1 100644
--- a/src/ui/helper/ClickDetector.cpp
+++ b/src/ui/helper/ClickDetector.cpp
@@ -1,7 +1,7 @@
-#include "cru/ui/helper/ClickDetector.hpp"
+#include "cru/ui/helper/ClickDetector.h"
-#include "cru/common/Logger.hpp"
-#include "cru/ui/DebugFlags.hpp"
+#include "cru/common/Logger.h"
+#include "cru/ui/DebugFlags.h"
#include <optional>
diff --git a/src/ui/helper/ShortcutHub.cpp b/src/ui/helper/ShortcutHub.cpp
index c0b6c5d8..3df07409 100644
--- a/src/ui/helper/ShortcutHub.cpp
+++ b/src/ui/helper/ShortcutHub.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/helper/ShortcutHub.hpp"
+#include "cru/ui/helper/ShortcutHub.h"
-#include "cru/common/Logger.hpp"
-#include "cru/ui/DebugFlags.hpp"
-#include "cru/ui/controls/Control.hpp"
+#include "cru/common/Logger.h"
+#include "cru/ui/DebugFlags.h"
+#include "cru/ui/controls/Control.h"
#include <algorithm>
#include <functional>
diff --git a/src/ui/host/LayoutPaintCycler.cpp b/src/ui/host/LayoutPaintCycler.cpp
index fd581e00..7f8523d4 100644
--- a/src/ui/host/LayoutPaintCycler.cpp
+++ b/src/ui/host/LayoutPaintCycler.cpp
@@ -1,9 +1,9 @@
-#include "cru/ui/host/LayoutPaintCycler.hpp"
+#include "cru/ui/host/LayoutPaintCycler.h"
#include <chrono>
-#include "../Helper.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/host/WindowHost.hpp"
+#include "../Helper.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/host/WindowHost.h"
namespace cru::ui::host {
LayoutPaintCycler::LayoutPaintCycler(WindowHost* host) : host_(host) {
diff --git a/src/ui/host/RoutedEventDispatch.hpp b/src/ui/host/RoutedEventDispatch.h
index 027ddbe4..ae1421ee 100644
--- a/src/ui/host/RoutedEventDispatch.hpp
+++ b/src/ui/host/RoutedEventDispatch.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/common/Logger.hpp"
-#include "cru/ui/DebugFlags.hpp"
-#include "cru/ui/controls/Control.hpp"
+#include "cru/common/Logger.h"
+#include "cru/ui/DebugFlags.h"
+#include "cru/ui/controls/Control.h"
#include <vector>
diff --git a/src/ui/host/WindowHost.cpp b/src/ui/host/WindowHost.cpp
index 9766e85e..26d48f89 100644
--- a/src/ui/host/WindowHost.cpp
+++ b/src/ui/host/WindowHost.cpp
@@ -1,16 +1,16 @@
-#include "cru/ui/host/WindowHost.hpp"
-
-#include "RoutedEventDispatch.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/gui/InputMethod.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/ui/DebugFlags.hpp"
-#include "cru/ui/host/LayoutPaintCycler.hpp"
-#include "cru/ui/render/MeasureRequirement.hpp"
-#include "cru/ui/render/RenderObject.hpp"
+#include "cru/ui/host/WindowHost.h"
+
+#include "RoutedEventDispatch.h"
+#include "cru/common/Base.h"
+#include "cru/common/Logger.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/gui/InputMethod.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/ui/DebugFlags.h"
+#include "cru/ui/host/LayoutPaintCycler.h"
+#include "cru/ui/render/MeasureRequirement.h"
+#include "cru/ui/render/RenderObject.h"
#include <cstddef>
#include <memory>
diff --git a/src/ui/mapper/BorderStyleMapper.cpp b/src/ui/mapper/BorderStyleMapper.cpp
index 1209df07..8daa9d1b 100644
--- a/src/ui/mapper/BorderStyleMapper.cpp
+++ b/src/ui/mapper/BorderStyleMapper.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/mapper/BorderStyleMapper.hpp"
-#include "../Helper.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/BorderStyleMapper.h"
+#include "../Helper.h"
+#include "cru/common/Logger.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/style/ApplyBorderStyleInfo.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
using namespace xml;
diff --git a/src/ui/mapper/BrushMapper.cpp b/src/ui/mapper/BrushMapper.cpp
index bfaef507..737508ce 100644
--- a/src/ui/mapper/BrushMapper.cpp
+++ b/src/ui/mapper/BrushMapper.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/mapper/BrushMapper.hpp"
-#include "../Helper.hpp"
-#include "cru/platform/Color.hpp"
-#include "cru/platform/graphics/Brush.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/ui/mapper/ColorMapper.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/BrushMapper.h"
+#include "../Helper.h"
+#include "cru/platform/Color.h"
+#include "cru/platform/graphics/Brush.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/ui/mapper/ColorMapper.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/xml/XmlNode.h"
#include <memory>
diff --git a/src/ui/mapper/ColorMapper.cpp b/src/ui/mapper/ColorMapper.cpp
index 063b2359..54359727 100644
--- a/src/ui/mapper/ColorMapper.cpp
+++ b/src/ui/mapper/ColorMapper.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/mapper/ColorMapper.hpp"
+#include "cru/ui/mapper/ColorMapper.h"
namespace cru::ui::mapper {
bool ColorMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/CornerRadiusMapper.cpp b/src/ui/mapper/CornerRadiusMapper.cpp
index 9c8855a3..673432e1 100644
--- a/src/ui/mapper/CornerRadiusMapper.cpp
+++ b/src/ui/mapper/CornerRadiusMapper.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/mapper/CornerRadiusMapper.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/mapper/PointMapper.hpp"
+#include "cru/ui/mapper/CornerRadiusMapper.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/mapper/PointMapper.h"
namespace cru::ui::mapper {
bool CornerRadiusMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/CursorMapper.cpp b/src/ui/mapper/CursorMapper.cpp
index ad9c2bbf..3a916fd1 100644
--- a/src/ui/mapper/CursorMapper.cpp
+++ b/src/ui/mapper/CursorMapper.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/mapper/CursorMapper.hpp"
-#include "../Helper.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
+#include "cru/ui/mapper/CursorMapper.h"
+#include "../Helper.h"
+#include "cru/common/Exception.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/UiApplication.h"
namespace cru::ui::mapper {
using cru::platform::gui::ICursor;
diff --git a/src/ui/mapper/FontMapper.cpp b/src/ui/mapper/FontMapper.cpp
index 26a17c5f..8f64d5aa 100644
--- a/src/ui/mapper/FontMapper.cpp
+++ b/src/ui/mapper/FontMapper.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/mapper/FontMapper.hpp"
-#include "../Helper.hpp"
-#include "cru/platform/graphics/Factory.hpp"
+#include "cru/ui/mapper/FontMapper.h"
+#include "../Helper.h"
+#include "cru/platform/graphics/Factory.h"
namespace cru::ui::mapper {
bool FontMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/Mapper.cpp b/src/ui/mapper/Mapper.cpp
index 93a83d8a..40653118 100644
--- a/src/ui/mapper/Mapper.cpp
+++ b/src/ui/mapper/Mapper.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/mapper/Mapper.hpp"
+#include "cru/ui/mapper/Mapper.h"
#include <typeindex>
diff --git a/src/ui/mapper/MapperRegistry.cpp b/src/ui/mapper/MapperRegistry.cpp
index 121a65e7..83105b9b 100644
--- a/src/ui/mapper/MapperRegistry.cpp
+++ b/src/ui/mapper/MapperRegistry.cpp
@@ -1,23 +1,23 @@
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/mapper/BorderStyleMapper.hpp"
-#include "cru/ui/mapper/BrushMapper.hpp"
-#include "cru/ui/mapper/ColorMapper.hpp"
-#include "cru/ui/mapper/CornerRadiusMapper.hpp"
-#include "cru/ui/mapper/CursorMapper.hpp"
-#include "cru/ui/mapper/FontMapper.hpp"
-#include "cru/ui/mapper/PointMapper.hpp"
-#include "cru/ui/mapper/SizeMapper.hpp"
-#include "cru/ui/mapper/ThicknessMapper.hpp"
-#include "cru/ui/mapper/style/AndConditionMapper.hpp"
-#include "cru/ui/mapper/style/BorderStylerMapper.hpp"
-#include "cru/ui/mapper/style/ClickStateConditionMapper.hpp"
-#include "cru/ui/mapper/style/CursorStylerMapper.hpp"
-#include "cru/ui/mapper/style/FocusConditionMapper.hpp"
-#include "cru/ui/mapper/style/HoverConditionMapper.hpp"
-#include "cru/ui/mapper/style/NoConditionMapper.hpp"
-#include "cru/ui/mapper/style/OrConditionMapper.hpp"
-#include "cru/ui/mapper/style/StyleRuleMapper.hpp"
-#include "cru/ui/mapper/style/StyleRuleSetMapper.hpp"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/mapper/BorderStyleMapper.h"
+#include "cru/ui/mapper/BrushMapper.h"
+#include "cru/ui/mapper/ColorMapper.h"
+#include "cru/ui/mapper/CornerRadiusMapper.h"
+#include "cru/ui/mapper/CursorMapper.h"
+#include "cru/ui/mapper/FontMapper.h"
+#include "cru/ui/mapper/PointMapper.h"
+#include "cru/ui/mapper/SizeMapper.h"
+#include "cru/ui/mapper/ThicknessMapper.h"
+#include "cru/ui/mapper/style/AndConditionMapper.h"
+#include "cru/ui/mapper/style/BorderStylerMapper.h"
+#include "cru/ui/mapper/style/ClickStateConditionMapper.h"
+#include "cru/ui/mapper/style/CursorStylerMapper.h"
+#include "cru/ui/mapper/style/FocusConditionMapper.h"
+#include "cru/ui/mapper/style/HoverConditionMapper.h"
+#include "cru/ui/mapper/style/NoConditionMapper.h"
+#include "cru/ui/mapper/style/OrConditionMapper.h"
+#include "cru/ui/mapper/style/StyleRuleMapper.h"
+#include "cru/ui/mapper/style/StyleRuleSetMapper.h"
namespace cru::ui::mapper {
MapperRegistry *MapperRegistry::GetInstance() {
diff --git a/src/ui/mapper/PointMapper.cpp b/src/ui/mapper/PointMapper.cpp
index efafc6ce..ca7729b4 100644
--- a/src/ui/mapper/PointMapper.cpp
+++ b/src/ui/mapper/PointMapper.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/mapper/PointMapper.hpp"
+#include "cru/ui/mapper/PointMapper.h"
namespace cru::ui::mapper {
bool PointMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/SizeMapper.cpp b/src/ui/mapper/SizeMapper.cpp
index dfc83cca..0fcf1c53 100644
--- a/src/ui/mapper/SizeMapper.cpp
+++ b/src/ui/mapper/SizeMapper.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/mapper/SizeMapper.hpp"
+#include "cru/ui/mapper/SizeMapper.h"
namespace cru::ui::mapper {
bool SizeMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/ThicknessMapper.cpp b/src/ui/mapper/ThicknessMapper.cpp
index b72f952c..6ddd52ea 100644
--- a/src/ui/mapper/ThicknessMapper.cpp
+++ b/src/ui/mapper/ThicknessMapper.cpp
@@ -1,5 +1,5 @@
-#include "cru/ui/mapper/ThicknessMapper.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/ThicknessMapper.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper {
bool ThicknessMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/AndConditionMapper.cpp b/src/ui/mapper/style/AndConditionMapper.cpp
index e07e514c..dd8784d5 100644
--- a/src/ui/mapper/style/AndConditionMapper.cpp
+++ b/src/ui/mapper/style/AndConditionMapper.cpp
@@ -1,9 +1,9 @@
-#include "cru/ui/mapper/style/AndConditionMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/mapper/style/IConditionMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/style/AndConditionMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/mapper/style/IConditionMapper.h"
+#include "cru/ui/style/Condition.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool AndConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode *node) {
diff --git a/src/ui/mapper/style/BorderStylerMapper.cpp b/src/ui/mapper/style/BorderStylerMapper.cpp
index 8a5df83d..95dd28ee 100644
--- a/src/ui/mapper/style/BorderStylerMapper.cpp
+++ b/src/ui/mapper/style/BorderStylerMapper.cpp
@@ -1,9 +1,9 @@
-#include "cru/ui/mapper/style/BorderStylerMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
-#include "cru/ui/style/Styler.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/style/BorderStylerMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/style/ApplyBorderStyleInfo.h"
+#include "cru/ui/style/Styler.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
using cru::ui::style::ApplyBorderStyleInfo;
diff --git a/src/ui/mapper/style/ClickStateConditionMapper.cpp b/src/ui/mapper/style/ClickStateConditionMapper.cpp
index 8e162a86..7c1200ef 100644
--- a/src/ui/mapper/style/ClickStateConditionMapper.cpp
+++ b/src/ui/mapper/style/ClickStateConditionMapper.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/mapper/style/ClickStateConditionMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/common/Exception.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
-#include "cru/ui/style/Condition.hpp"
+#include "cru/ui/mapper/style/ClickStateConditionMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/common/Exception.h"
+#include "cru/ui/helper/ClickDetector.h"
+#include "cru/ui/style/Condition.h"
namespace cru::ui::mapper::style {
bool ClickStateConditionMapper::XmlElementIsOfThisType(
diff --git a/src/ui/mapper/style/CursorStylerMapper.cpp b/src/ui/mapper/style/CursorStylerMapper.cpp
index c63d451c..103d9d82 100644
--- a/src/ui/mapper/style/CursorStylerMapper.cpp
+++ b/src/ui/mapper/style/CursorStylerMapper.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/mapper/style/CursorStylerMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/style/Styler.hpp"
+#include "cru/ui/mapper/style/CursorStylerMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/style/Styler.h"
namespace cru::ui::mapper::style {
bool CursorStylerMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/FocusConditionMapper.cpp b/src/ui/mapper/style/FocusConditionMapper.cpp
index 46f9f2c7..5df4443d 100644
--- a/src/ui/mapper/style/FocusConditionMapper.cpp
+++ b/src/ui/mapper/style/FocusConditionMapper.cpp
@@ -1,7 +1,7 @@
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/style/FocusConditionMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/style/FocusConditionMapper.h"
+#include "cru/ui/style/Condition.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool FocusConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/HoverConditionMapper.cpp b/src/ui/mapper/style/HoverConditionMapper.cpp
index b78c12e9..4f92e9f6 100644
--- a/src/ui/mapper/style/HoverConditionMapper.cpp
+++ b/src/ui/mapper/style/HoverConditionMapper.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/mapper/style/HoverConditionMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/style/Condition.hpp"
+#include "cru/ui/mapper/style/HoverConditionMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/style/Condition.h"
namespace cru::ui::mapper::style {
using namespace cru::ui::style;
diff --git a/src/ui/mapper/style/NoConditionMapper.cpp b/src/ui/mapper/style/NoConditionMapper.cpp
index 03aae69f..397162f1 100644
--- a/src/ui/mapper/style/NoConditionMapper.cpp
+++ b/src/ui/mapper/style/NoConditionMapper.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/mapper/style/NoConditionMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/style/NoConditionMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool NoConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/OrConditionMapper.cpp b/src/ui/mapper/style/OrConditionMapper.cpp
index a91f5130..7b932dbc 100644
--- a/src/ui/mapper/style/OrConditionMapper.cpp
+++ b/src/ui/mapper/style/OrConditionMapper.cpp
@@ -1,9 +1,9 @@
-#include "cru/ui/mapper/style/OrConditionMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/mapper/style/IConditionMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/ui/mapper/style/OrConditionMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/mapper/style/IConditionMapper.h"
+#include "cru/ui/style/Condition.h"
+#include "cru/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool OrConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode *node) {
diff --git a/src/ui/mapper/style/StyleRuleMapper.cpp b/src/ui/mapper/style/StyleRuleMapper.cpp
index fea102ed..1ca45a6e 100644
--- a/src/ui/mapper/style/StyleRuleMapper.cpp
+++ b/src/ui/mapper/style/StyleRuleMapper.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/mapper/style/StyleRuleMapper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/mapper/style/IConditionMapper.hpp"
-#include "cru/ui/mapper/style/IStylerMapper.hpp"
-#include "cru/ui/style/Condition.hpp"
-#include "cru/ui/style/StyleRule.hpp"
-#include "cru/ui/style/Styler.hpp"
+#include "cru/ui/mapper/style/StyleRuleMapper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/mapper/style/IConditionMapper.h"
+#include "cru/ui/mapper/style/IStylerMapper.h"
+#include "cru/ui/style/Condition.h"
+#include "cru/ui/style/StyleRule.h"
+#include "cru/ui/style/Styler.h"
namespace cru::ui::mapper::style {
using namespace ui::style;
diff --git a/src/ui/mapper/style/StyleRuleSetMapper.cpp b/src/ui/mapper/style/StyleRuleSetMapper.cpp
index b9199d27..7552e25f 100644
--- a/src/ui/mapper/style/StyleRuleSetMapper.cpp
+++ b/src/ui/mapper/style/StyleRuleSetMapper.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/mapper/style/StyleRuleSetMapper.hpp"
+#include "cru/ui/mapper/style/StyleRuleSetMapper.h"
#include <memory>
-#include "cru/ui/mapper/MapperRegistry.hpp"
-#include "cru/ui/style/StyleRule.hpp"
-#include "cru/ui/style/StyleRuleSet.hpp"
+#include "cru/ui/mapper/MapperRegistry.h"
+#include "cru/ui/style/StyleRule.h"
+#include "cru/ui/style/StyleRuleSet.h"
namespace cru::ui::mapper::style {
using namespace cru::ui::style;
diff --git a/src/ui/render/BorderRenderObject.cpp b/src/ui/render/BorderRenderObject.cpp
index 9b886348..61af27bc 100644
--- a/src/ui/render/BorderRenderObject.cpp
+++ b/src/ui/render/BorderRenderObject.cpp
@@ -1,13 +1,13 @@
-#include "cru/ui/render/BorderRenderObject.hpp"
-
-#include "../Helper.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Geometry.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/DebugFlags.hpp"
-#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
+#include "cru/ui/render/BorderRenderObject.h"
+
+#include "../Helper.h"
+#include "cru/common/Logger.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Geometry.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/DebugFlags.h"
+#include "cru/ui/style/ApplyBorderStyleInfo.h"
#include <algorithm>
diff --git a/src/ui/render/CanvasRenderObject.cpp b/src/ui/render/CanvasRenderObject.cpp
index bf1155e1..985a2dae 100644
--- a/src/ui/render/CanvasRenderObject.cpp
+++ b/src/ui/render/CanvasRenderObject.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/render/CanvasRenderObject.hpp"
+#include "cru/ui/render/CanvasRenderObject.h"
namespace cru::ui::render {
CanvasRenderObject::CanvasRenderObject() : RenderObject(ChildMode::None) {}
diff --git a/src/ui/render/FlexLayoutRenderObject.cpp b/src/ui/render/FlexLayoutRenderObject.cpp
index 0e76995b..e4d16169 100644
--- a/src/ui/render/FlexLayoutRenderObject.cpp
+++ b/src/ui/render/FlexLayoutRenderObject.cpp
@@ -1,10 +1,10 @@
-#include "cru/ui/render/FlexLayoutRenderObject.hpp"
+#include "cru/ui/render/FlexLayoutRenderObject.h"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/render/LayoutHelper.hpp"
-#include "cru/ui/render/MeasureRequirement.hpp"
+#include "cru/common/Logger.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/render/LayoutHelper.h"
+#include "cru/ui/render/MeasureRequirement.h"
#include <algorithm>
#include <functional>
diff --git a/src/ui/render/LayoutHelper.cpp b/src/ui/render/LayoutHelper.cpp
index 5854a945..d7f6df8a 100644
--- a/src/ui/render/LayoutHelper.cpp
+++ b/src/ui/render/LayoutHelper.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/render/LayoutHelper.hpp"
+#include "cru/ui/render/LayoutHelper.h"
-#include "cru/common/Logger.hpp"
+#include "cru/common/Logger.h"
namespace cru::ui::render {
float CalculateAnchorByAlignment(Alignment alignment, float start_point,
diff --git a/src/ui/render/RenderObject.cpp b/src/ui/render/RenderObject.cpp
index 75bf1380..00488425 100644
--- a/src/ui/render/RenderObject.cpp
+++ b/src/ui/render/RenderObject.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/render/RenderObject.hpp"
-
-#include "cru/common/Logger.hpp"
-#include "cru/platform/GraphicsBase.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/DebugFlags.hpp"
-#include "cru/ui/host/WindowHost.hpp"
+#include "cru/ui/render/RenderObject.h"
+
+#include "cru/common/Logger.h"
+#include "cru/platform/GraphicsBase.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/DebugFlags.h"
+#include "cru/ui/host/WindowHost.h"
#include <algorithm>
#include <string>
diff --git a/src/ui/render/ScrollBar.cpp b/src/ui/render/ScrollBar.cpp
index 37aebeaf..e3cc006b 100644
--- a/src/ui/render/ScrollBar.cpp
+++ b/src/ui/render/ScrollBar.cpp
@@ -1,20 +1,20 @@
-#include "cru/ui/render/ScrollBar.hpp"
-
-#include "../Helper.hpp"
-#include "cru/common/Base.hpp"
-#include "cru/platform/GraphicsBase.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/Geometry.hpp"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/ThemeManager.hpp"
-#include "cru/ui/events/UiEvents.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
-#include "cru/ui/host/WindowHost.hpp"
-#include "cru/ui/render/ScrollRenderObject.hpp"
+#include "cru/ui/render/ScrollBar.h"
+
+#include "../Helper.h"
+#include "cru/common/Base.h"
+#include "cru/platform/GraphicsBase.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/Geometry.h"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/ThemeManager.h"
+#include "cru/ui/events/UiEvents.h"
+#include "cru/ui/helper/ClickDetector.h"
+#include "cru/ui/host/WindowHost.h"
+#include "cru/ui/render/ScrollRenderObject.h"
#include <algorithm>
#include <cassert>
diff --git a/src/ui/render/ScrollRenderObject.cpp b/src/ui/render/ScrollRenderObject.cpp
index bd9b8559..2400cc11 100644
--- a/src/ui/render/ScrollRenderObject.cpp
+++ b/src/ui/render/ScrollRenderObject.cpp
@@ -1,10 +1,10 @@
-#include "cru/ui/render/ScrollRenderObject.hpp"
+#include "cru/ui/render/ScrollRenderObject.h"
-#include "cru/platform/graphics/Painter.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/ui/Base.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/render/ScrollBar.hpp"
+#include "cru/platform/graphics/Painter.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/ui/Base.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/render/ScrollBar.h"
#include <algorithm>
#include <memory>
diff --git a/src/ui/render/StackLayoutRenderObject.cpp b/src/ui/render/StackLayoutRenderObject.cpp
index 1b6cc9fc..ea65fe02 100644
--- a/src/ui/render/StackLayoutRenderObject.cpp
+++ b/src/ui/render/StackLayoutRenderObject.cpp
@@ -1,8 +1,8 @@
-#include "cru/ui/render/StackLayoutRenderObject.hpp"
+#include "cru/ui/render/StackLayoutRenderObject.h"
-#include "cru/common/Logger.hpp"
-#include "cru/ui/render/LayoutHelper.hpp"
-#include "cru/ui/render/MeasureRequirement.hpp"
+#include "cru/common/Logger.h"
+#include "cru/ui/render/LayoutHelper.h"
+#include "cru/ui/render/MeasureRequirement.h"
#include <algorithm>
diff --git a/src/ui/render/TextRenderObject.cpp b/src/ui/render/TextRenderObject.cpp
index f7665beb..675bac3c 100644
--- a/src/ui/render/TextRenderObject.cpp
+++ b/src/ui/render/TextRenderObject.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/render/TextRenderObject.hpp"
-
-#include "../Helper.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/graphics/Factory.hpp"
-#include "cru/platform/graphics/TextLayout.hpp"
-#include "cru/platform/graphics/util/Painter.hpp"
-#include "cru/ui/DebugFlags.hpp"
+#include "cru/ui/render/TextRenderObject.h"
+
+#include "../Helper.h"
+#include "cru/common/Logger.h"
+#include "cru/platform/graphics/Factory.h"
+#include "cru/platform/graphics/TextLayout.h"
+#include "cru/platform/graphics/util/Painter.h"
+#include "cru/ui/DebugFlags.h"
#include <algorithm>
#include <limits>
diff --git a/src/ui/style/Condition.cpp b/src/ui/style/Condition.cpp
index f4866c04..b68fd0ee 100644
--- a/src/ui/style/Condition.cpp
+++ b/src/ui/style/Condition.cpp
@@ -1,11 +1,11 @@
-#include "cru/ui/style/Condition.hpp"
+#include "cru/ui/style/Condition.h"
#include <memory>
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/controls/IClickableControl.hpp"
-#include "cru/ui/helper/ClickDetector.hpp"
+#include "cru/common/ClonablePtr.h"
+#include "cru/common/Event.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/controls/IClickableControl.h"
+#include "cru/ui/helper/ClickDetector.h"
namespace cru::ui::style {
CompoundCondition::CompoundCondition(
diff --git a/src/ui/style/StyleRule.cpp b/src/ui/style/StyleRule.cpp
index 59096fb6..ce823537 100644
--- a/src/ui/style/StyleRule.cpp
+++ b/src/ui/style/StyleRule.cpp
@@ -1,4 +1,4 @@
-#include "cru/ui/style/StyleRule.hpp"
+#include "cru/ui/style/StyleRule.h"
namespace cru::ui::style {
StyleRule::StyleRule(ClonablePtr<Condition> condition,
diff --git a/src/ui/style/StyleRuleSet.cpp b/src/ui/style/StyleRuleSet.cpp
index 88109350..7352f69b 100644
--- a/src/ui/style/StyleRuleSet.cpp
+++ b/src/ui/style/StyleRuleSet.cpp
@@ -1,6 +1,6 @@
-#include "cru/ui/style/StyleRuleSet.hpp"
-#include "cru/common/Event.hpp"
-#include "cru/ui/controls/Control.hpp"
+#include "cru/ui/style/StyleRuleSet.h"
+#include "cru/common/Event.h"
+#include "cru/ui/controls/Control.h"
#include "gsl/gsl_assert"
#include <unordered_set>
diff --git a/src/ui/style/Styler.cpp b/src/ui/style/Styler.cpp
index da3a2247..72e522e0 100644
--- a/src/ui/style/Styler.cpp
+++ b/src/ui/style/Styler.cpp
@@ -1,12 +1,12 @@
-#include "cru/ui/style/Styler.hpp"
+#include "cru/ui/style/Styler.h"
-#include "../Helper.hpp"
-#include "cru/common/ClonablePtr.hpp"
-#include "cru/platform/gui/Cursor.hpp"
-#include "cru/platform/gui/UiApplication.hpp"
-#include "cru/ui/controls/Control.hpp"
-#include "cru/ui/controls/IBorderControl.hpp"
-#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
+#include "../Helper.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/platform/gui/Cursor.h"
+#include "cru/platform/gui/UiApplication.h"
+#include "cru/ui/controls/Control.h"
+#include "cru/ui/controls/IBorderControl.h"
+#include "cru/ui/style/ApplyBorderStyleInfo.h"
namespace cru::ui::style {
BorderStyler::BorderStyler(ApplyBorderStyleInfo style)
diff --git a/src/win/ForDllExport.cpp b/src/win/ForDllExport.cpp
index 4662461b..db1a7cad 100644
--- a/src/win/ForDllExport.cpp
+++ b/src/win/ForDllExport.cpp
@@ -1,2 +1,2 @@
-#include "cru/win/DebugLogger.hpp"
-#include "cru/win/StdOutLogger.hpp"
+#include "cru/win/DebugLogger.h"
+#include "cru/win/StdOutLogger.h"
diff --git a/src/win/graphics/direct/Brush.cpp b/src/win/graphics/direct/Brush.cpp
index eb6ea973..362a32ea 100644
--- a/src/win/graphics/direct/Brush.cpp
+++ b/src/win/graphics/direct/Brush.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/Brush.hpp"
+#include "cru/win/graphics/direct/Brush.h"
-#include "cru/win/graphics/direct/ConvertUtil.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/ConvertUtil.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
namespace cru::platform::graphics::win::direct {
D2DSolidColorBrush::D2DSolidColorBrush(DirectGraphicsFactory* factory)
diff --git a/src/win/graphics/direct/Factory.cpp b/src/win/graphics/direct/Factory.cpp
index bc51cd1a..b948c040 100644
--- a/src/win/graphics/direct/Factory.cpp
+++ b/src/win/graphics/direct/Factory.cpp
@@ -1,12 +1,12 @@
-#include "cru/win/graphics/direct/Factory.hpp"
-
-#include "cru/common/Logger.hpp"
-#include "cru/win/graphics/direct/Brush.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Font.hpp"
-#include "cru/win/graphics/direct/Geometry.hpp"
-#include "cru/win/graphics/direct/ImageFactory.hpp"
-#include "cru/win/graphics/direct/TextLayout.hpp"
+#include "cru/win/graphics/direct/Factory.h"
+
+#include "cru/common/Logger.h"
+#include "cru/win/graphics/direct/Brush.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Font.h"
+#include "cru/win/graphics/direct/Geometry.h"
+#include "cru/win/graphics/direct/ImageFactory.h"
+#include "cru/win/graphics/direct/TextLayout.h"
#include <cstdlib>
#include <utility>
diff --git a/src/win/graphics/direct/Font.cpp b/src/win/graphics/direct/Font.cpp
index 39ba2d8b..f6ec4d5a 100644
--- a/src/win/graphics/direct/Font.cpp
+++ b/src/win/graphics/direct/Font.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/Font.hpp"
+#include "cru/win/graphics/direct/Font.h"
-#include "cru/common/Format.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/common/Format.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
#include <array>
#include <utility>
diff --git a/src/win/graphics/direct/Geometry.cpp b/src/win/graphics/direct/Geometry.cpp
index b37dd9f4..a7427bf5 100644
--- a/src/win/graphics/direct/Geometry.cpp
+++ b/src/win/graphics/direct/Geometry.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/Geometry.hpp"
+#include "cru/win/graphics/direct/Geometry.h"
-#include "cru/win/graphics/direct/ConvertUtil.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/ConvertUtil.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
namespace cru::platform::graphics::win::direct {
D2DGeometryBuilder::D2DGeometryBuilder(DirectGraphicsFactory* factory)
diff --git a/src/win/graphics/direct/Image.cpp b/src/win/graphics/direct/Image.cpp
index d09a7016..11f5e763 100644
--- a/src/win/graphics/direct/Image.cpp
+++ b/src/win/graphics/direct/Image.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/Image.hpp"
-#include "cru/common/platform/win/Exception.hpp"
-#include "cru/win/graphics/direct/ConvertUtil.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Image.h"
+#include "cru/common/platform/win/Exception.h"
+#include "cru/win/graphics/direct/ConvertUtil.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
namespace cru::platform::graphics::win::direct {
Direct2DImage::Direct2DImage(DirectGraphicsFactory* graphics_factory,
diff --git a/src/win/graphics/direct/ImageFactory.cpp b/src/win/graphics/direct/ImageFactory.cpp
index 7d297ff8..e7794aa5 100644
--- a/src/win/graphics/direct/ImageFactory.cpp
+++ b/src/win/graphics/direct/ImageFactory.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/ImageFactory.hpp"
-#include "cru/common/platform/win/StreamConvert.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
-#include "cru/win/graphics/direct/Image.hpp"
+#include "cru/win/graphics/direct/ImageFactory.h"
+#include "cru/common/platform/win/StreamConvert.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
+#include "cru/win/graphics/direct/Image.h"
#include <wincodec.h>
diff --git a/src/win/graphics/direct/Painter.cpp b/src/win/graphics/direct/Painter.cpp
index 395b1d90..32386877 100644
--- a/src/win/graphics/direct/Painter.cpp
+++ b/src/win/graphics/direct/Painter.cpp
@@ -1,12 +1,12 @@
-#include "cru/win/graphics/direct/Painter.hpp"
-
-#include "cru/platform/Check.hpp"
-#include "cru/win/graphics/direct/Brush.hpp"
-#include "cru/win/graphics/direct/ConvertUtil.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Geometry.hpp"
-#include "cru/win/graphics/direct/Image.hpp"
-#include "cru/win/graphics/direct/TextLayout.hpp"
+#include "cru/win/graphics/direct/Painter.h"
+
+#include "cru/platform/Check.h"
+#include "cru/win/graphics/direct/Brush.h"
+#include "cru/win/graphics/direct/ConvertUtil.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Geometry.h"
+#include "cru/win/graphics/direct/Image.h"
+#include "cru/win/graphics/direct/TextLayout.h"
#include <type_traits>
diff --git a/src/win/graphics/direct/Resource.cpp b/src/win/graphics/direct/Resource.cpp
index 0e9719f4..a9c53ee0 100644
--- a/src/win/graphics/direct/Resource.cpp
+++ b/src/win/graphics/direct/Resource.cpp
@@ -1,6 +1,6 @@
-#include "cru/win/graphics/direct/Resource.hpp"
+#include "cru/win/graphics/direct/Resource.h"
-#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Factory.h"
namespace cru::platform::graphics::win::direct {
String DirectResource::kPlatformId = u"Windows Direct";
diff --git a/src/win/graphics/direct/TextLayout.cpp b/src/win/graphics/direct/TextLayout.cpp
index bec4a972..14e2d3aa 100644
--- a/src/win/graphics/direct/TextLayout.cpp
+++ b/src/win/graphics/direct/TextLayout.cpp
@@ -1,11 +1,11 @@
-#include "cru/win/graphics/direct/TextLayout.hpp"
+#include "cru/win/graphics/direct/TextLayout.h"
#include <dwrite.h>
-#include "cru/common/Logger.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
-#include "cru/win/graphics/direct/Font.hpp"
+#include "cru/common/Logger.h"
+#include "cru/platform/Check.h"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
+#include "cru/win/graphics/direct/Font.h"
#include <utility>
diff --git a/src/win/graphics/direct/WindowPainter.cpp b/src/win/graphics/direct/WindowPainter.cpp
index d29ec3ba..0f78119e 100644
--- a/src/win/graphics/direct/WindowPainter.cpp
+++ b/src/win/graphics/direct/WindowPainter.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/graphics/direct/WindowPainter.hpp"
+#include "cru/win/graphics/direct/WindowPainter.h"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
-#include "cru/win/graphics/direct/WindowRenderTarget.hpp"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
+#include "cru/win/graphics/direct/WindowRenderTarget.h"
namespace cru::platform::graphics::win::direct {
D2DWindowPainter::D2DWindowPainter(D2DWindowRenderTarget* render_target)
diff --git a/src/win/graphics/direct/WindowRenderTarget.cpp b/src/win/graphics/direct/WindowRenderTarget.cpp
index 020ce4b4..9cbce6a3 100644
--- a/src/win/graphics/direct/WindowRenderTarget.cpp
+++ b/src/win/graphics/direct/WindowRenderTarget.cpp
@@ -1,7 +1,7 @@
-#include "cru/win/graphics/direct/WindowRenderTarget.hpp"
+#include "cru/win/graphics/direct/WindowRenderTarget.h"
-#include "cru/win/graphics/direct/Exception.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
+#include "cru/win/graphics/direct/Exception.h"
+#include "cru/win/graphics/direct/Factory.h"
namespace cru::platform::graphics::win::direct {
D2DWindowRenderTarget::D2DWindowRenderTarget(
diff --git a/src/win/gui/Clipboard.cpp b/src/win/gui/Clipboard.cpp
index 62db4ed8..6bb5d1c5 100644
--- a/src/win/gui/Clipboard.cpp
+++ b/src/win/gui/Clipboard.cpp
@@ -1,8 +1,8 @@
-#include "cru/win/gui/Clipboard.hpp"
+#include "cru/win/gui/Clipboard.h"
#include <winuser.h>
-#include "cru/common/Logger.hpp"
-#include "cru/win/gui/GodWindow.hpp"
-#include "cru/win/gui/UiApplication.hpp"
+#include "cru/common/Logger.h"
+#include "cru/win/gui/GodWindow.h"
+#include "cru/win/gui/UiApplication.h"
namespace cru::platform::gui::win {
WinClipboard::WinClipboard(WinUiApplication* application)
diff --git a/src/win/gui/Cursor.cpp b/src/win/gui/Cursor.cpp
index a3a7f824..1d421b59 100644
--- a/src/win/gui/Cursor.cpp
+++ b/src/win/gui/Cursor.cpp
@@ -1,7 +1,7 @@
-#include "cru/win/gui/Cursor.hpp"
+#include "cru/win/gui/Cursor.h"
-#include "cru/common/Logger.hpp"
-#include "cru/win/gui/Exception.hpp"
+#include "cru/common/Logger.h"
+#include "cru/win/gui/Exception.h"
#include <stdexcept>
diff --git a/src/win/gui/GodWindow.cpp b/src/win/gui/GodWindow.cpp
index 31974339..0c385bea 100644
--- a/src/win/gui/GodWindow.cpp
+++ b/src/win/gui/GodWindow.cpp
@@ -1,9 +1,9 @@
-#include "cru/win/gui/GodWindow.hpp"
+#include "cru/win/gui/GodWindow.h"
-#include "cru/common/Logger.hpp"
-#include "cru/win/gui/Exception.hpp"
-#include "cru/win/gui/UiApplication.hpp"
-#include "cru/win/gui/WindowClass.hpp"
+#include "cru/common/Logger.h"
+#include "cru/win/gui/Exception.h"
+#include "cru/win/gui/UiApplication.h"
+#include "cru/win/gui/WindowClass.h"
namespace cru::platform::gui::win {
constexpr auto god_window_class_name = L"GodWindowClass";
diff --git a/src/win/gui/InputMethod.cpp b/src/win/gui/InputMethod.cpp
index 47e17109..fedb72fe 100644
--- a/src/win/gui/InputMethod.cpp
+++ b/src/win/gui/InputMethod.cpp
@@ -1,11 +1,11 @@
-#include "cru/win/gui/InputMethod.hpp"
-
-#include "cru/common/Logger.hpp"
-#include "cru/common/StringUtil.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/platform/gui/DebugFlags.hpp"
-#include "cru/win/Exception.hpp"
-#include "cru/win/gui/Window.hpp"
+#include "cru/win/gui/InputMethod.h"
+
+#include "cru/common/Logger.h"
+#include "cru/common/StringUtil.h"
+#include "cru/platform/Check.h"
+#include "cru/platform/gui/DebugFlags.h"
+#include "cru/win/Exception.h"
+#include "cru/win/gui/Window.h"
#include <vector>
diff --git a/src/win/gui/Keyboard.cpp b/src/win/gui/Keyboard.cpp
index b706b240..124d6109 100644
--- a/src/win/gui/Keyboard.cpp
+++ b/src/win/gui/Keyboard.cpp
@@ -1,4 +1,4 @@
-#include "cru/win/gui/Keyboard.hpp"
+#include "cru/win/gui/Keyboard.h"
namespace cru::platform::gui::win {
KeyCode VirtualKeyToKeyCode(int virtual_key) {
diff --git a/src/win/gui/Resource.cpp b/src/win/gui/Resource.cpp
index dc4de173..f45c5df5 100644
--- a/src/win/gui/Resource.cpp
+++ b/src/win/gui/Resource.cpp
@@ -1,5 +1,5 @@
-#include "cru/win/gui/Resource.hpp"
-#include "cru/win/gui/Window.hpp"
+#include "cru/win/gui/Resource.h"
+#include "cru/win/gui/Window.h"
namespace cru::platform::gui::win {
String WinNativeResource::kPlatformId = u"Windows";
diff --git a/src/win/gui/TimerManager.cpp b/src/win/gui/TimerManager.cpp
index f3da1f09..ce8fead6 100644
--- a/src/win/gui/TimerManager.cpp
+++ b/src/win/gui/TimerManager.cpp
@@ -1,7 +1,7 @@
-#include "TimerManager.hpp"
+#include "TimerManager.h"
-#include "cru/win/gui/Base.hpp"
-#include "cru/win/gui/Exception.hpp"
+#include "cru/win/gui/Base.h"
+#include "cru/win/gui/Exception.h"
#include "gsl/gsl_util"
#include <functional>
diff --git a/src/win/gui/TimerManager.hpp b/src/win/gui/TimerManager.h
index a8db1075..c44bd5bd 100644
--- a/src/win/gui/TimerManager.hpp
+++ b/src/win/gui/TimerManager.h
@@ -1,10 +1,10 @@
#pragma once
-#include "cru/common/Event.hpp"
-#include "cru/win/WinPreConfig.hpp"
+#include "cru/common/Event.h"
+#include "cru/win/WinPreConfig.h"
-#include "cru/common/Base.hpp"
-#include "cru/win/gui/GodWindow.hpp"
-#include "cru/win/gui/WindowNativeMessageEventArgs.hpp"
+#include "cru/common/Base.h"
+#include "cru/win/gui/GodWindow.h"
+#include "cru/win/gui/WindowNativeMessageEventArgs.h"
#include <chrono>
#include <functional>
diff --git a/src/win/gui/UiApplication.cpp b/src/win/gui/UiApplication.cpp
index 6cacc8b2..59076a9c 100644
--- a/src/win/gui/UiApplication.cpp
+++ b/src/win/gui/UiApplication.cpp
@@ -1,19 +1,19 @@
-#include "cru/win/gui/UiApplication.hpp"
-
-#include "TimerManager.hpp"
-#include "WindowManager.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/win/DebugLogger.hpp"
-#include "cru/win/StdOutLogger.hpp"
-#include "cru/win/graphics/direct/Factory.hpp"
-#include "cru/win/gui/Base.hpp"
-#include "cru/win/gui/Clipboard.hpp"
-#include "cru/win/gui/Cursor.hpp"
-#include "cru/win/gui/Exception.hpp"
-#include "cru/win/gui/GodWindow.hpp"
-#include "cru/win/gui/InputMethod.hpp"
-#include "cru/win/gui/Window.hpp"
+#include "cru/win/gui/UiApplication.h"
+
+#include "TimerManager.h"
+#include "WindowManager.h"
+#include "cru/common/Logger.h"
+#include "cru/platform/Check.h"
+#include "cru/win/DebugLogger.h"
+#include "cru/win/StdOutLogger.h"
+#include "cru/win/graphics/direct/Factory.h"
+#include "cru/win/gui/Base.h"
+#include "cru/win/gui/Clipboard.h"
+#include "cru/win/gui/Cursor.h"
+#include "cru/win/gui/Exception.h"
+#include "cru/win/gui/GodWindow.h"
+#include "cru/win/gui/InputMethod.h"
+#include "cru/win/gui/Window.h"
namespace cru::platform::gui {
std::unique_ptr<IUiApplication> CreateUiApplication() {
diff --git a/src/win/gui/Window.cpp b/src/win/gui/Window.cpp
index f30b4e59..ada3d59f 100644
--- a/src/win/gui/Window.cpp
+++ b/src/win/gui/Window.cpp
@@ -1,19 +1,19 @@
-#include "cru/win/gui/Window.hpp"
-
-#include "WindowManager.hpp"
-#include "cru/common/Logger.hpp"
-#include "cru/platform/Check.hpp"
-#include "cru/platform/graphics/NullPainter.hpp"
-#include "cru/platform/gui/Base.hpp"
-#include "cru/platform/gui/DebugFlags.hpp"
-#include "cru/platform/gui/Window.hpp"
-#include "cru/win/graphics/direct/WindowPainter.hpp"
-#include "cru/win/gui/Cursor.hpp"
-#include "cru/win/gui/Exception.hpp"
-#include "cru/win/gui/InputMethod.hpp"
-#include "cru/win/gui/Keyboard.hpp"
-#include "cru/win/gui/UiApplication.hpp"
-#include "cru/win/gui/WindowClass.hpp"
+#include "cru/win/gui/Window.h"
+
+#include "WindowManager.h"
+#include "cru/common/Logger.h"
+#include "cru/platform/Check.h"
+#include "cru/platform/graphics/NullPainter.h"
+#include "cru/platform/gui/Base.h"
+#include "cru/platform/gui/DebugFlags.h"
+#include "cru/platform/gui/Window.h"
+#include "cru/win/graphics/direct/WindowPainter.h"
+#include "cru/win/gui/Cursor.h"
+#include "cru/win/gui/Exception.h"
+#include "cru/win/gui/InputMethod.h"
+#include "cru/win/gui/Keyboard.h"
+#include "cru/win/gui/UiApplication.h"
+#include "cru/win/gui/WindowClass.h"
#include <windowsx.h>
#include <winuser.h>
diff --git a/src/win/gui/WindowClass.cpp b/src/win/gui/WindowClass.cpp
index 9d86d791..25229406 100644
--- a/src/win/gui/WindowClass.cpp
+++ b/src/win/gui/WindowClass.cpp
@@ -1,6 +1,6 @@
-#include "cru/win/gui/WindowClass.hpp"
+#include "cru/win/gui/WindowClass.h"
-#include "cru/win/gui/Exception.hpp"
+#include "cru/win/gui/Exception.h"
namespace cru::platform::gui::win {
WindowClass::WindowClass(std::wstring name, WNDPROC window_proc,
diff --git a/src/win/gui/WindowManager.cpp b/src/win/gui/WindowManager.cpp
index 31b868b9..1e0f797a 100644
--- a/src/win/gui/WindowManager.cpp
+++ b/src/win/gui/WindowManager.cpp
@@ -1,8 +1,8 @@
-#include "WindowManager.hpp"
+#include "WindowManager.h"
-#include "cru/win/gui/UiApplication.hpp"
-#include "cru/win/gui/Window.hpp"
-#include "cru/win/gui/WindowClass.hpp"
+#include "cru/win/gui/UiApplication.h"
+#include "cru/win/gui/Window.h"
+#include "cru/win/gui/WindowClass.h"
namespace cru::platform::gui::win {
LRESULT __stdcall GeneralWndProc(HWND hWnd, UINT Msg, WPARAM wParam,
diff --git a/src/win/gui/WindowManager.hpp b/src/win/gui/WindowManager.h
index 3b037f89..dba3f0a6 100644
--- a/src/win/gui/WindowManager.hpp
+++ b/src/win/gui/WindowManager.h
@@ -1,7 +1,7 @@
#pragma once
-#include "cru/win/WinPreConfig.hpp"
+#include "cru/win/WinPreConfig.h"
-#include "cru/common/Base.hpp"
+#include "cru/common/Base.h"
#include <map>
#include <memory>
diff --git a/src/xml/XmlNode.cpp b/src/xml/XmlNode.cpp
index 00437f9b..cfa87dd6 100644
--- a/src/xml/XmlNode.cpp
+++ b/src/xml/XmlNode.cpp
@@ -1,4 +1,4 @@
-#include "cru/xml/XmlNode.hpp"
+#include "cru/xml/XmlNode.h"
#include <algorithm>
namespace cru::xml {
diff --git a/src/xml/XmlParser.cpp b/src/xml/XmlParser.cpp
index d0f61542..babb6b00 100644
--- a/src/xml/XmlParser.cpp
+++ b/src/xml/XmlParser.cpp
@@ -1,5 +1,5 @@
-#include "cru/xml/XmlParser.hpp"
-#include "cru/xml/XmlNode.hpp"
+#include "cru/xml/XmlParser.h"
+#include "cru/xml/XmlNode.h"
namespace cru::xml {
XmlParser::XmlParser(String xml) : xml_(std::move(xml)) {}
diff --git a/test/common/HandlerRegistryTest.cpp b/test/common/HandlerRegistryTest.cpp
index d1792c7c..cf64ef4d 100644
--- a/test/common/HandlerRegistryTest.cpp
+++ b/test/common/HandlerRegistryTest.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/HandlerRegistry.hpp"
+#include "cru/common/HandlerRegistry.h"
#include <gtest/gtest.h>
#include <algorithm>
diff --git a/test/common/PropertyTreeTest.cpp b/test/common/PropertyTreeTest.cpp
index 03b8971a..620bc10d 100644
--- a/test/common/PropertyTreeTest.cpp
+++ b/test/common/PropertyTreeTest.cpp
@@ -1,4 +1,4 @@
-#include "cru/common/PropertyTree.hpp"
+#include "cru/common/PropertyTree.h"
#include <gtest/gtest.h>
diff --git a/test/common/StringTest.cpp b/test/common/StringTest.cpp
index 0a60e729..c6e190c4 100644
--- a/test/common/StringTest.cpp
+++ b/test/common/StringTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/Format.hpp"
-#include "cru/common/String.hpp"
+#include "cru/common/Format.h"
+#include "cru/common/String.h"
#include <gtest/gtest.h>
diff --git a/test/common/StringUtilTest.cpp b/test/common/StringUtilTest.cpp
index 0fc63685..54cdf30f 100644
--- a/test/common/StringUtilTest.cpp
+++ b/test/common/StringUtilTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/String.hpp"
-#include "cru/common/StringUtil.hpp"
+#include "cru/common/String.h"
+#include "cru/common/StringUtil.h"
#include <gtest/gtest.h>
diff --git a/test/common/platform/unix/UnixFileStreamTest.cpp b/test/common/platform/unix/UnixFileStreamTest.cpp
index cdc749ba..1ae8c48e 100644
--- a/test/common/platform/unix/UnixFileStreamTest.cpp
+++ b/test/common/platform/unix/UnixFileStreamTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/io/OpenFileFlag.hpp"
-#include "cru/common/platform/unix/UnixFileStream.hpp"
+#include "cru/common/io/OpenFileFlag.h"
+#include "cru/common/platform/unix/UnixFileStream.h"
#include <gtest/gtest.h>
diff --git a/test/common/platform/win/StreamConvertTest.cpp b/test/common/platform/win/StreamConvertTest.cpp
index a8fdd8ff..4840a82e 100644
--- a/test/common/platform/win/StreamConvertTest.cpp
+++ b/test/common/platform/win/StreamConvertTest.cpp
@@ -1,7 +1,7 @@
-#include "cru/common/io/OpenFileFlag.hpp"
-#include "cru/common/platform/win/Exception.hpp"
-#include "cru/common/platform/win/StreamConvert.hpp"
-#include "cru/common/platform/win/Win32FileStream.hpp"
+#include "cru/common/io/OpenFileFlag.h"
+#include "cru/common/platform/win/Exception.h"
+#include "cru/common/platform/win/StreamConvert.h"
+#include "cru/common/platform/win/Win32FileStream.h"
#include <gtest/gtest.h>
diff --git a/test/common/platform/win/Win32FileStreamTest.cpp b/test/common/platform/win/Win32FileStreamTest.cpp
index deb981f9..cff349a2 100644
--- a/test/common/platform/win/Win32FileStreamTest.cpp
+++ b/test/common/platform/win/Win32FileStreamTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/common/io/OpenFileFlag.hpp"
-#include "cru/common/platform/win/Win32FileStream.hpp"
+#include "cru/common/io/OpenFileFlag.h"
+#include "cru/common/platform/win/Win32FileStream.h"
#include <gtest/gtest.h>
diff --git a/test/platform/ColorTest.cpp b/test/platform/ColorTest.cpp
index c197779b..451fb069 100644
--- a/test/platform/ColorTest.cpp
+++ b/test/platform/ColorTest.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/Color.hpp"
+#include "cru/platform/Color.h"
#include <gtest/gtest.h>
diff --git a/test/platform/MatrixTest.cpp b/test/platform/MatrixTest.cpp
index 3364600e..62492b4e 100644
--- a/test/platform/MatrixTest.cpp
+++ b/test/platform/MatrixTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/platform/GraphicsBase.hpp"
-#include "cru/platform/Matrix.hpp"
+#include "cru/platform/GraphicsBase.h"
+#include "cru/platform/Matrix.h"
#include <gtest/gtest.h>
diff --git a/test/toml/ParserTest.cpp b/test/toml/ParserTest.cpp
index 426eb54c..5e9b84b9 100644
--- a/test/toml/ParserTest.cpp
+++ b/test/toml/ParserTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/toml/TomlDocument.hpp"
-#include "cru/toml/TomlParser.hpp"
+#include "cru/toml/TomlDocument.h"
+#include "cru/toml/TomlParser.h"
#include <gtest/gtest.h>
diff --git a/test/win/graphics/direct/ConvertTest.cpp b/test/win/graphics/direct/ConvertTest.cpp
index f8f95dac..f19177fe 100644
--- a/test/win/graphics/direct/ConvertTest.cpp
+++ b/test/win/graphics/direct/ConvertTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/platform/Matrix.hpp"
-#include "cru/win/graphics/direct/ConvertUtil.hpp"
+#include "cru/platform/Matrix.h"
+#include "cru/win/graphics/direct/ConvertUtil.h"
#include <gtest/gtest.h>
diff --git a/test/xml/ParserTest.cpp b/test/xml/ParserTest.cpp
index 238ea507..04c25594 100644
--- a/test/xml/ParserTest.cpp
+++ b/test/xml/ParserTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/xml/XmlNode.hpp"
-#include "cru/xml/XmlParser.hpp"
+#include "cru/xml/XmlNode.h"
+#include "cru/xml/XmlParser.h"
#include <gtest/gtest.h>
diff --git a/tools/migrate-2/rename-hpp-to-h.py b/tools/migrate-2/rename-hpp-to-h.py
new file mode 100755
index 00000000..c72fb2e0
--- /dev/null
+++ b/tools/migrate-2/rename-hpp-to-h.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python3
+
+import os.path
+
+project_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+
+def rename_hpp_to_h(dir):
+ for root, dirs, files in os.walk(dir):
+ for file in files:
+ if file.endswith(".hpp"):
+ os.rename(os.path.join(root, file), os.path.join(root, file[:-4] + ".h"))
+
+rename_hpp_to_h(os.path.join(project_root, "include"))
+rename_hpp_to_h(os.path.join(project_root, "src"))
+rename_hpp_to_h(os.path.join(project_root, "test"))
+rename_hpp_to_h(os.path.join(project_root, "demos"))
+
+def replace_hpp_with_h(file):
+ with open(file, "r") as f:
+ content = f.read()
+ content = content.replace(".hpp", ".h")
+ with open(file, "w") as f:
+ f.write(content)
+
+def replace_hpp_with_h_recursive(dir):
+ for root, dirs, files in os.walk(dir):
+ for file in files:
+ if file.endswith(".cpp") or file.endswith(".h") or file.endswith(".mm"):
+ replace_hpp_with_h(os.path.join(root, file))
+
+replace_hpp_with_h_recursive(os.path.join(project_root, "include"))
+replace_hpp_with_h_recursive(os.path.join(project_root, "src"))
+replace_hpp_with_h_recursive(os.path.join(project_root, "test"))
+replace_hpp_with_h_recursive(os.path.join(project_root, "demos"))