载入中...
搜索中...
未找到
PcgPhotoModeRanges.h
浏览该文件的文档.
1#pragma once
2
3#include <cstdint>
4#include <string>
5#include <unordered_map>
6#include <vector>
7#include "common/Export.h"
8#include "common/Result.h"
9namespace ssq { class Table; }
10namespace eve::ui {
12struct PcgPhotoModeRange { double minimum=0,maximum=1;bool integral=false; };
15public:
void resetDefaults(); uint64_t getCount()const noexcept; [[nodiscard]] Result<std::string> getName(uint64_t index)const; [[nodiscard]] Result<void> select(const std::string&name); [[nodiscard]] Result<void> setRange(const std::string&name,double minimum,double maximum); [[nodiscard]] Result<double> clamp(const std::string&name,double value)const;
25 double getMinimum()const noexcept{return selected_.minimum;} double getMaximum()const noexcept{return selected_.maximum;} bool getIntegral()const noexcept{return selected_.integral;}
26private:std::unordered_map<std::string,PcgPhotoModeRange> ranges_;PcgPhotoModeRange selected_{};
27};
void exposePcgPhotoModeRangesBindings(ssq::Table&table);
29}
double value
#define EVENGINE_API_WORLD
Definition Export.h:109
float maximum[3]
float minimum[3]
std::string name
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 57-range contract from Pcg PhotoModeMinAndMaxValues.
void exposePcgPhotoModeRangesBindings(ssq::Table &t)
Register Pcg photo-mode range bindings.
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
PcgPhotoModeRange public API.