Jelajahi Sumber

Update changelog and readme

Michael Ragazzon 4 tahun lalu
induk
melakukan
8b537de19e
2 mengubah file dengan 49 tambahan dan 14 penghapusan
  1. 7 1
      changelog.md
  2. 42 13
      readme.md

+ 7 - 1
changelog.md

@@ -1,3 +1,4 @@
+* [RmlUi 4.2](#rmlui-42)
 * [RmlUi 4.1](#rmlui-41)
 * [RmlUi 4.0](#rmlui-40)
 * [RmlUi 3.3](#rmlui-33)
@@ -6,7 +7,7 @@
 * [RmlUi 3.0](#rmlui-30)
 * [RmlUi 2.0](#rmlui-20)
 
-## RmlUi 4.2 (WIP)
+## RmlUi 4.2
 
 ### Improvements
 
@@ -14,12 +15,15 @@
 - Improve color blending and animations. [#203](https://github.com/mikke89/RmlUi/pull/203) [#208](https://github.com/mikke89/RmlUi/pull/208) (thanks @jac8888)
 - Improve error messages on missing font face.
 - Export `Rml::Assert()` in release mode. [#209](https://github.com/mikke89/RmlUi/pull/209) (thanks @kinbei)
+- Add `.clang-format`. [#223](https://github.com/mikke89/RmlUi/issues/223)
 
 ### Elements
 
 - Fix a crash in some situations where the `input.range` element could result in infinite recursion. [#202](https://github.com/mikke89/RmlUi/issues/202)
 - The `input.text` element will no longer copy to clipboard when the selection is empty.
+- Checkboxes (`input.checkbox`) no longer require a `value` attribute to properly function. [#214](https://github.com/mikke89/RmlUi/pull/214) (thanks @ZombieRaccoon)
 - Fix `handle` element resizing incorrectly when the size target has `box-sizing: border-box`. [#215](https://github.com/mikke89/RmlUi/pull/215) (thanks @nimble0)
+- Improve warnings when using unsupported positioning and floating modes on tables. [#221](https://github.com/mikke89/RmlUi/issues/221)
 
 ### Samples
 
@@ -32,10 +36,12 @@
 - Fix an issue in data bindings where text expressions initialized with an empty string would not be evaluated correctly. [#213](https://github.com/mikke89/RmlUi/issues/213)
 - Fix an issue in the FreeType font engine where `.woff` files would cause a crash on shutdown. [#217](https://github.com/mikke89/RmlUi/issues/217)
 - Fix inline styles not always being applied on a cloned element. [#218](https://github.com/mikke89/RmlUi/issues/218)
+- Fix render interface destructor calling virtual functions in some circumstances. [#222](https://github.com/mikke89/RmlUi/issues/222)
 
 ### Breaking changes
 
 - Removed built-in conversion functions between UTF-8 and UTF-16 character encodings.
+- Slightly modified the lifetime requirements for the render interface for special use cases, see [requirements here](https://github.com/mikke89/RmlUi/blob/aa070e7292302f9e61f3b0b3f60e13aded0561d6/Include/RmlUi/Core/Core.h#L99-L100). Will warn in debug mode on wrong use. [#222](https://github.com/mikke89/RmlUi/issues/222)
 
 
 

+ 42 - 13
readme.md

@@ -33,7 +33,7 @@ Documentation is located at https://mikke89.github.io/RmlUiDoc/
 - Abstracted interfaces for plugging in to any game engine.
 - Decorator engine allowing custom application-specific effects that can be applied to any element.
 - Generic event system that binds seamlessly into existing projects.
-- Easily integrated and extensible with Lua scripting.
+- Easily integrated and extensible with the Lua scripting plugin.
 
 ## Controllable
 
@@ -44,25 +44,54 @@ Documentation is located at https://mikke89.github.io/RmlUiDoc/
 - File handling and the font engine can optionally be fully replaced by the user.
 
 
+## Dependencies
+
+- [FreeType](https://www.freetype.org/). However, it can be fully replaced by a custom [font engine](Include/RmlUi/Core/FontEngineInterface.h).
+- The standard library.
+
+In addition, a C++14 compatible compiler is required.
+
+
+## Building RmlUi
+
+RmlUi is built using CMake and your favorite compiler, see the [building documentation](https://mikke89.github.io/RmlUiDoc/pages/cpp_manual/building_with_cmake.html) for all the details and options. Windows binaries are also available for the [latest release](https://github.com/mikke89/RmlUi/releases/latest). Most conveniently, it is possible to fetch the library using a dependency manager such as [vcpkg](https://vcpkg.io/en/getting-started.html) or [Conan](https://conan.io/).
+
+#### vcpkg
+
+```
+vcpkg install rmlui
+```
+
+That's it! See below for details on integrating RmlUi.
+
+To build RmlUi with the included samples we can use git and CMake together with vcpkg to handle the dependency.
+
+```
+vcpkg install freetype
+git clone https://github.com/mikke89/RmlUi.git
+cd RmlUi
+cmake -B Build -S . -DBUILD_SAMPLES=ON -DCMAKE_TOOLCHAIN_FILE="<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake"
+cmake --build Build
+```
+Make sure to replace the path to vcpkg.
+
+#### Conan
+
+RmlUi is readily available from [ConanCenter](https://conan.io/center/rmlui).
+
+
 ## Integrating RmlUi
 
 Here are the general steps to integrate the library into a C++ application, have a look at the [documentation](https://mikke89.github.io/RmlUiDoc/) for details.
 
-1. Build RmlUi using CMake and your favorite compiler, fetch the Windows library binaries, or consume [the library using Conan](https://conan.io/center/rmlui).
-2. Link it up to your application.
-3. Implement the abstract [system interface](Include/RmlUi/Core/SystemInterface.h) and [render interface](Include/RmlUi/Core/RenderInterface.h).
-4. Initialize RmlUi with the interfaces, create a context, provide font files, and load a document.
-5. Call into the context's update and render methods in a loop, and submit input events.
-6. Compile and run!
+1. Build RmlUi as above or fetch the binaries, and [link it up](https://mikke89.github.io/RmlUiDoc/pages/cpp_manual/integrating.html) to your application.
+2. Implement the abstract [system interface](Include/RmlUi/Core/SystemInterface.h) and [render interface](Include/RmlUi/Core/RenderInterface.h).
+3. Initialize RmlUi with the interfaces, create a context, provide font files, and load a document.
+4. Call into the context's update and render methods in a loop, and submit input events.
+5. Compile and run!
 
 Several [samples](Samples/) demonstrate everything from basic integration to more complex use of the library, feel free to have a look for inspiration.
 
-## Dependencies
-
-- [FreeType](https://www.freetype.org/). However, it can be fully replaced by a custom [font engine](Include/RmlUi/Core/FontEngineInterface.h).
-- The standard library.
-
-In addition, a C++14 compatible compiler is required.
 
 ## Conformance