Compare commits

14 Commits

Author SHA1 Message Date
d77e76fc95 Add logos to some badges
All checks were successful
on-push / build-and-test (push) Successful in 26s
publisb-docs-nightly / build-and-publish (push) Successful in 21s
2025-12-01 09:48:17 +01:00
e79bdd5eb6 Add Discord badge and invite link
All checks were successful
on-push / build-and-test (push) Successful in 27s
2025-12-01 08:09:18 +01:00
f58cf461b7 Change feature-request e-mail address
All checks were successful
on-push / build-and-test (push) Successful in 25s
2025-12-01 06:24:12 +01:00
d62c370039 Add yet another badge to README
All checks were successful
on-push / build-and-test (push) Successful in 25s
2025-12-01 06:22:45 +01:00
7f73ddb033 Change http:// to https:// in LICENSE
All checks were successful
on-push / build-and-test (push) Successful in 26s
publisb-docs-nightly / build-and-publish (push) Successful in 20s
2025-12-01 05:49:17 +01:00
46a34911f0 Rename RGB to Color_RGB
All checks were successful
on-push / build-and-test (push) Successful in 26s
2025-12-01 05:48:03 +01:00
6cfb014a4d Add docs badge to README
All checks were successful
on-push / build-and-test (push) Successful in 26s
2025-12-01 05:40:34 +01:00
0cbd10cff3 Add dev docs link to README
All checks were successful
on-push / build-and-test (push) Successful in 25s
2025-12-01 05:34:21 +01:00
4dbe3da558 Add nightly workflow to publish dev docs
All checks were successful
on-push / build-and-test (push) Successful in 25s
2025-12-01 05:29:24 +01:00
e9d0447205 Only run on-push on push to master repository
All checks were successful
on-push / build-and-test (push) Successful in 26s
2025-12-01 05:24:56 +01:00
4230bb6753 Add more badges to README
All checks were successful
on-push / build-and-test (push) Successful in 28s
2025-12-01 04:01:19 +01:00
3d7cc2290c Add build badge to README
All checks were successful
on-push / build-and-test (push) Successful in 25s
2025-12-01 03:34:58 +01:00
54b9cfe2c7 Fix typo
All checks were successful
on-push / build-and-test (push) Successful in 27s
2025-12-01 03:24:38 +01:00
1954b53170 Bump version to 0.1.0-a.1.z
All checks were successful
on-push / build-and-test (push) Successful in 25s
2025-12-01 01:16:40 +01:00
11 changed files with 106 additions and 40 deletions

View File

@@ -9,6 +9,7 @@ on:
jobs: jobs:
build-and-test: build-and-test:
if: github.repository == 'art/libart-paperback'
runs-on: linux runs-on: linux
container: code.helloryan.se/art/infra/buildenv/x86_64-fedora_42-unified:latest container: code.helloryan.se/art/infra/buildenv/x86_64-fedora_42-unified:latest
volumes: volumes:

View File

@@ -0,0 +1,43 @@
name: publisb-docs-nightly
on:
schedule:
- cron: '0 5 * * *'
jobs:
build-and-publish:
if: github.repository == 'art/libart-paperback'
runs-on: linux
container: code.helloryan.se/art/infra/buildenv/x86_64-fedora_42-unified:latest
volumes:
- /source
- /build
steps:
- name: Create directories
run: |
mkdir -p /source /build
- name: Configure repository access
run: |
git config --global http.$GITHUB_SERVER_URL/.extraheader "Authorization: token ${{ secrets.ACT_RUNNER_TOKEN }}"
- name: Configure build directory
run: |
bpkg create -d /build cc config.cxx=clang++ config.cc.coptions="-Wall -Werror -Wno-unknown-pragmas -Wno-overloaded-virtual"
- name: Clone source package
run: |
cd /source
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git .
git checkout $GITHUB_SHA
- name: Initialize package
run: |
bdep init -A /build -d /source
- name: Build documentation
run: |
cd /source
b alias{docs-private}
- name: Configure MinIO CLI
run: |
mc alias set garage https://buckets.helloryan.se/ ${{ secrets.DOCS_BUCKET_ACCESS_KEY }} ${{ secrets.DOCS_BUCKET_SECRET_KEY }}
- name: Publish documentation
run: |
cd /build/libart-paperback/docs/html
mc cp -r * garage/docs.helloryan.se/libart-paperback/

View File

