commit x64 compilation from lulu cause the other branch dont seems to compile properly at home

This commit is contained in:
2026-07-17 16:08:20 +02:00
parent c0f3eeb00d
commit 0efa4ee6f7
625 changed files with 117283 additions and 4426 deletions

View File

@ -0,0 +1,70 @@
/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#include "picture/pict_io.h"
#include "picture/pict.h"
#include "filesystem/io_handle.h"
#include "filesystem/filesystem.h"
#include "memory/nauto_ptr.h"
#include "platform.h"
#include "log/log.h"
using namespace GS;
using namespace GS::IO;
template<> PictureIO *Singleton <PictureIO> ::i = NULL;
//------------------------------------------------------------------------------
PictureCodec *PictureIO::Codec(const char *codec_name)
{
ListForeachPtr(PictureCodec *, codec, codec_list)
if (GS::String(codec->GetName()) == GS::String(codec_name))
return codec;
return NULL;
}
bool PictureIO::RegisterCodec(PictureCodec *codec, bool verbose)
{
if (Codec(codec->GetName()))
return false;
codec_list.Add(codec);
if (verbose)
__LOG__ << "Codec '" << codec->GetName() << "' registered successfully.\n";
return true;
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
bool PictureIO::Save(const Picture &picture, const char *uri, const char *codec_name)
{
if (PictureCodec *c = Codec(codec_name))
{
AutoPtr <Handle> h(Platform::Get().io->Open(uri, ModeWrite));
if (h.IsNull())
return false;
if (!c->Save(*h, picture))
return false;
}
else
return false;
return true;
}
bool PictureIO::Load(Picture &picture, const char *uri)
{
AutoPtr <Handle> h(Platform::Get().io->Open(uri));
if (h.IsNull())
return false;
picture.name = uri;
ListForeachPtr(PictureCodec *, codec, codec_list)
if (codec->Load(*h, picture))
return true;
return false;
}
//------------------------------------------------------------------------------