mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-12 01:20:13 +03:00
Should fix build.
This commit is contained in:
@@ -30,19 +30,21 @@ class EE_API UISprite : public UIWidget {
|
||||
|
||||
Graphics::Sprite* getSprite() const;
|
||||
|
||||
void setSprite( Graphics::Sprite* sprite );
|
||||
Drawable* getDrawable() const;
|
||||
|
||||
UISprite* setSprite( Graphics::Sprite* sprite );
|
||||
|
||||
Color getColor() const;
|
||||
|
||||
void setColor( const Color& color );
|
||||
UISprite* setColor( const Color& color );
|
||||
|
||||
const RenderMode& getRenderMode() const;
|
||||
|
||||
void setRenderMode( const RenderMode& render );
|
||||
UISprite* setRenderMode( const RenderMode& render );
|
||||
|
||||
const Vector2f& getAlignOffset() const;
|
||||
|
||||
void setIsSpriteOwner( const bool& dealloc );
|
||||
UISprite* setIsSpriteOwner( const bool& dealloc );
|
||||
|
||||
bool getDeallocSprite();
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <eepp/ui/uiprogressbar.hpp>
|
||||
#include <eepp/ui/uiscenenode.hpp>
|
||||
|
||||
#include <format>
|
||||
|
||||
namespace EE::UI::Tools {
|
||||
|
||||
static const auto AUDIO_PLAYER_LAYOUT = R"xml(
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <eepp/ui/uiimage.hpp>
|
||||
#include <eepp/ui/uiloader.hpp>
|
||||
#include <eepp/ui/uiscenenode.hpp>
|
||||
#include <eepp/ui/uisprite.hpp>
|
||||
#include <eepp/ui/uitextview.hpp>
|
||||
#include <eepp/window/input.hpp>
|
||||
|
||||
@@ -154,21 +155,28 @@ void UIImageViewer::loadImageAsync( std::string_view path, bool isContents, bool
|
||||
if ( format == Image::Format::Unknown )
|
||||
return;
|
||||
|
||||
Drawable* image = nullptr;
|
||||
Sprite* image = nullptr;
|
||||
|
||||
if ( mClosing )
|
||||
return;
|
||||
|
||||
if ( format != Image::Format::GIF ) {
|
||||
image = isContents
|
||||
? TextureFactory::instance()->loadFromMemory(
|
||||
reinterpret_cast<const unsigned char*>( path.c_str() ), path.size() )
|
||||
: TextureFactory::instance()->loadFromFile( path );
|
||||
auto tex = isContents ? TextureFactory::instance()->loadFromMemory(
|
||||
reinterpret_cast<const unsigned char*>( path.c_str() ),
|
||||
path.size() )
|
||||
: TextureFactory::instance()->loadFromFile( path );
|
||||
Sprite* sprite = Sprite::New();
|
||||
sprite->createStatic( tex );
|
||||
sprite->setAsTextureOwner( true );
|
||||
sprite->setAsTextureRegionOwner( true );
|
||||
image = sprite;
|
||||
} else {
|
||||
IOStream* stream = isContents
|
||||
? (IOStream*)new IOStreamMemory( path.c_str(), path.size() )
|
||||
: (IOStream*)new IOStreamFile( path );
|
||||
Sprite* sprite = Sprite::fromGif( *stream );
|
||||
sprite->setAsTextureOwner( true );
|
||||
sprite->setAsTextureRegionOwner( true );
|
||||
sprite->setAutoAnimate( false );
|
||||
image = sprite;
|
||||
delete stream;
|
||||
@@ -178,12 +186,7 @@ void UIImageViewer::loadImageAsync( std::string_view path, bool isContents, bool
|
||||
return;
|
||||
|
||||
if ( image ) {
|
||||
|
||||
if ( isContents )
|
||||
mCurFileSize = path.size();
|
||||
else
|
||||
mCurFileSize = FileSystem::fileSize( path );
|
||||
|
||||
mCurFileSize = isContents ? path.size() : FileSystem::fileSize( path );
|
||||
mCurFileType = format;
|
||||
|
||||
runOnMainThread( [this, image] {
|
||||
@@ -309,6 +312,36 @@ Uint32 UIImageViewer::onKeyDown( const KeyEvent& event ) {
|
||||
return 1;
|
||||
} else if ( event.getKeyCode() == KEY_T ) {
|
||||
resetImageView();
|
||||
} else if ( event.getKeyCode() == KEY_X ) {
|
||||
auto sprite = static_cast<Sprite*>( mImage->getDrawable() );
|
||||
auto mode = sprite->getRenderMode();
|
||||
if ( mode == RENDER_NORMAL )
|
||||
mode = RENDER_FLIPPED;
|
||||
else if ( mode == RENDER_MIRROR )
|
||||
mode = RENDER_FLIPPED_MIRRORED;
|
||||
else if ( mode == RENDER_FLIPPED_MIRRORED )
|
||||
mode = RENDER_MIRROR;
|
||||
else
|
||||
mode = RENDER_NORMAL;
|
||||
sprite->setRenderMode( mode );
|
||||
invalidateDraw();
|
||||
} else if ( event.getKeyCode() == KEY_C ) {
|
||||
auto sprite = static_cast<Sprite*>( mImage->getDrawable() );
|
||||
auto mode = sprite->getRenderMode();
|
||||
if ( mode == RENDER_NORMAL )
|
||||
mode = RENDER_MIRROR;
|
||||
else if ( mode == RENDER_FLIPPED )
|
||||
mode = RENDER_FLIPPED_MIRRORED;
|
||||
else if ( mode == RENDER_FLIPPED_MIRRORED )
|
||||
mode = RENDER_FLIPPED;
|
||||
else
|
||||
mode = RENDER_NORMAL;
|
||||
sprite->setRenderMode( mode );
|
||||
invalidateDraw();
|
||||
} else if ( event.getKeyCode() == KEY_R ) {
|
||||
mImage->setRotation( mImage->getRotation() + 90.0f );
|
||||
} else if ( event.getKeyCode() == KEY_T ) {
|
||||
resetImageView();
|
||||
}
|
||||
return UIWidget::onKeyDown( event );
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ Uint32 UISprite::deallocSprite() {
|
||||
return mNodeFlags & NODE_FLAG_FREE_USE;
|
||||
}
|
||||
|
||||
void UISprite::setSprite( Graphics::Sprite* sprite ) {
|
||||
UISprite* UISprite::setSprite( Graphics::Sprite* sprite ) {
|
||||
if ( deallocSprite() )
|
||||
eeSAFE_DELETE( mSprite );
|
||||
|
||||
@@ -45,6 +45,7 @@ void UISprite::setSprite( Graphics::Sprite* sprite ) {
|
||||
mSprite->setAutoAnimate( false );
|
||||
|
||||
updateSize();
|
||||
return this;
|
||||
}
|
||||
|
||||
void UISprite::draw() {
|
||||
@@ -104,6 +105,10 @@ Graphics::Sprite* UISprite::getSprite() const {
|
||||
return mSprite;
|
||||
}
|
||||
|
||||
Drawable* UISprite::getDrawable() const {
|
||||
return mSprite;
|
||||
}
|
||||
|
||||
Color UISprite::getColor() const {
|
||||
if ( NULL != mSprite )
|
||||
return mSprite->getColor();
|
||||
@@ -111,20 +116,22 @@ Color UISprite::getColor() const {
|
||||
return Color::White;
|
||||
}
|
||||
|
||||
void UISprite::setColor( const Color& color ) {
|
||||
UISprite* UISprite::setColor( const Color& color ) {
|
||||
if ( NULL != mSprite )
|
||||
mSprite->setColor( color );
|
||||
|
||||
setAlpha( color.a );
|
||||
return this;
|
||||
}
|
||||
|
||||
const RenderMode& UISprite::getRenderMode() const {
|
||||
return mRender;
|
||||
}
|
||||
|
||||
void UISprite::setRenderMode( const RenderMode& render ) {
|
||||
UISprite* UISprite::setRenderMode( const RenderMode& render ) {
|
||||
mRender = render;
|
||||
invalidateDraw();
|
||||
return this;
|
||||
}
|
||||
|
||||
void UISprite::updateSize() {
|
||||
@@ -180,8 +187,9 @@ const Vector2f& UISprite::getAlignOffset() const {
|
||||
return mAlignOffset;
|
||||
}
|
||||
|
||||
void UISprite::setIsSpriteOwner( const bool& dealloc ) {
|
||||
UISprite* UISprite::setIsSpriteOwner( const bool& dealloc ) {
|
||||
writeNodeFlag( NODE_FLAG_FREE_USE, dealloc ? 1 : 0 );
|
||||
return this;
|
||||
}
|
||||
|
||||
bool UISprite::getDeallocSprite() {
|
||||
|
||||
@@ -66,8 +66,6 @@ Engine::Engine() :
|
||||
Engine::~Engine() {
|
||||
GlobalBatchRenderer::destroySingleton();
|
||||
|
||||
TextureAtlasManager::destroySingleton();
|
||||
|
||||
NinePatchManager::destroySingleton();
|
||||
|
||||
Scene::SceneManager::destroySingleton();
|
||||
@@ -78,6 +76,8 @@ Engine::~Engine() {
|
||||
|
||||
FontManager::destroySingleton();
|
||||
|
||||
TextureAtlasManager::destroySingleton();
|
||||
|
||||
TextureFactory::destroySingleton();
|
||||
|
||||
Graphics::Renderer::destroySingleton();
|
||||
|
||||
Reference in New Issue
Block a user