6 Commits

Author SHA1 Message Date
e331f03185 update readme.md
All checks were successful
Build ptprnt / build (push) Successful in 58s
2023-09-25 20:05:39 +02:00
ca82512d5b Update dependency install instructions (#2)
All checks were successful
Build ptprnt / build (push) Successful in 1m0s
Reviewed-on: moritz/ptouch-prnt#2
2023-09-25 17:55:11 +00:00
1df62874e9 Attempt to setup gitea build action (#1)
All checks were successful
Build ptprnt / build (push) Successful in 1m3s
Reviewed-on: moritz/ptouch-prnt#1
2023-09-25 17:41:38 +00:00
ccea502734 Explicitly set copy & move constructors to default for Printer 2023-09-25 18:27:02 +02:00
68283a6295 Add Clang-Tidy file 2023-09-24 18:41:33 +02:00
91c12e0ab9 Some cleanup in Bitmap.cpp 2023-09-24 18:20:34 +02:00
6 changed files with 77 additions and 7 deletions

35
.clang-tidy Normal file
View File

@@ -0,0 +1,35 @@
---
Checks: "clang-diagnostic-*,clang-analyzer-*,cppcoreguidelines-*,modernize-*,-modernize-use-trailing-return-type"
WarningsAsErrors: true
HeaderFilterRegex: ""
AnalyzeTemporaryDtors: false
FormatStyle: google
CheckOptions:
- key: cert-dcl16-c.NewSuffixes
value: "L;LL;LU;LLU"
- key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
value: "0"
- key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
value: "1"
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
value: "1"
- key: google-readability-braces-around-statements.ShortStatementLines
value: "1"
- key: google-readability-function-size.StatementThreshold
value: "800"
- key: google-readability-namespace-comments.ShortNamespaceLines
value: "10"
- key: google-readability-namespace-comments.SpacesBeforeComments
value: "2"
- key: modernize-loop-convert.MaxCopySize
value: "16"
- key: modernize-loop-convert.MinConfidence
value: reasonable
- key: modernize-loop-convert.NamingStyle
value: CamelCase
- key: modernize-pass-by-value.IncludeStyle
value: llvm
- key: modernize-replace-auto-ptr.IncludeStyle
value: llvm
- key: modernize-use-nullptr.NullMacros
value: "NULL"

View File

@@ -0,0 +1,27 @@
name: Build ptprnt
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Starting action...
run: echo "Branch ${{ gitea.ref }} will be built for project ${{ gitea.repository }}."
- name: Checkout branch
uses: actions/checkout@v3
- name: Update package cache
run: apt-get update
- name: install meson
run: apt-get -yq install meson
- name: Install build dependencies
run: apt-get -yq install libusb-1.0-0-dev libspdlog-dev libpango1.0-dev libcairo2-dev gcovr
- name: setup builddir
run: meson setup builddir -Db_coverage=true
- name: build all targets
run: ninja -C builddir
- name: run unit tests
run: ninja -C builddir test
- name: calculate coverage
run: ninja -C builddir coverage-text
- name: Coverage report
run: cat ./builddir/meson-logs/coverage.txt

View File

@@ -12,6 +12,16 @@ This project requires:
- gtest (optional, for testing, will be installed by meson)
- gcov (optional, for coverage reports)
Install dependencies on Arch Linux
``` bash
pacman -S libusb spdlog pango cairo meson gcovr
```
Install dependencies on Debian/Ubuntu
``` bash
apt-get install libusb-1.0-0-dev libspdlog-dev libpango1.0-dev libcairo2-dev meson gcovr
```
## Build
Clone the repository and simply let meson do the heavy lifting.

View File

@@ -41,8 +41,6 @@
namespace ptprnt::printer {
P700Printer::P700Printer() {}
P700Printer::~P700Printer() {
detachUsbDevice();
if (mUsbHndl) {

View File

@@ -33,12 +33,14 @@ namespace ptprnt::printer {
class P700Printer : public ::ptprnt::IPrinterDriver {
public:
P700Printer();
P700Printer() = default;
~P700Printer();
// delete copy ctor and assignment
P700Printer(const P700Printer&) = delete;
P700Printer& operator=(P700Printer&) = delete;
P700Printer(const P700Printer&) = default;
P700Printer& operator=(const P700Printer&) = default;
P700Printer(P700Printer&&) = default;
P700Printer& operator=(P700Printer&&) = default;
// IPrinterDriver
const std::string_view getDriverName() override;

View File

@@ -76,8 +76,6 @@ std::optional<std::vector<T>> Bitmap<T>::getCol(uint16_t col) {
auto it = std::next(mPixels.begin(), col);
for (auto& colElement : colPixels) {
int offset = std::distance(mPixels.begin(), it);
//spdlog::debug("Distance {}: {}", offset, *it);
colElement = *it;
std::advance(it, mWidth);
}