1
0
Fork 0

Spectre/Display/Display: implement setIcon() with pixel array parameter.

This commit is contained in:
Henrik Hautakoski 2020-11-03 11:28:08 +01:00
parent 2be3c66a2d
commit 82add50157
2 changed files with 14 additions and 1 deletions

View file

@ -5,6 +5,7 @@
#include "DisplayMode.h" #include "DisplayMode.h"
#include "DisplayDescription.h" #include "DisplayDescription.h"
#include <Spectre/Display/GLContext.h> #include <Spectre/Display/GLContext.h>
#include <cstdint>
#include <string> #include <string>
namespace sp { namespace sp {
@ -38,6 +39,8 @@ public :
void setIcon(const std::string& filename); void setIcon(const std::string& filename);
void setIcon(unsigned int width, unsigned int height, const uint8_t *pixels);
void setDisplayMode(const DisplayMode& mode); void setDisplayMode(const DisplayMode& mode);
const DisplayMode& getDisplayMode() const; const DisplayMode& getDisplayMode() const;

View file

@ -2,6 +2,7 @@
#include <iostream> #include <iostream>
#include <Spectre/Display/Display.h> #include <Spectre/Display/Display.h>
#include <Spectre/Display/GLContext.h> #include <Spectre/Display/GLContext.h>
#include <Spectre/Graphics/Image.h>
#include <Platform/PlatformDisplay.h> #include <Platform/PlatformDisplay.h>
namespace sp { namespace sp {
@ -75,7 +76,16 @@ const std::string& Display::getCaption() const
void Display::setIcon(const std::string& filename) void Display::setIcon(const std::string& filename)
{ {
m_impl->setIcon(filename); Image img;
if (img.loadFromFile(filename)) {
setIcon(img.getWidth(), img.getHeight(), img.getPixels());
}
}
void Display::setIcon(unsigned int width, unsigned int height, const uint8_t *pixels)
{
m_impl->setIcon(width, height, pixels);
} }
void Display::setSize(unsigned int width, unsigned int height) void Display::setSize(unsigned int width, unsigned int height)