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