载入中...
搜索中...
未找到
ParentScaler.cpp
浏览该文件的文档.
1#include "ui/ParentScaler.h"
2
3#include <algorithm>
4#include <cmath>
5
6namespace eve::ui {
7
10 const ParentScalerInput* input) {
11 if (!state || !output || !settings || !input || !std::isfinite(settings->maxHeight) ||
12 !std::isfinite(input->canvasHeight) || input->targetCount < 0)
15 "ui.parentScaler: objects, finite heights and non-negative target count required"));
16
17 ParentScalerOutput candidate;
18 if (!settings->scaleWithCanvas || !input->hasCanvas || input->targetCount == 0 ||
19 (state->lastScaleHeight == input->canvasHeight && state->lastScaleHeight != 0.f)) {
20 *output = candidate;
21 return Result<void>::success();
22 }
23 candidate.applyHeight = true;
24 candidate.height = input->canvasHeight;
25 if (settings->partScreen)
26 candidate.height = std::min(std::max(input->canvasHeight, 0.1f), settings->maxHeight);
27 state->lastScaleHeight = input->canvasHeight;
28 *output = candidate;
29 return Result<void>::success();
30}
31
32} // namespace eve::ui
std::string output
EvpackChunkInput input
Definition Evpack.cpp:170
TerrainThermalSettings settings
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
Move-only operation result carrying either a value or Status.
Definition Result.h:155
static Result success(T value)
Construct a successful result owning value.
Definition Result.h:164
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Result< void > evaluateParentScaler(ParentScalerState *state, ParentScalerOutput *output, const ParentScalerSettings *settings, const ParentScalerInput *input)
Evaluate Pcg ParentScaler when canvas height changes.
Current canvas and target-list observation.
Height write emitted for every valid target rect.
Configuration for Pcg ParentScaler canvas-height behavior.
Caller-owned change detector retained across evaluations.