1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-23 20:47:45 +00:00

texpart: Add missing files

This commit is contained in:
Joshua Goins 2023-10-12 21:43:49 -04:00
parent 2a7e2d9e1e
commit 678304f583
3 changed files with 58 additions and 0 deletions

11
parts/tex/CMakeLists.txt Normal file
View file

@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
# SPDX-License-Identifier: CC0-1.0
add_library(texpart STATIC)
target_sources(texpart PRIVATE
imagelabel.cpp
imagelabel.h
texpart.cpp
texpart.h)
target_link_libraries(texpart PUBLIC physis z Qt6::Core Qt6::Widgets)
target_include_directories(texpart PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

25
parts/tex/texpart.cpp Normal file
View file

@ -0,0 +1,25 @@
// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
#include "texpart.h"
#include <QVBoxLayout>
#include <physis.hpp>
TexPart::TexPart(GameData *data)
: data(data)
{
auto layout = new QVBoxLayout();
setLayout(layout);
m_label = new ImageLabel();
layout->addWidget(m_label);
}
void TexPart::load(physis_Buffer file)
{
auto tex = physis_texture_parse(file);
QImage image(tex.rgba, tex.width, tex.height, QImage::Format_RGBA8888);
m_label->setQPixmap(QPixmap::fromImage(image));
}

22
parts/tex/texpart.h Normal file
View file

@ -0,0 +1,22 @@
// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <QWidget>
#include <physis.hpp>
#include "imagelabel.h"
class TexPart : public QWidget
{
public:
explicit TexPart(GameData *data);
void load(physis_Buffer file);
private:
GameData *data = nullptr;
ImageLabel *m_label = nullptr;
};