Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
UiTextureRegistry.h File Reference

donner::editor::UiTextureRegistry - validated UI texture registrations for ImGui draw data. More...

#include <cstddef>
#include <cstdint>
#include <ostream>
#include <string_view>
#include <vector>
#include "donner/editor/ImGuiIncludes.h"
#include "donner/gpu/Descriptors.h"
#include "donner/gpu/GpuResult.h"
#include "donner/gpu/Handles.h"
Include dependency graph for UiTextureRegistry.h:
This graph shows which files directly or indirectly include this file:

Classes

class  donner::editor::UiTextureId
 Opaque identifier for a UI texture registration, in the form ImGui carries through draw data. More...
struct  donner::editor::UiTextureDescriptor
 What a UI texture registration carries beyond the view it names. More...
struct  donner::editor::UiTextureBinding
 The validated result of a registration lookup. More...
class  donner::editor::UiTextureRegistry
 Registrations of runtime textures that UI draw data may sample, keyed by an opaque identifier. More...

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Enumerations

enum class  donner::editor::UiTextureAlphaMode : uint8_t {
  Premultiplied ,
  Straight
}
 How a registered UI texture's color channels relate to its alpha channel. More...

Functions

std::ostream & donner::editor::operator<< (std::ostream &os, UiTextureAlphaMode value)
 Ostream output operator for UiTextureAlphaMode, e.g.
void donner::editor::PrintTo (const UiTextureId &id, std::ostream *os)
 gtest PrintTo support: prints uiTexture#<slot>@<generation> or uiTexture(null).
void donner::editor::PrintTo (const UiTextureBinding &binding, std::ostream *os)
 gtest PrintTo support for readable failures on a binding mismatch.

Detailed Description

donner::editor::UiTextureRegistry - validated UI texture registrations for ImGui draw data.

Enumeration Type Documentation

◆ UiTextureAlphaMode

enum class donner::editor::UiTextureAlphaMode : uint8_t
strong

How a registered UI texture's color channels relate to its alpha channel.

Enumerator
Premultiplied 

Color channels are already multiplied by alpha.

Straight 

Color channels are independent of alpha and multiplied when sampled.

Function Documentation

◆ operator<<()

std::ostream & donner::editor::operator<< ( std::ostream & os,
UiTextureAlphaMode value )

Ostream output operator for UiTextureAlphaMode, e.g.

Premultiplied.

Parameters
osOutput stream.
valueAlpha mode to output.

◆ PrintTo() [1/2]

void donner::editor::PrintTo ( const UiTextureBinding & binding,
std::ostream * os )

gtest PrintTo support for readable failures on a binding mismatch.

Parameters
bindingBinding to print.
osOutput stream.

◆ PrintTo() [2/2]

void donner::editor::PrintTo ( const UiTextureId & id,
std::ostream * os )

gtest PrintTo support: prints uiTexture#<slot>@<generation> or uiTexture(null).

Parameters
idIdentifier to print.
osOutput stream.