R8 phase 1: extract app/engine shared utilities into shared/include/oakutil

Move the pure-header utilities shared by app/ and engine/ out of
engine/common/ into a new shared/include/oakutil/ layer (define, lerp,
decibel, digit, range, crashpadutils, autoscroll, qtutils, filefunctions
declarations, and a trimmed xmlutils exposing a CancelAtom-free void*
overload). engine/common/ keeps forwarding headers so internal include
paths are unchanged; app/ now includes oakutil/* directly.

engine/node/project.h gains an explicit NodeGroup forward declaration
previously obtained transitively through the old xmlutils.h.
This commit is contained in:
2026-07-27 17:14:56 +08:00
parent 17888a2dc1
commit c0dcd33de0
118 changed files with 898 additions and 726 deletions
+1 -1
View File
@@ -23,7 +23,7 @@
// (common/filefunctions.h) which is on the public include path; these
// definitions resolve the symbols locally in the app binary.
#include "common/filefunctions.h"
#include "oakutil/filefunctions.h"
#include <QCoreApplication>
#include <QDir>
+2 -2
View File
@@ -29,12 +29,12 @@
#include <QXmlStreamReader>
#include <QXmlStreamWriter>
#include "common/xmlutils.h"
#include "oakutil/xmlutils.h"
#include <QDebug>
#include <QTextBlock>
#include "common/xmlutils.h"
#include "oakutil/xmlutils.h"
namespace olive
{
+1 -1
View File
@@ -18,7 +18,7 @@
***/
#include "common/qtutils.h"
#include "oakutil/qtutils.h"
namespace olive
{
+3 -3
View File
@@ -21,19 +21,19 @@
// App-side implementation of xml_read_next_start_element
// Provides a local definition so the app doesn't import this from liboakengine.
#include "common/xmlutils.h"
#include "oakutil/xmlutils.h"
namespace olive
{
bool xml_read_next_start_element(QXmlStreamReader *reader,
CancelAtom *cancel_atom)
void *cancel_atom)
{
QXmlStreamReader::TokenType token;
while ((token = reader->readNext()) != QXmlStreamReader::Invalid &&
token != QXmlStreamReader::EndDocument &&
(!cancel_atom || !cancel_atom->is_cancelled())) {
(!cancel_atom)) {
if (reader->isEndElement()) {
return false;
} else if (reader->isStartElement()) {