27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
# RenderSurface::ResetRenderArea
|
||
|
||
清除自定义 render area,恢复“整张 surface 可渲染”的默认语义。
|
||
|
||
```cpp
|
||
void ResetRenderArea();
|
||
```
|
||
|
||
## 当前语义
|
||
|
||
- 当前实现会把 `m_hasCustomRenderArea` 设回 `false`。
|
||
- 同时把内部缓存的 `m_renderArea` 重置为空矩形 `{}`。
|
||
- 重置后,[GetRenderArea](GetRenderArea.md) 不会返回这个空矩形,而是重新按 `(0, 0, width, height)` 解释整张 surface。
|
||
|
||
## 调用方影响
|
||
|
||
- 这会直接撤销此前通过 [SetRenderArea](SetRenderArea.md) 设置的子区域限制。
|
||
- 之后即使 surface 先前经历过 clamp、resize 或嵌套 viewport 组合,默认读取路径也会重新回到“整 surface”。
|
||
- 如果上层逻辑想保留一个显式子区域,只是希望它在 resize 后重新适配边界,应继续保留自定义区域并依赖 [SetSize](SetSize.md) 的 reclamp 行为,而不是调用这里。
|
||
|
||
## 相关文档
|
||
|
||
- [RenderSurface](RenderSurface.md)
|
||
- [SetRenderArea](SetRenderArea.md)
|
||
- [HasCustomRenderArea](HasCustomRenderArea.md)
|
||
- [GetRenderArea](GetRenderArea.md)
|