aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/cpp/include/pugl
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/cpp/include/pugl')
-rw-r--r--bindings/cpp/include/pugl/cairo.hpp4
-rw-r--r--bindings/cpp/include/pugl/gl.hpp6
-rw-r--r--bindings/cpp/include/pugl/pugl.hpp63
-rw-r--r--bindings/cpp/include/pugl/stub.hpp4
-rw-r--r--bindings/cpp/include/pugl/vulkan.hpp6
5 files changed, 57 insertions, 26 deletions
diff --git a/bindings/cpp/include/pugl/cairo.hpp b/bindings/cpp/include/pugl/cairo.hpp
index e619412..4a51f96 100644
--- a/bindings/cpp/include/pugl/cairo.hpp
+++ b/bindings/cpp/include/pugl/cairo.hpp
@@ -4,8 +4,8 @@
#ifndef PUGL_CAIRO_HPP
#define PUGL_CAIRO_HPP
-#include "pugl/cairo.h"
-#include "pugl/pugl.h"
+#include <pugl/cairo.h>
+#include <pugl/pugl.h>
namespace pugl {
diff --git a/bindings/cpp/include/pugl/gl.hpp b/bindings/cpp/include/pugl/gl.hpp
index 7c361e6..5aa5ca5 100644
--- a/bindings/cpp/include/pugl/gl.hpp
+++ b/bindings/cpp/include/pugl/gl.hpp
@@ -4,9 +4,9 @@
#ifndef PUGL_GL_HPP
#define PUGL_GL_HPP
-#include "pugl/gl.h"
-#include "pugl/pugl.h"
-#include "pugl/pugl.hpp"
+#include <pugl/gl.h>
+#include <pugl/pugl.h>
+#include <pugl/pugl.hpp>
namespace pugl {
diff --git a/bindings/cpp/include/pugl/pugl.hpp b/bindings/cpp/include/pugl/pugl.hpp
index a4ee273..eba2583 100644
--- a/bindings/cpp/include/pugl/pugl.hpp
+++ b/bindings/cpp/include/pugl/pugl.hpp
@@ -4,10 +4,10 @@
#ifndef PUGL_PUGL_HPP
#define PUGL_PUGL_HPP
-#include "pugl/pugl.h"
+#include <pugl/pugl.h>
-#include <cstddef> // IWYU pragma: keep
-#include <cstdint> // IWYU pragma: keep
+#include <cstddef>
+#include <cstdint>
#if defined(PUGL_HPP_THROW_FAILED_CONSTRUCTION)
# include <exception>
@@ -66,8 +66,17 @@ private:
} // namespace detail
-/// @copydoc PuglRect
-using Rect = PuglRect;
+/// @copydoc PuglCoord
+using Coord = PuglCoord;
+
+/// @copydoc PuglSpan
+using Span = PuglSpan;
+
+/// @copydoc PuglPoint
+using Point = PuglPoint;
+
+/// @copydoc PuglArea
+using Area = PuglArea;
/// @copydoc PuglStringHint
enum class StringHint {
@@ -227,6 +236,7 @@ enum class Status {
setFormatFailed, ///< @copydoc PUGL_SET_FORMAT_FAILED
createContextFailed, ///< @copydoc PUGL_CREATE_CONTEXT_FAILED
unsupported, ///< @copydoc PUGL_UNSUPPORTED
+ noMemory, ///< @copydoc PUGL_NO_MEMORY
};
static_assert(static_cast<Status>(PUGL_UNSUPPORTED) == Status::unsupported, "");
@@ -370,11 +380,19 @@ using Backend = PuglBackend;
/// @copydoc PuglNativeView
using NativeView = PuglNativeView;
+/// @copydoc PuglPositionHint
+enum class PositionHint {
+ defaultPosition, ///< @copydoc PUGL_DEFAULT_POSITION
+ currentPosition, ///< @copydoc PUGL_CURRENT_POSITION
+};
+
/// @copydoc PuglSizeHint
enum class SizeHint {
defaultSize, ///< @copydoc PUGL_DEFAULT_SIZE
+ currentSize, ///< @copydoc PUGL_CURRENT_SIZE
minSize, ///< @copydoc PUGL_MIN_SIZE
maxSize, ///< @copydoc PUGL_MAX_SIZE
+ fixedAspect, ///< @copydoc PUGL_FIXED_ASPECT
minAspect, ///< @copydoc PUGL_MIN_ASPECT
maxAspect, ///< @copydoc PUGL_MAX_ASPECT
};
@@ -535,13 +553,23 @@ public:
@{
*/
- /// @copydoc puglGetFrame
- Rect frame() const noexcept { return puglGetFrame(cobj()); }
+ /// @copydoc puglGetPositionHint
+ Point position(PositionHint hint) const noexcept
+ {
+ return puglGetPositionHint(cobj(), static_cast<PuglPositionHint>(hint));
+ }
+
+ /// @copydoc puglGetSizeHint
+ Area size(SizeHint hint) const noexcept
+ {
+ return puglGetSizeHint(cobj(), static_cast<PuglSizeHint>(hint));
+ }
- /// @copydoc puglSetFrame
- Status setFrame(const Rect& frame) noexcept
+ /// @copydoc puglSetSizeHint
+ Status setSize(unsigned width, unsigned height) noexcept
{
- return static_cast<Status>(puglSetFrame(cobj(), frame));
+ return static_cast<Status>(
+ puglSetSizeHint(cobj(), PUGL_CURRENT_SIZE, width, height));
}
/// @copydoc puglSetSizeHint
@@ -609,16 +637,19 @@ public:
/// @copydoc puglGetContext
void* context() noexcept { return puglGetContext(cobj()); }
- /// @copydoc puglPostRedisplay
- Status postRedisplay() noexcept
+ /// @copydoc puglObscure
+ Status obscure() noexcept
{
- return static_cast<Status>(puglPostRedisplay(cobj()));
+ return static_cast<Status>(puglObscureView(cobj()));
}
- /// @copydoc puglPostRedisplayRect
- Status postRedisplayRect(const Rect& rect) noexcept
+ /// "Obscure" a region so it will be exposed in the next render
+ Status obscure(const int x,
+ const int y,
+ const unsigned width,
+ const unsigned height)
{
- return static_cast<Status>(puglPostRedisplayRect(cobj(), rect));
+ return static_cast<Status>(puglObscureRegion(cobj(), x, y, width, height));
}
/**
diff --git a/bindings/cpp/include/pugl/stub.hpp b/bindings/cpp/include/pugl/stub.hpp
index 08281b0..13b050d 100644
--- a/bindings/cpp/include/pugl/stub.hpp
+++ b/bindings/cpp/include/pugl/stub.hpp
@@ -4,8 +4,8 @@
#ifndef PUGL_STUB_HPP
#define PUGL_STUB_HPP
-#include "pugl/pugl.h"
-#include "pugl/stub.h"
+#include <pugl/pugl.h>
+#include <pugl/stub.h>
namespace pugl {
diff --git a/bindings/cpp/include/pugl/vulkan.hpp b/bindings/cpp/include/pugl/vulkan.hpp
index 5bb790d..56c91b0 100644
--- a/bindings/cpp/include/pugl/vulkan.hpp
+++ b/bindings/cpp/include/pugl/vulkan.hpp
@@ -10,9 +10,9 @@
#ifndef PUGL_VULKAN_HPP
#define PUGL_VULKAN_HPP
-#include "pugl/pugl.h"
-#include "pugl/pugl.hpp"
-#include "pugl/vulkan.h"
+#include <pugl/pugl.h>
+#include <pugl/pugl.hpp>
+#include <pugl/vulkan.h>
#include <vulkan/vulkan_core.h>