From 857f279c06913b8902f9effd58fb75611cd8a9fe Mon Sep 17 00:00:00 2001 From: Richard Denton Date: Sun, 11 Sep 2022 23:37:24 +1000 Subject: [PATCH 1/5] enhance: add .clang-format, make format command --- .clang-format | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 5 ++ 2 files changed, 197 insertions(+) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..fb0a7a8 --- /dev/null +++ b/.clang-format @@ -0,0 +1,192 @@ +--- +Language: Cpp +# BasedOnStyle: Microsoft +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignArrayOfStructures: None +AlignConsecutiveMacros: None +AlignConsecutiveAssignments: None +AlignConsecutiveBitFields: None +AlignConsecutiveDeclarations: None +AlignEscapedNewlines: Right +AlignOperands: Align +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortEnumsOnASingleLine: false +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Never +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: MultiLine +AttributeMacros: + - __capability +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterCaseLabel: false + AfterClass: true + AfterControlStatement: Never + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: true + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + BeforeLambdaBody: false + BeforeWhile: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeConceptDeclarations: true +BreakBeforeBraces: Custom +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +QualifierAlignment: Leave +CompactNamespaces: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: true +DerivePointerAlignment: false +DisableFormat: false +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: LogicalBlock +ExperimentalAutoDetectBinPacking: false +PackConstructorInitializers: BinPack +BasedOnStyle: '' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +AllowAllConstructorInitializersOnNextLine: true +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IfMacros: + - KJ_IF_MAYBE +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + SortPriority: 0 + CaseSensitive: false + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + SortPriority: 0 + CaseSensitive: false + - Regex: '.*' + Priority: 1 + SortPriority: 0 + CaseSensitive: false +IncludeIsMainRegex: '(Test)?$' +IncludeIsMainSourceRegex: '' +IndentAccessModifiers: false +IndentCaseLabels: false +IndentCaseBlocks: false +IndentGotoLabels: true +IndentPPDirectives: None +IndentExternBlock: AfterExternBlock +IndentRequires: false +IndentWidth: 4 +IndentWrappedFunctionNames: false +InsertTrailingCommas: None +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +LambdaBodyIndentation: Signature +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 4 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakOpenParenthesis: 0 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 1000 +PenaltyIndentedWhitespace: 0 +PointerAlignment: Right +PPIndentWidth: -1 +ReferenceAlignment: Pointer +ReflowComments: true +RemoveBracesLLVM: false +SeparateDefinitionBlocks: Leave +ShortNamespaceLines: 1 +SortIncludes: CaseSensitive +SortJavaStaticImport: Before +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeParensOptions: + AfterControlStatements: true + AfterForeachMacros: true + AfterFunctionDefinitionName: false + AfterFunctionDeclarationName: false + AfterIfMacros: true + AfterOverloadedOperator: false + BeforeNonEmptyParentheses: false +SpaceAroundPointerQualifiers: Default +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: Never +SpacesInConditionalStatement: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInLineCommentPrefix: + Minimum: 1 + Maximum: -1 +SpacesInParentheses: false +SpacesInSquareBrackets: false +SpaceBeforeSquareBrackets: false +BitFieldColonSpacing: Both +Standard: Latest +StatementAttributeLikeMacros: + - Q_EMIT +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 4 +UseCRLF: false +UseTab: Never +WhitespaceSensitiveMacros: + - STRINGIZE + - PP_STRINGIZE + - BOOST_PP_STRINGIZE + - NS_SWIFT_NAME + - CF_SWIFT_NAME +... + diff --git a/Makefile b/Makefile index c66b786..03ac2c1 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ INCDIRS = -Iinclude CXX = skm g++ $(INCDIRS) src = $(wildcard src/*.cpp) +headers = $(wildcard include/*.h) obj = $(src:.cpp=.o) LDFLAGS = -std=c++14 @@ -21,3 +22,7 @@ ArcadeMachine: $(obj) clean: rm $(obj) + +format: + clang-format -i $(src) + clang-format -i $(headers) From 967f94f79e7cadff3e279cb35c5fcdcfc9a169ae Mon Sep 17 00:00:00 2001 From: Richard Denton Date: Sun, 11 Sep 2022 23:39:45 +1000 Subject: [PATCH 2/5] fix: access modifier offset --- .clang-format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.clang-format b/.clang-format index fb0a7a8..2c7cfd6 100644 --- a/.clang-format +++ b/.clang-format @@ -1,7 +1,7 @@ --- Language: Cpp # BasedOnStyle: Microsoft -AccessModifierOffset: -2 +AccessModifierOffset: -4 AlignAfterOpenBracket: Align AlignArrayOfStructures: None AlignConsecutiveMacros: None From 67cc30e66420d47fb34dce321dc081e16a374bb6 Mon Sep 17 00:00:00 2001 From: Richard Denton Date: Sun, 11 Sep 2022 23:44:15 +1000 Subject: [PATCH 3/5] fix: set new line braces for classes, functions --- .clang-format | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.clang-format b/.clang-format index 2c7cfd6..a64079b 100644 --- a/.clang-format +++ b/.clang-format @@ -33,8 +33,8 @@ BraceWrapping: AfterClass: true AfterControlStatement: Never AfterEnum: false - AfterFunction: false - AfterNamespace: false + AfterFunction: true + AfterNamespace: true AfterObjCDeclaration: true AfterStruct: false AfterUnion: false From 380782fcb830f52a15fc8344814bdc06cd6376cf Mon Sep 17 00:00:00 2001 From: Richard Denton Date: Sun, 11 Sep 2022 23:45:03 +1000 Subject: [PATCH 4/5] refactor: tidy up all source code courtesy of clang-format --- include/ArcadeMachine.h | 39 +- include/Audio.h | 109 ++--- include/Button.h | 88 ++-- include/ButtonNode.h | 18 +- include/Cell.h | 3 +- include/ConfigData.h | 104 +++-- include/Database.h | 752 +++++++++++++++++----------------- include/GameData.h | 531 ++++++++++++------------ include/GameScreenButton.h | 13 +- include/GridLayout.h | 19 +- include/Helper.h | 300 +++++++------- include/Menu.h | 49 ++- include/MenuButton.h | 21 +- include/Option.h | 19 +- include/OptionsScreenButton.h | 13 +- include/Rating.h | 36 +- include/Selector.h | 50 ++- include/Splashscreen.h | 12 +- include/Table.h | 99 +++-- include/Tip.h | 31 +- src/ArcadeMachine.cpp | 151 ++++--- src/Button.cpp | 185 +++++---- src/ConfigData.cpp | 187 ++++----- src/GameScreenButton.cpp | 18 +- src/GridLayout.cpp | 288 ++++++------- src/Menu.cpp | 271 ++++++------ src/MenuButton.cpp | 33 +- src/Option.cpp | 193 +++++---- src/OptionsScreenButton.cpp | 26 +- src/Selector.cpp | 104 ++--- src/Splashscreen.cpp | 4 +- src/Tip.cpp | 86 ++-- src/program.cpp | 13 +- 33 files changed, 1957 insertions(+), 1908 deletions(-) diff --git a/include/ArcadeMachine.h b/include/ArcadeMachine.h index 10db18c..764634b 100644 --- a/include/ArcadeMachine.h +++ b/include/ArcadeMachine.h @@ -12,29 +12,29 @@ #define ARCADE_MACHINE_RES_Y 1080 * ARCADE_MACHINE_SCALING_FACTOR // Arcade Machine Class +#include "Audio.h" #include "Button.h" -#include "MenuButton.h" -#include "GameScreenButton.h" #include "ButtonNode.h" +#include "Cell.h" #include "ConfigData.h" +#include "GameScreenButton.h" #include "GridLayout.h" -#include "Cell.h" #include "Helper.h" #include "Menu.h" +#include "MenuButton.h" #include "Option.h" -#include "Audio.h" -#include "Splashscreen.h" #include "Selector.h" +#include "Splashscreen.h" #include "splashkit.h" +#include #include #include -#include // Define number of rows and columns in grid #define ROWS 7 #define COLS 15 -/* +/* This class handles the creation of the Arcade Machine itself */ @@ -51,10 +51,10 @@ class ArcadeMachine std::vector m_configs; /// Vector of MenuButtons - std::vector m_menuBtns; + std::vector