载入中...
搜索中...
未找到
PcgPhotoModeValues.h
浏览该文件的文档.
1#pragma once
2
3#include <cstdint>
4#include <string>
5#include <unordered_map>
6#include <variant>
7#include <vector>
8#include "common/Export.h"
9#include "common/Result.h"
10namespace ssq { class Table; }
11namespace eve::ui {
13struct PcgPhotoModeColor { float r=0,g=0,b=0,a=1; bool operator==(const PcgPhotoModeColor&) const = default; };
15enum class PcgPhotoModeValueType { Bool=0, Int=1, Float=2, String=3, Color=4 };
16using PcgPhotoModeValue=std::variant<bool,int64_t,float,std::string,PcgPhotoModeColor>;
21public:
void resetDefaults(); uint64_t getFieldCount()const noexcept; [[nodiscard]] Result<std::string> getFieldName(uint64_t index)const; [[nodiscard]] Result<int> getFieldType(const std::string&name)const; [[nodiscard]] Result<void> setBool(const std::string&name,bool value); [[nodiscard]] Result<void> setInt(const std::string&name,int64_t value); [[nodiscard]] Result<void> setFloat(const std::string&name,float value); [[nodiscard]] Result<void> setString(const std::string&name,const std::string&value); [[nodiscard]] Result<void> setColor(const std::string&name,float r,float g,float b,float a); [[nodiscard]] Result<bool> getBool(const std::string&name)const; [[nodiscard]] Result<int64_t> getInt(const std::string&name)const; [[nodiscard]] Result<float> getFloat(const std::string&name)const; [[nodiscard]] Result<std::string> getString(const std::string&name)const; [[nodiscard]] Result<PcgPhotoModeValue> getValue(const std::string&name)const; [[nodiscard]] Result<void> selectColor(const std::string&name); [[nodiscard]] Result<std::string> snapshotJson() const; [[nodiscard]] Result<void> restoreJson(const std::string&json);
42 float getColorR()const noexcept{return selectedColor_.r;} float getColorG()const noexcept{return selectedColor_.g;}
44 float getColorB()const noexcept{return selectedColor_.b;} float getColorA()const noexcept{return selectedColor_.a;}
45private: std::unordered_map<std::string,PcgPhotoModeValue> values_; PcgPhotoModeColor selectedColor_{};
46};
void exposePcgPhotoModeValuesBindings(ssq::Table&table);
48}
double value
#define EVENGINE_API_WORLD
Definition Export.h:109
tensor::Graph g
Definition GpuGraph.cpp:7
double r
std::string name
MeleePoint3 b
Definition MeleeHit.cpp:41
MeleePoint3 a
Definition MeleeHit.cpp:40
Move-only, checked operation results for the common layer.
uint32_t index
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Complete typed value set from Pcg PhotoModeProfile with exact defaults.
void exposePcgPhotoModeValuesBindings(ssq::Table &t)
Register complete Pcg photo-mode value bindings.
std::variant< bool, int64_t, float, std::string, PcgPhotoModeColor > PcgPhotoModeValue
PcgPhotoModeValueType
PcgPhotoModeValueType public API.
glm::vec4 Color
Render-neutral RGBA color shared by graphics-facing modules.
Definition RenderTypes.h:8
enum EVENGINE_API_FOUNDATION Table
OT_TABLE (editable via Runtime table APIs / ReflectedPropertyModel).
Definition Runtime.h:121
EVEngine ECS 集成层:底层实现使用 sunxfancy/ECS.hpp https://github.com/sunxfancy/ECS.hpp
Definition ECS.h:14
PcgPhotoModeColor public API.
bool operator==(const PcgPhotoModeColor &) const =default
PcgPhotoModeField public API.
PcgPhotoModeValueType type