first commit

This commit is contained in:
2026-06-22 11:49:35 +02:00
commit d805f2ba86
619 changed files with 126873 additions and 0 deletions

View File

@ -0,0 +1,80 @@
/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#ifndef __NSPRITE__
#define __NSPRITE__
#include "ui/ui_event_handler.h"
#include "ui/ui_item.h"
#include "core/ace.h"
#include "core/render_data.h"
#include "core/resource_factories.h"
namespace GS {
namespace S2D {
/*
@short Sprite class.
@author Emmanuel Julien (ejulien@nworks.fr)
*/
class Sprite : public Item, public ACE::Unit
{
protected:
AutoPtr <EventTable> event_table;
public:
struct RenderData
{
Render::sTexture texture;
};
enum
{
FlagFlipU = (1 << 2),
FlagFlipV = (1 << 3),
FlagBlendOpaque = (1 << 4),
FlagBlendAdditive = (1 << 5),
FlagNonSensitive = (1 << 6),
FlagResolutionInvariant = (1 << 7),
FlagTransformUV = (1 << 8),
FlagSnapToPixel = (1 << 9)
};
BitField sprite_flags;
String texture;
Vector2 uv_origin;
Matrix3 uv_matrix;
float opacity;
virtual EventTable *GetEventTable() const { return event_table; }
bool ExecCommand(ACE::Command *, float dt);
virtual void Render(Render::Renderer &, GPU::TriangleBatch * = 0);
virtual void RenderSetup(Core::ResourceFactories * = 0);
AutoPtr <RenderData> render_data;
virtual bool FromMetaTag(NML::Tag &);
virtual NML::Tag *AsMetaTag() const;
Sprite();
};
} // S2D
} // GS
#endif // __NSPRITE__