GfxContext renamed to DrawContext
This commit is contained in:
parent
4af0a8acf7
commit
bcf2f5029d
@ -48,7 +48,7 @@ struct SoundCfg : AssetCfg {
|
||||
};
|
||||
|
||||
using aloader_func = std::function<assetload::postfunc(
|
||||
AssetsLoader*,
|
||||
AssetsLoader*, // redundant?
|
||||
const ResPaths*,
|
||||
const std::string&,
|
||||
const std::string&,
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
#include "frontend/screens/Screen.hpp"
|
||||
#include "frontend/screens/MenuScreen.hpp"
|
||||
#include "graphics/core/Batch2D.hpp"
|
||||
#include "graphics/core/GfxContext.hpp"
|
||||
#include "graphics/core/DrawContext.hpp"
|
||||
#include "graphics/core/ImageData.hpp"
|
||||
#include "graphics/core/Shader.hpp"
|
||||
#include "graphics/ui/GUI.hpp"
|
||||
@ -150,7 +150,7 @@ void Engine::renderFrame(Batch2D& batch) {
|
||||
screen->draw(delta);
|
||||
|
||||
Viewport viewport(Window::width, Window::height);
|
||||
GfxContext ctx(nullptr, viewport, &batch);
|
||||
DrawContext ctx(nullptr, viewport, &batch);
|
||||
gui->draw(&ctx, assets.get());
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#include "../graphics/core/Batch2D.hpp"
|
||||
#include "../graphics/core/Batch3D.hpp"
|
||||
#include "../graphics/core/Font.hpp"
|
||||
#include "../graphics/core/GfxContext.hpp"
|
||||
#include "../graphics/core/DrawContext.hpp"
|
||||
#include "../graphics/core/Mesh.hpp"
|
||||
#include "../graphics/core/Shader.hpp"
|
||||
#include "../graphics/core/Texture.hpp"
|
||||
@ -422,7 +422,7 @@ void Hud::remove(std::shared_ptr<UINode> node) {
|
||||
cleanup();
|
||||
}
|
||||
|
||||
void Hud::draw(const GfxContext& ctx){
|
||||
void Hud::draw(const DrawContext& ctx){
|
||||
const Viewport& viewport = ctx.getViewport();
|
||||
const uint width = viewport.getWidth();
|
||||
const uint height = viewport.getHeight();
|
||||
@ -440,7 +440,7 @@ void Hud::draw(const GfxContext& ctx){
|
||||
|
||||
// Crosshair
|
||||
if (!pause && !inventoryOpen && !player->debug) {
|
||||
GfxContext chctx = ctx.sub();
|
||||
DrawContext chctx = ctx.sub();
|
||||
chctx.setBlendMode(BlendMode::inversion);
|
||||
auto texture = assets->getTexture("gui/crosshair");
|
||||
batch->texture(texture);
|
||||
|
||||
@ -16,7 +16,7 @@ class Engine;
|
||||
class Inventory;
|
||||
class LevelFrontend;
|
||||
class UiDocument;
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
class Viewport;
|
||||
|
||||
namespace gui {
|
||||
@ -116,7 +116,7 @@ public:
|
||||
~Hud();
|
||||
|
||||
void update(bool hudVisible);
|
||||
void draw(const GfxContext& context);
|
||||
void draw(const DrawContext& context);
|
||||
|
||||
/// @brief Check if inventory mode on
|
||||
bool isInventoryOpen() const;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
#include "../../audio/audio.h"
|
||||
#include "../../coders/imageio.hpp"
|
||||
#include "../../graphics/core/PostProcessing.h"
|
||||
#include "../../graphics/core/GfxContext.hpp"
|
||||
#include "../../graphics/core/DrawContext.hpp"
|
||||
#include "../../graphics/core/Viewport.hpp"
|
||||
#include "../../graphics/core/ImageData.hpp"
|
||||
#include "../../graphics/ui/GUI.hpp"
|
||||
@ -79,7 +79,7 @@ void LevelScreen::saveWorldPreview() {
|
||||
Camera camera = *player->camera;
|
||||
camera.setFov(glm::radians(70.0f));
|
||||
Viewport viewport(previewSize * 1.5, previewSize);
|
||||
GfxContext ctx(nullptr, viewport, batch.get());
|
||||
DrawContext ctx(nullptr, viewport, batch.get());
|
||||
|
||||
worldRenderer->draw(ctx, &camera, false, postProcessing.get());
|
||||
auto image = postProcessing->toImage();
|
||||
@ -141,7 +141,7 @@ void LevelScreen::draw(float delta) {
|
||||
auto camera = controller->getPlayer()->currentCamera;
|
||||
|
||||
Viewport viewport(Window::width, Window::height);
|
||||
GfxContext ctx(nullptr, viewport, batch.get());
|
||||
DrawContext ctx(nullptr, viewport, batch.get());
|
||||
|
||||
worldRenderer->draw(ctx, camera.get(), hudVisible, postProcessing.get());
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#include "GfxContext.hpp"
|
||||
#include "DrawContext.hpp"
|
||||
|
||||
#include <GL/glew.h>
|
||||
|
||||
@ -20,8 +20,8 @@ static void set_blend_mode(BlendMode mode) {
|
||||
}
|
||||
|
||||
|
||||
GfxContext::GfxContext(
|
||||
const GfxContext* parent,
|
||||
DrawContext::DrawContext(
|
||||
const DrawContext* parent,
|
||||
const Viewport& viewport,
|
||||
Batch2D* g2d
|
||||
) : parent(parent),
|
||||
@ -29,7 +29,7 @@ GfxContext::GfxContext(
|
||||
g2d(g2d)
|
||||
{}
|
||||
|
||||
GfxContext::~GfxContext() {
|
||||
DrawContext::~DrawContext() {
|
||||
if (g2d) {
|
||||
g2d->flush();
|
||||
}
|
||||
@ -72,22 +72,22 @@ GfxContext::~GfxContext() {
|
||||
}
|
||||
}
|
||||
|
||||
const Viewport& GfxContext::getViewport() const {
|
||||
const Viewport& DrawContext::getViewport() const {
|
||||
return viewport;
|
||||
}
|
||||
|
||||
Batch2D* GfxContext::getBatch2D() const {
|
||||
Batch2D* DrawContext::getBatch2D() const {
|
||||
return g2d;
|
||||
}
|
||||
|
||||
GfxContext GfxContext::sub() const {
|
||||
auto ctx = GfxContext(this, viewport, g2d);
|
||||
DrawContext DrawContext::sub() const {
|
||||
auto ctx = DrawContext(this, viewport, g2d);
|
||||
ctx.depthTest = depthTest;
|
||||
ctx.cullFace = cullFace;
|
||||
return ctx;
|
||||
}
|
||||
|
||||
void GfxContext::setViewport(const Viewport& viewport) {
|
||||
void DrawContext::setViewport(const Viewport& viewport) {
|
||||
this->viewport = viewport;
|
||||
Window::viewport(
|
||||
0, 0,
|
||||
@ -96,7 +96,7 @@ void GfxContext::setViewport(const Viewport& viewport) {
|
||||
);
|
||||
}
|
||||
|
||||
void GfxContext::setFramebuffer(Framebuffer* fbo) {
|
||||
void DrawContext::setFramebuffer(Framebuffer* fbo) {
|
||||
if (this->fbo == fbo)
|
||||
return;
|
||||
this->fbo = fbo;
|
||||
@ -105,14 +105,14 @@ void GfxContext::setFramebuffer(Framebuffer* fbo) {
|
||||
}
|
||||
}
|
||||
|
||||
void GfxContext::setDepthMask(bool flag) {
|
||||
void DrawContext::setDepthMask(bool flag) {
|
||||
if (depthMask == flag)
|
||||
return;
|
||||
depthMask = flag;
|
||||
glDepthMask(GL_FALSE + flag);
|
||||
}
|
||||
|
||||
void GfxContext::setDepthTest(bool flag) {
|
||||
void DrawContext::setDepthTest(bool flag) {
|
||||
if (depthTest == flag)
|
||||
return;
|
||||
depthTest = flag;
|
||||
@ -123,7 +123,7 @@ void GfxContext::setDepthTest(bool flag) {
|
||||
}
|
||||
}
|
||||
|
||||
void GfxContext::setCullFace(bool flag) {
|
||||
void DrawContext::setCullFace(bool flag) {
|
||||
if (cullFace == flag)
|
||||
return;
|
||||
cullFace = flag;
|
||||
@ -134,14 +134,14 @@ void GfxContext::setCullFace(bool flag) {
|
||||
}
|
||||
}
|
||||
|
||||
void GfxContext::setBlendMode(BlendMode mode) {
|
||||
void DrawContext::setBlendMode(BlendMode mode) {
|
||||
if (blendMode == mode)
|
||||
return;
|
||||
blendMode = mode;
|
||||
set_blend_mode(mode);
|
||||
}
|
||||
|
||||
void GfxContext::setScissors(glm::vec4 area) {
|
||||
void DrawContext::setScissors(glm::vec4 area) {
|
||||
Window::pushScissor(area);
|
||||
scissorsCount++;
|
||||
}
|
||||
@ -9,8 +9,8 @@
|
||||
class Batch2D;
|
||||
class Framebuffer;
|
||||
|
||||
class GfxContext {
|
||||
const GfxContext* parent;
|
||||
class DrawContext {
|
||||
const DrawContext* parent;
|
||||
Viewport viewport;
|
||||
Batch2D* const g2d;
|
||||
Framebuffer* fbo = nullptr;
|
||||
@ -20,12 +20,12 @@ class GfxContext {
|
||||
BlendMode blendMode = BlendMode::normal;
|
||||
int scissorsCount = 0;
|
||||
public:
|
||||
GfxContext(const GfxContext* parent, const Viewport& viewport, Batch2D* g2d);
|
||||
~GfxContext();
|
||||
DrawContext(const DrawContext* parent, const Viewport& viewport, Batch2D* g2d);
|
||||
~DrawContext();
|
||||
|
||||
Batch2D* getBatch2D() const;
|
||||
const Viewport& getViewport() const;
|
||||
GfxContext sub() const;
|
||||
DrawContext sub() const;
|
||||
|
||||
void setViewport(const Viewport& viewport);
|
||||
void setFramebuffer(Framebuffer* fbo);
|
||||
@ -19,7 +19,7 @@ PostProcessing::PostProcessing() {
|
||||
PostProcessing::~PostProcessing() {
|
||||
}
|
||||
|
||||
void PostProcessing::use(GfxContext& context) {
|
||||
void PostProcessing::use(DrawContext& context) {
|
||||
const auto& vp = context.getViewport();
|
||||
if (fbo) {
|
||||
fbo->resize(vp.getWidth(), vp.getHeight());
|
||||
@ -29,7 +29,7 @@ void PostProcessing::use(GfxContext& context) {
|
||||
context.setFramebuffer(fbo.get());
|
||||
}
|
||||
|
||||
void PostProcessing::render(const GfxContext& context, Shader* screenShader) {
|
||||
void PostProcessing::render(const DrawContext& context, Shader* screenShader) {
|
||||
if (fbo == nullptr) {
|
||||
throw std::runtime_error("'use(...)' was never called");
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
#define GRAPHICS_CORE_POST_PROCESSING_HPP_
|
||||
|
||||
#include "Viewport.hpp"
|
||||
#include "GfxContext.hpp"
|
||||
#include "DrawContext.hpp"
|
||||
|
||||
#include <memory>
|
||||
|
||||
@ -24,14 +24,14 @@ public:
|
||||
|
||||
/// @brief Prepare and bind framebuffer
|
||||
/// @param context graphics context will be modified
|
||||
void use(GfxContext& context);
|
||||
void use(DrawContext& context);
|
||||
|
||||
/// @brief Render fullscreen quad using the passed shader
|
||||
/// with framebuffer texture bound
|
||||
/// @param context graphics context
|
||||
/// @param screenShader shader used for fullscreen quad
|
||||
/// @throws std::runtime_error if use(...) wasn't called before
|
||||
void render(const GfxContext& context, Shader* screenShader);
|
||||
void render(const DrawContext& context, Shader* screenShader);
|
||||
|
||||
/// @brief Make an image from the last rendered frame
|
||||
std::unique_ptr<ImageData> toImage();
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#include "../core/Atlas.hpp"
|
||||
#include "../core/Batch3D.hpp"
|
||||
#include "../core/Framebuffer.hpp"
|
||||
#include "../core/GfxContext.hpp"
|
||||
#include "../core/DrawContext.hpp"
|
||||
#include "../core/Shader.hpp"
|
||||
#include "../core/Texture.hpp"
|
||||
#include "../core/Viewport.hpp"
|
||||
@ -124,8 +124,8 @@ std::unique_ptr<Atlas> BlocksPreview::build(
|
||||
Atlas* atlas = assets->getAtlas("blocks");
|
||||
|
||||
Viewport viewport(iconSize, iconSize);
|
||||
GfxContext pctx(nullptr, viewport, nullptr);
|
||||
GfxContext ctx = pctx.sub();
|
||||
DrawContext pctx(nullptr, viewport, nullptr);
|
||||
DrawContext ctx = pctx.sub();
|
||||
ctx.setCullFace(true);
|
||||
ctx.setDepthTest(true);
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
#include "../../graphics/core/Texture.hpp"
|
||||
#include "../../graphics/core/Cubemap.hpp"
|
||||
#include "../../graphics/core/Framebuffer.hpp"
|
||||
#include "../../graphics/core/GfxContext.hpp"
|
||||
#include "../../graphics/core/DrawContext.hpp"
|
||||
#include "../../window/Window.h"
|
||||
#include "../../window/Camera.h"
|
||||
|
||||
@ -91,7 +91,7 @@ void Skybox::drawStars(float angle, float opacity) {
|
||||
}
|
||||
|
||||
void Skybox::draw(
|
||||
const GfxContext& pctx,
|
||||
const DrawContext& pctx,
|
||||
Camera* camera,
|
||||
Assets* assets,
|
||||
float daytime,
|
||||
@ -103,7 +103,7 @@ void Skybox::draw(
|
||||
|
||||
drawBackground(camera, assets, width, height);
|
||||
|
||||
GfxContext ctx = pctx.sub();
|
||||
DrawContext ctx = pctx.sub();
|
||||
ctx.setBlendMode(BlendMode::addition);
|
||||
|
||||
Shader* shader = assets->getShader("ui3d");
|
||||
@ -134,8 +134,8 @@ void Skybox::draw(
|
||||
drawStars(angle, opacity);
|
||||
}
|
||||
|
||||
void Skybox::refresh(const GfxContext& pctx, float t, float mie, uint quality) {
|
||||
GfxContext ctx = pctx.sub();
|
||||
void Skybox::refresh(const DrawContext& pctx, float t, float mie, uint quality) {
|
||||
DrawContext ctx = pctx.sub();
|
||||
ctx.setDepthMask(false);
|
||||
ctx.setDepthTest(false);
|
||||
ctx.setFramebuffer(fbo.get());
|
||||
|
||||
@ -13,7 +13,7 @@ class Assets;
|
||||
class Camera;
|
||||
class Batch3D;
|
||||
class Framebuffer;
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
|
||||
struct skysprite {
|
||||
std::string texture;
|
||||
@ -40,14 +40,14 @@ public:
|
||||
~Skybox();
|
||||
|
||||
void draw(
|
||||
const GfxContext& pctx,
|
||||
const DrawContext& pctx,
|
||||
Camera* camera,
|
||||
Assets* assets,
|
||||
float daytime,
|
||||
float fog
|
||||
);
|
||||
|
||||
void refresh(const GfxContext& pctx, float t, float mie, uint quality);
|
||||
void refresh(const DrawContext& pctx, float t, float mie, uint quality);
|
||||
void bind() const;
|
||||
void unbind() const;
|
||||
bool isReady() const {
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
#include "../../world/World.h"
|
||||
#include "../core/Atlas.hpp"
|
||||
#include "../core/Batch3D.hpp"
|
||||
#include "../core/GfxContext.hpp"
|
||||
#include "../core/DrawContext.hpp"
|
||||
#include "../core/LineBatch.hpp"
|
||||
#include "../core/Mesh.hpp"
|
||||
#include "../core/PostProcessing.h"
|
||||
@ -140,7 +140,7 @@ void WorldRenderer::drawChunks(Chunks* chunks, Camera* camera, Shader* shader) {
|
||||
}
|
||||
|
||||
void WorldRenderer::renderLevel(
|
||||
const GfxContext& ctx,
|
||||
const DrawContext& ctx,
|
||||
Camera* camera,
|
||||
const EngineSettings& settings
|
||||
) {
|
||||
@ -213,12 +213,12 @@ void WorldRenderer::renderBlockSelection(Camera* camera, Shader* linesShader) {
|
||||
}
|
||||
|
||||
void WorldRenderer::renderDebugLines(
|
||||
const GfxContext& pctx,
|
||||
const DrawContext& pctx,
|
||||
Camera* camera,
|
||||
Shader* linesShader,
|
||||
const EngineSettings& settings
|
||||
) {
|
||||
GfxContext ctx = pctx.sub();
|
||||
DrawContext ctx = pctx.sub();
|
||||
const auto& viewport = ctx.getViewport();
|
||||
uint displayWidth = viewport.getWidth();
|
||||
uint displayHeight = viewport.getHeight();
|
||||
@ -266,7 +266,7 @@ void WorldRenderer::renderDebugLines(
|
||||
}
|
||||
|
||||
void WorldRenderer::draw(
|
||||
const GfxContext& pctx,
|
||||
const DrawContext& pctx,
|
||||
Camera* camera,
|
||||
bool hudVisible,
|
||||
PostProcessing* postProcessing
|
||||
@ -282,7 +282,7 @@ void WorldRenderer::draw(
|
||||
|
||||
// World render scope with diegetic HUD included
|
||||
{
|
||||
GfxContext wctx = pctx.sub();
|
||||
DrawContext wctx = pctx.sub();
|
||||
postProcessing->use(wctx);
|
||||
|
||||
Window::clearDepth();
|
||||
@ -292,7 +292,7 @@ void WorldRenderer::draw(
|
||||
|
||||
// Actually world render with depth buffer on
|
||||
{
|
||||
GfxContext ctx = wctx.sub();
|
||||
DrawContext ctx = wctx.sub();
|
||||
ctx.setDepthTest(true);
|
||||
ctx.setCullFace(true);
|
||||
renderLevel(ctx, camera, settings);
|
||||
|
||||
@ -24,7 +24,7 @@ class Chunks;
|
||||
class LevelFrontend;
|
||||
class Skybox;
|
||||
class PostProcessing;
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
struct EngineSettings;
|
||||
|
||||
class WorldRenderer {
|
||||
@ -50,7 +50,7 @@ class WorldRenderer {
|
||||
/// @param linesShader shader used
|
||||
/// @param settings engine settings
|
||||
void renderDebugLines(
|
||||
const GfxContext& context,
|
||||
const DrawContext& context,
|
||||
Camera* camera,
|
||||
Shader* linesShader,
|
||||
const EngineSettings& settings
|
||||
@ -62,7 +62,7 @@ public:
|
||||
~WorldRenderer();
|
||||
|
||||
void draw(
|
||||
const GfxContext& context,
|
||||
const DrawContext& context,
|
||||
Camera* camera,
|
||||
bool hudVisible,
|
||||
PostProcessing* postProcessing
|
||||
@ -74,7 +74,7 @@ public:
|
||||
/// @param camera active camera
|
||||
/// @param settings engine settings
|
||||
void renderLevel(
|
||||
const GfxContext& context,
|
||||
const DrawContext& context,
|
||||
Camera* camera,
|
||||
const EngineSettings& settings
|
||||
);
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#include "../../frontend/UiDocument.h"
|
||||
#include "../../graphics/core/Batch2D.hpp"
|
||||
#include "../../graphics/core/Shader.hpp"
|
||||
#include "../../graphics/core/GfxContext.hpp"
|
||||
#include "../../graphics/core/DrawContext.hpp"
|
||||
#include "../../window/Events.h"
|
||||
#include "../../window/input.h"
|
||||
#include "../../window/Camera.h"
|
||||
@ -136,7 +136,7 @@ void GUI::act(float delta, const Viewport& vp) {
|
||||
}
|
||||
}
|
||||
|
||||
void GUI::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void GUI::draw(const DrawContext* pctx, Assets* assets) {
|
||||
auto& viewport = pctx->getViewport();
|
||||
glm::vec2 wsize = viewport.size();
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
#include <unordered_map>
|
||||
|
||||
class Viewport;
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
class Assets;
|
||||
class Camera;
|
||||
|
||||
@ -86,7 +86,7 @@ namespace gui {
|
||||
/// @brief Draw all visible elements on main container
|
||||
/// @param pctx parent graphics context
|
||||
/// @param assets active assets storage
|
||||
void draw(const GfxContext* pctx, Assets* assets);
|
||||
void draw(const DrawContext* pctx, Assets* assets);
|
||||
|
||||
/// @brief Add element to the main container
|
||||
/// @param node UI element
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "Button.hpp"
|
||||
|
||||
#include "Label.hpp"
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
|
||||
using namespace gui;
|
||||
@ -75,7 +75,7 @@ void Button::refresh() {
|
||||
}
|
||||
}
|
||||
|
||||
void Button::drawBackground(const GfxContext* pctx, Assets* assets) {
|
||||
void Button::drawBackground(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec2 pos = calcPos();
|
||||
auto batch = pctx->getBatch2D();
|
||||
batch->texture(nullptr);
|
||||
|
||||
@ -18,7 +18,7 @@ namespace gui {
|
||||
onaction action,
|
||||
glm::vec2 size=glm::vec2(-1));
|
||||
|
||||
virtual void drawBackground(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void drawBackground(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
virtual Align getTextAlign() const;
|
||||
virtual void setTextAlign(Align align);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#include "CheckBox.hpp"
|
||||
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "Label.hpp"
|
||||
|
||||
@ -10,7 +10,7 @@ CheckBox::CheckBox(bool checked) : UINode(glm::vec2(32.0f)), checked(checked) {
|
||||
setColor(glm::vec4(0.0f, 0.0f, 0.0f, 0.5f));
|
||||
}
|
||||
|
||||
void CheckBox::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void CheckBox::draw(const DrawContext* pctx, Assets* assets) {
|
||||
if (supplier) {
|
||||
checked = supplier();
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@ namespace gui {
|
||||
public:
|
||||
CheckBox(bool checked=false);
|
||||
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
virtual void mouseRelease(GUI*, int x, int y) override;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#include "Container.hpp"
|
||||
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
|
||||
using namespace gui;
|
||||
@ -73,7 +73,7 @@ void Container::setScrollable(bool flag) {
|
||||
scrollable = flag;
|
||||
}
|
||||
|
||||
void Container::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void Container::draw(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec2 pos = calcPos();
|
||||
glm::vec2 size = getSize();
|
||||
drawBackground(pctx, assets);
|
||||
@ -82,7 +82,7 @@ void Container::draw(const GfxContext* pctx, Assets* assets) {
|
||||
batch->texture(nullptr);
|
||||
batch->flush();
|
||||
{
|
||||
GfxContext ctx = pctx->sub();
|
||||
DrawContext ctx = pctx->sub();
|
||||
ctx.setScissors(glm::vec4(pos.x, pos.y, size.x, size.y));
|
||||
for (auto node : nodes) {
|
||||
if (node->isVisible())
|
||||
@ -91,7 +91,7 @@ void Container::draw(const GfxContext* pctx, Assets* assets) {
|
||||
}
|
||||
}
|
||||
|
||||
void Container::drawBackground(const GfxContext* pctx, Assets* assets) {
|
||||
void Container::drawBackground(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec4 color = isPressed() ? pressedColor : (hover ? hoverColor : this->color);
|
||||
if (color.a <= 0.001f)
|
||||
return;
|
||||
|
||||
@ -19,8 +19,8 @@ namespace gui {
|
||||
Container(glm::vec2 size);
|
||||
|
||||
virtual void act(float delta) override;
|
||||
virtual void drawBackground(const GfxContext* pctx, Assets* assets);
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void drawBackground(const DrawContext* pctx, Assets* assets);
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
virtual std::shared_ptr<UINode> getAt(glm::vec2 pos, std::shared_ptr<UINode> self) override;
|
||||
virtual void add(std::shared_ptr<UINode> node);
|
||||
virtual void add(std::shared_ptr<UINode> node, glm::vec2 pos);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#include "Image.hpp"
|
||||
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../core/Texture.hpp"
|
||||
#include "../../../assets/Assets.h"
|
||||
@ -12,7 +12,7 @@ Image::Image(std::string texture, glm::vec2 size) : UINode(size), texture(textur
|
||||
setInteractive(false);
|
||||
}
|
||||
|
||||
void Image::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void Image::draw(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec2 pos = calcPos();
|
||||
glm::vec4 color = getColor();
|
||||
auto batch = pctx->getBatch2D();
|
||||
|
||||
@ -11,7 +11,7 @@ namespace gui {
|
||||
public:
|
||||
Image(std::string texture, glm::vec2 size=glm::vec2(32,32));
|
||||
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
virtual void setAutoResize(bool flag);
|
||||
virtual bool isAutoResize() const;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "InputBindBox.hpp"
|
||||
|
||||
#include "Label.hpp"
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../../util/stringutil.h"
|
||||
|
||||
@ -15,7 +15,7 @@ InputBindBox::InputBindBox(Binding& binding, glm::vec4 padding)
|
||||
setScrollable(false);
|
||||
}
|
||||
|
||||
void InputBindBox::drawBackground(const GfxContext* pctx, Assets* assets) {
|
||||
void InputBindBox::drawBackground(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec2 pos = calcPos();
|
||||
auto batch = pctx->getBatch2D();
|
||||
batch->texture(nullptr);
|
||||
|
||||
@ -14,7 +14,7 @@ namespace gui {
|
||||
Binding& binding;
|
||||
public:
|
||||
InputBindBox(Binding& binding, glm::vec4 padding=glm::vec4(6.0f));
|
||||
virtual void drawBackground(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void drawBackground(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
virtual void clicked(GUI*, mousecode button) override;
|
||||
virtual void keyPressed(keycode key) override;
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
#include "../../core/Atlas.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../core/Font.hpp"
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Shader.hpp"
|
||||
#include "../../render/BlocksPreview.hpp"
|
||||
#include "../GUI.hpp"
|
||||
@ -110,7 +110,7 @@ SlotView::SlotView(
|
||||
setColor(glm::vec4(0, 0, 0, 0.2f));
|
||||
}
|
||||
|
||||
void SlotView::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void SlotView::draw(const DrawContext* pctx, Assets* assets) {
|
||||
if (bound == nullptr)
|
||||
return;
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
class Assets;
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
class Content;
|
||||
class ItemStack;
|
||||
class ContentIndices;
|
||||
@ -56,7 +56,7 @@ namespace gui {
|
||||
public:
|
||||
SlotView(SlotLayout layout);
|
||||
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
void setHighlighted(bool flag);
|
||||
bool isHighlighted() const;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#include "Label.hpp"
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../core/Font.hpp"
|
||||
#include "../../../assets/Assets.h"
|
||||
@ -137,7 +137,7 @@ uint Label::getLinesNumber() const {
|
||||
return cache.lines.size();
|
||||
}
|
||||
|
||||
void Label::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void Label::draw(const DrawContext* pctx, Assets* assets) {
|
||||
auto batch = pctx->getBatch2D();
|
||||
auto font = assets->getFont(fontName);
|
||||
cache.prepare(font, static_cast<size_t>(glm::abs(getSize().x)));
|
||||
|
||||
@ -91,7 +91,7 @@ namespace gui {
|
||||
virtual uint getLinesNumber() const;
|
||||
virtual bool isFakeLine(size_t line) const;
|
||||
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
virtual void textSupplier(wstringsupplier supplier);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../core/Font.hpp"
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../../assets/Assets.h"
|
||||
#include "../../../util/stringutil.h"
|
||||
|
||||
@ -14,7 +14,7 @@ void Plotter::act(float delta) {
|
||||
points[index % dmwidth] = std::min(value, dmheight);
|
||||
}
|
||||
|
||||
void Plotter::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void Plotter::draw(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec2 pos = calcPos();
|
||||
auto batch = pctx->getBatch2D();
|
||||
batch->texture(nullptr);
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
class Assets;
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
|
||||
namespace gui {
|
||||
class Plotter : public gui::UINode {
|
||||
@ -30,7 +30,7 @@ namespace gui {
|
||||
}
|
||||
|
||||
void act(float delta) override;
|
||||
void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "TextBox.hpp"
|
||||
|
||||
#include "Label.hpp"
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../core/Font.hpp"
|
||||
#include "../../../assets/Assets.h"
|
||||
@ -22,7 +22,7 @@ TextBox::TextBox(std::wstring placeholder, glm::vec4 padding)
|
||||
textInitX = label->getPos().x;
|
||||
}
|
||||
|
||||
void TextBox::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void TextBox::draw(const DrawContext* pctx, Assets* assets) {
|
||||
Panel::draw(pctx, assets);
|
||||
|
||||
font = assets->getFont(label->getFontName());
|
||||
@ -71,7 +71,7 @@ void TextBox::draw(const GfxContext* pctx, Assets* assets) {
|
||||
}
|
||||
}
|
||||
|
||||
void TextBox::drawBackground(const GfxContext* pctx, Assets* assets) {
|
||||
void TextBox::drawBackground(const DrawContext* pctx, Assets* assets) {
|
||||
glm::vec2 pos = calcPos();
|
||||
|
||||
auto batch = pctx->getBatch2D();
|
||||
|
||||
@ -144,8 +144,8 @@ namespace gui {
|
||||
virtual void click(GUI*, int, int) override;
|
||||
virtual void mouseMove(GUI*, int x, int y) override;
|
||||
virtual bool isFocuskeeper() const override {return true;}
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void drawBackground(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
virtual void drawBackground(const DrawContext* pctx, Assets* assets) override;
|
||||
virtual void typed(unsigned int codepoint) override;
|
||||
virtual void keyPressed(keycode key) override;
|
||||
virtual std::shared_ptr<UINode> getAt(glm::vec2 pos, std::shared_ptr<UINode> self) override;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#include "TrackBar.hpp"
|
||||
|
||||
#include "../../core/GfxContext.hpp"
|
||||
#include "../../core/DrawContext.hpp"
|
||||
#include "../../core/Batch2D.hpp"
|
||||
#include "../../../assets/Assets.h"
|
||||
|
||||
@ -23,7 +23,7 @@ TrackBar::TrackBar(
|
||||
setHoverColor(glm::vec4(0.01f, 0.02f, 0.03f, 0.5f));
|
||||
}
|
||||
|
||||
void TrackBar::draw(const GfxContext* pctx, Assets* assets) {
|
||||
void TrackBar::draw(const DrawContext* pctx, Assets* assets) {
|
||||
if (supplier) {
|
||||
value = supplier();
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ namespace gui {
|
||||
double value,
|
||||
double step=1.0,
|
||||
int trackWidth=12);
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) override;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) override;
|
||||
|
||||
virtual void setSupplier(doublesupplier supplier);
|
||||
virtual void setConsumer(doubleconsumer consumer);
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
#include "../../../delegates.h"
|
||||
#include "../../../window/input.h"
|
||||
|
||||
class GfxContext;
|
||||
class DrawContext;
|
||||
class Assets;
|
||||
|
||||
namespace gui {
|
||||
@ -90,7 +90,7 @@ namespace gui {
|
||||
/// @brief Called every frame for all visible elements
|
||||
/// @param delta delta timУ
|
||||
virtual void act(float delta) {};
|
||||
virtual void draw(const GfxContext* pctx, Assets* assets) = 0;
|
||||
virtual void draw(const DrawContext* pctx, Assets* assets) = 0;
|
||||
|
||||
virtual void setVisible(bool flag);
|
||||
bool isVisible() const;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user