载入中...
搜索中...
未找到
PcgPhotoModePanels.h
浏览该文件的文档.
1#pragma once
2
3#include <array>
4#include <cstdint>
5#include "common/Export.h"
6#include "common/Result.h"
7#include "ui/PcgUiStatus.h"
8namespace ssq { class Table; }
9namespace eve::ui {
12public:
14 [[nodiscard]] Result<void> select(int panel);
int getSelected() const noexcept { return selected_; } bool isActive(int panel) const noexcept; PcgUiRequestStatus consumeScrollReset() noexcept; uint64_t getRevision() const noexcept { return revision_; }
19private:int selected_=0;std::array<bool,7> active_{{true,false,false,false,false,false,false}};bool scrollReset_=false;uint64_t revision_=0;
20};
23public:
25 [[nodiscard]] Result<void> configure(float nr,float ng,float nb,float na,float sr,float sg,float sb,float sa);
void setSelected(bool selected) noexcept { selected_=selected; layoutEnabled_=selected; } float getNormalR()const noexcept{return selected_?sr_:nr_;} float getNormalG()const noexcept{return selected_?sg_:ng_;} float getNormalB()const noexcept{return selected_?sb_:nb_;} float getNormalA()const noexcept{return selected_?sa_:na_;} float getHighlightR()const noexcept{return sr_;} bool getLayoutEnabled()const noexcept{return layoutEnabled_;} bool getSelected()const noexcept{return selected_;}
34private:float nr_=.5f,ng_=.5f,nb_=.5f,na_=1.f,sr_=1.f,sg_=1.f,sb_=0.f,sa_=1.f;bool selected_=false,layoutEnabled_=false;
35};
void exposePcgPhotoModePanelsBindings(ssq::Table& table);
37}
#define EVENGINE_API_WORLD
Definition Export.h:109
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Visual snapshot matching Pcg PhotoModePanelButton.
Seven-panel selection transaction used by Pcg photo mode.
void exposePcgPhotoModePanelsBindings(ssq::Table &t)
Register Pcg photo-mode panel bindings.
PcgUiRequestStatus
Explicit status returned when consuming a one-shot Pcg UI request.
Definition PcgUiStatus.h:4
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