@@ -13,7 +13,7 @@ modification, are permitted provided that the following conditions are met:
3. All advertising materials mentioning features or use of this software must 3. All advertising materials mentioning features or use of this software must
display the following acknowledgement: display the following acknowledgement:
This product includes software developed by Ryan, http://helloryan.se/. This product includes software developed by Ryan, https://helloryan.se/.
4. Neither the name(s) of the copyright holder(s) nor the names of its 4. Neither the name(s) of the copyright holder(s) nor the names of its
contributors may be used to endorse or promote products derived from this contributors may be used to endorse or promote products derived from this

View File

@@ -1,12 +1,22 @@
\page readme README \page readme README
[![Build Status][build-badge]](https://code.helloryan.se/art/libart-paperback/actions)
[![Documentation][docs-badge]](https://docs.helloryan.se/libart-paperback/)
[![License][license-badge]](https://code.helloryan.se/art/libart-paperback/src/branch/master/LICENSE)
[![Sponsor][sponsor-badge]](https://patreon.com/helloryan)
[![Language][language-badge]](https://en.wikipedia.org/wiki/C++)
[![Build System][build2-badge]](https://build2.org/)
[![Made with Love][made-with-love-badge]](https://helloryan.se/)
[![Discord][discord-badge]](https://discord.gg/dCFMwrbNSP)
# libart-paperback # libart-paperback
libart-paperback is a PDF library for C++. libart-paperback is a PDF library for C++.
## Feature Requests ## Feature Requests
Feature requests can be sent to ryan@helloryan.se. Feature requests can be sent to art@helloryan.se or you can join the
Art Discord and have a chat: https://discord.gg/dCFMwrbNSP.
## Build System ## Build System
@@ -44,6 +54,18 @@ private class members.
Developer documentation will be written to the same directory as the Developer documentation will be written to the same directory as the
public documentation, i.e. `$out_root$/docs`. public documentation, i.e. `$out_root$/docs`.
Developer documentation is built nightly from `master` and can be found
at: https://docs.helloryan.se/libart-paperback/.
## GitHub Pull Requests ## GitHub Pull Requests
Pull requests on GitHub will definitely be ignored. Pull requests on GitHub will definitely be ignored.
[build-badge]: https://code.helloryan.se/art/libart-paperback/actions/workflows/on-push.yaml/badge.svg
[docs-badge]: https://code.helloryan.se/art/libart-paperback/actions/workflows/publish-docs-nightly.yaml/badge.svg
[license-badge]: https://img.shields.io/badge/License-BSD_4--Clause-orange
[sponsor-badge]: https://img.shields.io/badge/Sponsor-Patreon-green?logo=patreon&logoColor=white
[language-badge]: https://img.shields.io/badge/Language-C++-blue?logo=cplusplus&logoColor=white
[build2-badge]: https://img.shields.io/badge/Powered_by-build2-red
[made-with-love-badge]: https://img.shields.io/badge/Made_with_%E2%9D%A4%EF%B8%8F_by-RYAN-red
[discord-badge]: https://img.shields.io/discord/1444936129718522024?logo=discord&logoColor=white&label=Discord&color=blue

View File

@@ -17,7 +17,7 @@ namespace Art::Paperback::Carousel
/// ///
using iterator = typename deque<Object>::iterator; using iterator = typename deque<Object>::iterator;
/// Immutbale iterator type. /// Immutable iterator type.
/// ///
using const_iterator = typename deque<Object>::const_iterator; using const_iterator = typename deque<Object>::const_iterator;

View File

@@ -192,7 +192,7 @@ namespace Art::Paperback::Graphics
/// ///
void void
Canvas:: Canvas::
set_stroke(RGB const& color) set_stroke(Color_RGB const& color)
{ {
internal->write(color.red()); internal->write(color.red());
internal->write(' '); internal->write(' ');
@@ -210,7 +210,7 @@ namespace Art::Paperback::Graphics
/// ///
void void
Canvas:: Canvas::
set_fill(RGB const& color) set_fill(Color_RGB const& color)
{ {
internal->write(color.red()); internal->write(color.red());
internal->write(' '); internal->write(' ');

View File

@@ -64,12 +64,12 @@ namespace Art::Paperback::Graphics
/// Set stroke RGB color. /// Set stroke RGB color.
/// ///
void void
set_stroke(RGB const&); set_stroke(Color_RGB const&);
/// Set fill RGB color. /// Set fill RGB color.
/// ///
void void
set_fill(RGB const&); set_fill(Color_RGB const&);
class Path; class Path;
friend Path; friend Path;

View File

@@ -3,33 +3,33 @@
namespace Art::Paperback::Graphics namespace Art::Paperback::Graphics
{ {
RGB:: Color_RGB::
RGB() Color_RGB()
{} {}
/// \param red The red component. /// \param red The red component.
/// \param green The green component. /// \param green The green component.
/// \param blue The blue component. /// \param blue The blue component.
RGB:: Color_RGB::
RGB(double red, double green, double blue) Color_RGB(double red, double green, double blue)
: _red{red}, : _red{red},
_green{green}, _green{green},
_blue{blue} _blue{blue}
{} {}
/// \param other The RGB to copy from. /// \param other The Color_RGB to copy from.
/// ///
RGB:: Color_RGB::
RGB(RGB const& other) Color_RGB(Color_RGB const& other)
: _red{other._red}, : _red{other._red},
_green{other._green}, _green{other._green},
_blue{other._blue} _blue{other._blue}
{} {}
/// \param other The RGB to move from. /// \param other The Color_RGB to move from.
/// ///
RGB:: Color_RGB::
RGB(RGB&& other) Color_RGB(Color_RGB&& other)
: _red{other._red}, : _red{other._red},
_green{other._green}, _green{other._green},
_blue{other._blue} _blue{other._blue}
@@ -38,7 +38,7 @@ namespace Art::Paperback::Graphics
/// \return Returns the red component. /// \return Returns the red component.
/// ///
double double
RGB:: Color_RGB::
red() const red() const
{ {
return _red; return _red;
@@ -47,7 +47,7 @@ namespace Art::Paperback::Graphics
/// \return Returns the green component. /// \return Returns the green component.
/// ///
double double
RGB:: Color_RGB::
green() const green() const
{ {
return _green; return _green;
@@ -56,17 +56,17 @@ namespace Art::Paperback::Graphics
/// \return Returns the blue component. /// \return Returns the blue component.
/// ///
double double
RGB:: Color_RGB::
blue() const blue() const
{ {
return _blue; return _blue;
} }
/// \param other The RGB to copy from. /// \param other The Color_RGB to copy from.
/// ///
RGB& Color_RGB&
RGB:: Color_RGB::
operator=(RGB const& other) operator=(Color_RGB const& other)
{ {
_red = other._red; _red = other._red;
_green = other._green; _green = other._green;
@@ -75,11 +75,11 @@ namespace Art::Paperback::Graphics
return *this; return *this;
} }
/// \param other The RGB to move from. /// \param other The Color_RGB to move from.
/// ///
RGB& Color_RGB&
RGB:: Color_RGB::
operator=(RGB&& other) operator=(Color_RGB&& other)
{ {
_red = other._red; _red = other._red;
_green = other._green; _green = other._green;

View File

@@ -22,24 +22,24 @@ namespace Art::Paperback::Graphics
/// Represents an RGB color value. /// Represents an RGB color value.
/// ///
class RGB class Color_RGB
{ {
public: public:
/// Constructor. /// Constructor.
/// ///
RGB(); Color_RGB();
/// Constructor. /// Constructor.
/// ///
RGB(RGB const&); Color_RGB(Color_RGB const&);
/// Constructor. /// Constructor.
/// ///
RGB(RGB&&); Color_RGB(Color_RGB&&);
/// Constructor. /// Constructor.
/// ///
RGB(double, double, double); Color_RGB(double, double, double);
/// Access red component. /// Access red component.
/// ///
@@ -58,13 +58,13 @@ namespace Art::Paperback::Graphics
/// Assignment. /// Assignment.
/// ///
RGB& Color_RGB&
operator=(RGB const&); operator=(Color_RGB const&);
/// Assignment. /// Assignment.
/// ///
RGB& Color_RGB&
operator=(RGB&&); operator=(Color_RGB&&);
private: private:
double _red{}; double _red{};

View File

@@ -59,8 +59,8 @@ namespace Art::Paperback::Internals
Graphics::Color_space cs_stroke{Graphics::Color_space::device_grey}; Graphics::Color_space cs_stroke{Graphics::Color_space::device_grey};
Graphics::Color_space cs_fill{Graphics::Color_space::device_grey}; Graphics::Color_space cs_fill{Graphics::Color_space::device_grey};
Graphics::RGB rgb_stroke; Graphics::Color_RGB rgb_stroke;
Graphics::RGB rgb_fill; Graphics::Color_RGB rgb_fill;
double grey_stroke{}; double grey_stroke{};
double grey_fill{}; double grey_fill{};

View File

@@ -1,6 +1,6 @@
: 1 : 1
name: libart-paperback name: libart-paperback
version: 0.1.0-a.0 version: 0.1.0-a.1.z
language: c++ language: c++
summary: libart-paperback PDF library for C++ summary: libart-paperback PDF library for C++
license: BSD-4-Clause license: BSD-4-Clause