Fixed some bugs with buffers during font building
This commit is contained in:
@ -12,6 +12,7 @@ target_sources(${DAWN_TARGET_NAME}
|
||||
UILabel.cpp
|
||||
UIImage.cpp
|
||||
UIBorder.cpp
|
||||
UILabelNew.cpp
|
||||
)
|
||||
|
||||
add_subdirectory(menu)
|
58
src/dawn/scene/components/ui/UILabelNew.cpp
Normal file
58
src/dawn/scene/components/ui/UILabelNew.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "UILabelNew.hpp"
|
||||
#include "game/DawnGame.hpp"
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
UILabelNew::UILabelNew(SceneItem *item) : UIComponentRenderable(item) {
|
||||
|
||||
}
|
||||
|
||||
void UILabelNew::onStart() {
|
||||
std::cout << "Hello new Label" << std::endl;
|
||||
QuadMesh::initQuadMesh(&this->mesh,
|
||||
glm::vec2(0, 0), glm::vec2(0, 0),
|
||||
glm::vec2(32, 32), glm::vec2(1, 1),
|
||||
0.0f
|
||||
);
|
||||
this->shaderBuffer.init();
|
||||
}
|
||||
|
||||
std::vector<struct ShaderPassItem> UILabelNew::getUIRenderPasses() {
|
||||
auto canvas = this->getCanvas();
|
||||
auto shader = getGame()->renderManager.fontShader;
|
||||
|
||||
struct ShaderPassItem item;
|
||||
item.shader = shader;
|
||||
item.mesh = &mesh;
|
||||
item.matrixValues[shader->paramModel] = transform->getWorldTransform();
|
||||
item.parameterBuffers[shader->bufferUiCanvas] = &canvas->shaderBuffer;
|
||||
item.parameterBuffers[shader->bufferFont] = &this->shaderBuffer;
|
||||
|
||||
struct FontShaderBufferData fontData;
|
||||
fontData.fontParts[9].color = COLOR_BLUE;
|
||||
shaderBuffer.buffer(&fontData);
|
||||
|
||||
return { item };
|
||||
}
|
||||
|
||||
|
||||
float_t UILabelNew::getWidth() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
float_t UILabelNew::getHeight() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
float_t UILabelNew::getContentWidth() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
float_t UILabelNew::getContentHeight() {
|
||||
return 0;
|
||||
}
|
26
src/dawn/scene/components/ui/UILabelNew.hpp
Normal file
26
src/dawn/scene/components/ui/UILabelNew.hpp
Normal file
@ -0,0 +1,26 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "scene/components/ui/UIComponentRenderable.hpp"
|
||||
#include "display/mesh/QuadMesh.hpp"
|
||||
|
||||
namespace Dawn {
|
||||
class UILabelNew : public UIComponentRenderable {
|
||||
protected:
|
||||
Mesh mesh;
|
||||
FontShaderBuffer shaderBuffer;
|
||||
|
||||
public:
|
||||
UILabelNew(SceneItem *item);
|
||||
|
||||
void onStart() override;
|
||||
std::vector<struct ShaderPassItem> getUIRenderPasses() override;
|
||||
float_t getWidth() override;
|
||||
float_t getHeight() override;
|
||||
float_t getContentWidth() override;
|
||||
float_t getContentHeight() override;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user